Skip to content

Commit a8eee56

Browse files
committed
ContinuumArray 0.19
1 parent 79edafa commit a8eee56

File tree

3 files changed

+5
-58
lines changed

3 files changed

+5
-58
lines changed

Project.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "HarmonicOrthogonalPolynomials"
22
uuid = "e416a80e-9640-42f3-8df8-80a93ca01ea5"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "0.6.3"
4+
version = "0.7"
55

66
[deps]
77
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
@@ -20,13 +20,13 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
2020
[compat]
2121
BlockArrays = "1.0"
2222
BlockBandedMatrices = "0.13"
23-
ClassicalOrthogonalPolynomials = "0.13, 0.14"
24-
ContinuumArrays = "0.18"
23+
ClassicalOrthogonalPolynomials = "0.15"
24+
ContinuumArrays = "0.19"
2525
DomainSets = "0.7"
2626
FastTransforms = "0.15, 0.16, 0.17"
2727
InfiniteArrays = "0.14, 0.15"
2828
IntervalSets = "0.7"
29-
QuasiArrays = "0.11"
29+
QuasiArrays = "0.12"
3030
SpecialFunctions = "1, 2"
3131
StaticArrays = "1"
3232
julia = "1.10"

src/laplace.jl

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,4 @@
1-
# Laplacian
2-
3-
struct Laplacian{T,D} <: LazyQuasiMatrix{T}
4-
axis::Inclusion{T,D}
5-
end
6-
7-
Laplacian{T}(axis::Inclusion{<:Any,D}) where {T,D} = Laplacian{T,D}(axis)
8-
# Laplacian{T}(domain) where T = Laplacian{T}(Inclusion(domain))
9-
# Laplacian(axis) = Laplacian{eltype(axis)}(axis)
10-
11-
axes(D::Laplacian) = (D.axis, D.axis)
12-
==(a::Laplacian, b::Laplacian) = a.axis == b.axis
13-
copy(D::Laplacian) = Laplacian(copy(D.axis))
14-
15-
@simplify function *::Laplacian, P::AbstractSphericalHarmonic)
1+
function laplacian(P::AbstractSphericalHarmonic; dims...)
162
# Spherical harmonics are the eigenfunctions of the Laplace operator on the unit sphere
173
P * Diagonal(mortar(Fill.((-(0:∞)-(0:∞).^2), 1:2:∞)))
184
end
19-
20-
# Negative fractional Laplacian (-Δ)^α or equiv. abs(Δ)^α
21-
22-
struct AbsLaplacianPower{T,D,A} <: LazyQuasiMatrix{T}
23-
axis::Inclusion{T,D}
24-
α::A
25-
end
26-
27-
AbsLaplacianPower{T}(axis::Inclusion{<:Any,D},α) where {T,D} = AbsLaplacianPower{T,D,typeof(α)}(axis,α)
28-
29-
axes(D:: AbsLaplacianPower) = (D.axis, D.axis)
30-
==(a:: AbsLaplacianPower, b:: AbsLaplacianPower) = a.axis == b.axis && a.α == b.α
31-
copy(D:: AbsLaplacianPower) = AbsLaplacianPower(copy(D.axis), D.α)
32-
33-
abs::Laplacian) = AbsLaplacianPower(axes(Δ,1),1)
34-
-::Laplacian) = abs(Δ)
35-
36-
^(D::AbsLaplacianPower, k) = AbsLaplacianPower(D.axis, D.α*k)

src/multivariateops.jl

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,3 @@
1-
2-
#########
3-
# PartialDerivative{k}
4-
# takes a partial derivative in the k-th index.
5-
#########
6-
7-
8-
struct PartialDerivative{k,T,Ax<:Inclusion} <: LazyQuasiMatrix{T}
9-
axis::Ax
10-
end
11-
12-
PartialDerivative{k,T}(axis::Inclusion) where {k,T} = PartialDerivative{k,T,typeof(axis)}(axis)
13-
PartialDerivative{k,T}(domain) where {k,T} = PartialDerivative{k,T}(Inclusion(domain))
14-
PartialDerivative{k}(axis) where k = PartialDerivative{k,eltype(eltype(axis))}(axis)
15-
16-
axes(D::PartialDerivative) = (D.axis, D.axis)
17-
==(a::PartialDerivative{k}, b::PartialDerivative{k}) where k = a.axis == b.axis
18-
copy(D::PartialDerivative{k}) where k = PartialDerivative{k}(copy(D.axis))
19-
20-
^(D::PartialDerivative, k::Integer) = ApplyQuasiArray(^, D, k)
21-
221
abstract type MultivariateOrthogonalPolynomial{d,T} <: Basis{T} end
232
const BivariateOrthogonalPolynomial{T} = MultivariateOrthogonalPolynomial{2,T}
243

0 commit comments

Comments
 (0)