Skip to content

Commit b116b83

Browse files
authored
ContinuumArrays v0.17 (#77)
* ContinuumArrays v0.17 * fixes * Update runtests.jl
1 parent 79f0221 commit b116b83

File tree

4 files changed

+21
-24
lines changed

4 files changed

+21
-24
lines changed

Project.toml

Lines changed: 8 additions & 8 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 <solver@mac.com>"]
4-
version = "0.5.2"
4+
version = "0.5.3"
55

66
[deps]
77
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
@@ -19,13 +19,13 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1919

2020
[compat]
2121
BlockArrays = "0.16"
22-
BlockBandedMatrices = "0.11, 0.12"
23-
ClassicalOrthogonalPolynomials = "0.11"
24-
ContinuumArrays = "0.15, 0.16"
25-
DomainSets = "0.6, 0.7"
26-
FastTransforms = "0.14, 0.15"
27-
InfiniteArrays = "0.12, 0.13"
28-
IntervalSets = "0.5, 0.6, 0.7"
22+
BlockBandedMatrices = "0.12"
23+
ClassicalOrthogonalPolynomials = "0.12"
24+
ContinuumArrays = "0.17"
25+
DomainSets = "0.7"
26+
FastTransforms = "0.15"
27+
InfiniteArrays = "0.13"
28+
IntervalSets = "0.7"
2929
QuasiArrays = "0.11"
3030
SpecialFunctions = "1, 2"
3131
StaticArrays = "1"

src/HarmonicOrthogonalPolynomials.jl

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import BlockArrays: block, blockindex, unblock, BlockSlice
66
import DomainSets: indomain, Sphere
77
import LinearAlgebra: norm, factorize
88
import QuasiArrays: to_quasi_index, SubQuasiArray, *
9-
import ContinuumArrays: TransformFactorization, @simplify, ProjectionFactorization, plan_grid_transform, grid, grid_layout, plotgrid_layout, AbstractBasisLayout, MemoryLayout
9+
import ContinuumArrays: TransformFactorization, @simplify, ProjectionFactorization, plan_grid_transform, plan_transform, grid, grid_layout, plotgrid_layout, AbstractBasisLayout, MemoryLayout
1010
import ClassicalOrthogonalPolynomials: checkpoints, _sum, cardinality, increasingtruncations
1111
import BlockBandedMatrices: BlockRange1, _BandedBlockBandedMatrix
1212
import FastTransforms: Plan, interlace
@@ -123,19 +123,11 @@ RealSphericalHarmonicTransform{T}(N::Int) where T<:Real = RealSphericalHarmonicT
123123

124124

125125

126-
function plan_grid_transform(P::SphericalHarmonic, szs::Tuple{Block{1}}, dims=1:1)
127-
T = eltype(P)
128-
B = szs[1]
129-
grid(P, B), SphericalHarmonicTransform{T}(Int(B))
130-
end
131-
function plan_grid_transform(P::RealSphericalHarmonic, szs::Tuple{Block{1}}, dims=1:1)
132-
T = eltype(P)
133-
B = szs[1]
134-
grid(P, B), RealSphericalHarmonicTransform{T}(Int(B))
135-
end
126+
plan_transform(P::SphericalHarmonic{T}, (N,)::Tuple{Block{1}}, dims=1) where T = SphericalHarmonicTransform{T}(Int(N))
127+
plan_transform(P::RealSphericalHarmonic{T}, (N,)::Tuple{Block{1}}, dims=1) where T = RealSphericalHarmonicTransform{T}(Int(N))
136128

137-
plan_grid_transform(P::MultivariateOrthogonalPolynomial, Bs::NTuple{N,Int}, dims=1:N) where N =
138-
plan_grid_transform(P, findblock.(Ref(axes(P,2)), Bs), dims)
129+
grid(P::MultivariateOrthogonalPolynomial, n::Int) = grid(P, findblock(axes(P,2),n))
130+
plan_transform(P::MultivariateOrthogonalPolynomial, Bs::NTuple{N,Int}, dims=ntuple(identity,Val(N))) where N = plan_transform(P, findblock.(Ref(axes(P,2)), Bs), dims)
139131

140132
function _sum(A::AbstractSphericalHarmonic{T}, dims) where T
141133
@assert dims == 1

src/multivariateops.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ ContinuumArrays.transform_ldiv(V::SubQuasiArray{<:Any,2,<:MultivariateOrthogonal
9292
factorize(V) \ B
9393

9494
ContinuumArrays._sub_factorize(::Tuple{Any,Any}, (kr,jr)::Tuple{Any,BlockSlice{BlockRange1{OneTo{Int}}}}, L, dims...; kws...) =
95-
TransformFactorization(plan_grid_transform(parent(L), PseudoBlockArray{eltype(L)}(undef, (jr.indices, oneto.(dims)...)), 1)...)
95+
TransformFactorization(plan_grid_transform(parent(L), (last(jr.block), dims...), 1)...)
9696

9797
# function factorize(V::SubQuasiArray{<:Any,2,<:MultivariateOrthogonalPolynomial,<:Tuple{Inclusion,AbstractVector{Int}}})
9898
# P = parent(V)

test/runtests.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,15 @@ end
125125
@test c == S \ (xyz -> 1).(xyz)
126126
@test (S * c)[SphericalCoordinate(0.1,0.2)] 1
127127

128-
f = c -> ((x,y,z) = c; 1 + x + y + z)
129-
u = S * (S \ f.(xyz))
128+
f = (x,y,z) -> 1 + x + y + z
129+
c = S \ splat(f).(xyz)
130+
u = S * c
130131
p = SphericalCoordinate(0.1,0.2)
131132
@test u[p] 1+sum(p)
133+
134+
x = grid(SphericalHarmonic(), 5)
135+
P = plan_transform(SphericalHarmonic(), 5)
136+
@test P * splat(f).(x) [c; zeros(5)]
132137
end
133138

134139
@testset "adaptive" begin

0 commit comments

Comments
 (0)