-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
I assume I'm doing something wrong:
julia> S = SphericalHarmonic()
SphericalHarmonic{ComplexF64}
julia> Δ = Laplacian(axes(S, 1))
Laplacian{SphericalCoordinate{Float64}, DomainSets.FixedUnitSphere{SVector{3, Float64}}}
julia> L = S \ (Δ * S)
ERROR: ArgumentError: Cannot create infinite Array
Stacktrace:
[1] Vector{Vector{ComplexF64}}(#unused#::UndefInitializer, #unused#::Tuple{Infinities.InfiniteCardinal{0}})
@ InfiniteArrays ~/.julia/packages/InfiniteArrays/h9Ynf/src/infarrays.jl:19
[2] _BlockArray(#unused#::Type{Vector{Vector{ComplexF64}}}, baxes::Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}})
@ BlockArrays ~/.julia/packages/BlockArrays/qaMjJ/src/blockarray.jl:92
[3] macro expansion
@ ~/.julia/packages/BlockArrays/qaMjJ/src/blockarray.jl:126 [inlined]
[4] initialized_blocks_BlockArray(#unused#::Type{Vector{Vector{ComplexF64}}}, baxes::Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}})
@ BlockArrays ~/.julia/packages/BlockArrays/qaMjJ/src/blockarray.jl:124
[5] BlockArray
@ ~/.julia/packages/BlockArrays/qaMjJ/src/blockarray.jl:140 [inlined]
[6] similar
@ ~/.julia/packages/BlockArrays/qaMjJ/src/blockarray.jl:354 [inlined]
[7] similar(a::BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}, #unused#::Type{ComplexF64})
@ BlockArrays ~/.julia/packages/BlockArrays/qaMjJ/src/abstractblockarray.jl:37
[8] AbstractVector{ComplexF64}(A::BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}})
@ Base ./array.jl:541
[9] convert(#unused#::Type{AbstractVector{ComplexF64}}, a::BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}})
@ Base ./abstractarray.jl:16
[10] copy_oftype(A::BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}, #unused#::Type{ComplexF64})
@ LinearAlgebra /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/LinearAlgebra.jl:350
[11] copy(M::ArrayLayouts.Lmul{ArrayLayouts.DiagonalLayout{ArrayLayouts.OnesLayout}, ArrayLayouts.DiagonalLayout{BlockArrays.BlockLayout{LazyArrays.BroadcastLayout{Type{Fill}}, ArrayLayouts.FillLayout}}, Diagonal{ComplexF64, Ones{ComplexF64, 1, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}})
@ ArrayLayouts ~/.julia/packages/ArrayLayouts/mTQvg/src/diagonal.jl:60
[12] copy(M::ArrayLayouts.Mul{ArrayLayouts.DiagonalLayout{ArrayLayouts.OnesLayout}, ArrayLayouts.DiagonalLayout{BlockArrays.BlockLayout{LazyArrays.BroadcastLayout{Type{Fill}}, ArrayLayouts.FillLayout}}, Diagonal{ComplexF64, Ones{ComplexF64, 1, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}})
@ ArrayLayouts ~/.julia/packages/ArrayLayouts/mTQvg/src/mul.jl:108
[13] materialize(M::ArrayLayouts.Mul{ArrayLayouts.DiagonalLayout{ArrayLayouts.OnesLayout}, ArrayLayouts.DiagonalLayout{BlockArrays.BlockLayout{LazyArrays.BroadcastLayout{Type{Fill}}, ArrayLayouts.FillLayout}}, Diagonal{ComplexF64, Ones{ComplexF64, 1, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}})
@ ArrayLayouts ~/.julia/packages/ArrayLayouts/mTQvg/src/mul.jl:105
[14] mul
@ ~/.julia/packages/ArrayLayouts/mTQvg/src/mul.jl:106 [inlined]
[15] copy(M::LazyArrays.Applied{LazyArrays.MulStyle, typeof(*), Tuple{Diagonal{ComplexF64, Ones{ComplexF64, 1, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}}})
@ LazyArrays ~/.julia/packages/LazyArrays/MMaBf/src/linalg/mul.jl:13
[16] materialize
@ ~/.julia/packages/LazyArrays/MMaBf/src/lazyapplying.jl:81 [inlined]
[17] apply
@ ~/.julia/packages/LazyArrays/MMaBf/src/lazyapplying.jl:78 [inlined]
[18] _copy_ldiv_mul
@ ~/.julia/packages/LazyArrays/MMaBf/src/linalg/inv.jl:98 [inlined]
[19] copy
@ ~/.julia/packages/LazyArrays/MMaBf/src/linalg/inv.jl:100 [inlined]
[20] copy(L::ArrayLayouts.Ldiv{ContinuumArrays.BasisLayout, LazyArrays.ApplyLayout{typeof(*)}, SphericalHarmonic{ComplexF64}, ApplyQuasiMatrix{ComplexF64, typeof(*), Tuple{SphericalHarmonic{ComplexF64}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}}}})
@ ContinuumArrays ~/.julia/packages/ContinuumArrays/tg4mj/src/bases/bases.jl:201
[21] materialize
@ ~/.julia/packages/ArrayLayouts/mTQvg/src/ldiv.jl:22 [inlined]
[22] ldiv
@ ~/.julia/packages/ArrayLayouts/mTQvg/src/ldiv.jl:86 [inlined]
[23] \(A::SphericalHarmonic{ComplexF64}, B::ApplyQuasiMatrix{ComplexF64, typeof(*), Tuple{SphericalHarmonic{ComplexF64}, Diagonal{Int64, BlockVector{Int64, LazyArrays.BroadcastVector{Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Type{Fill}, Tuple{LazyArrays.BroadcastVector{Int64, typeof(-), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, LazyArrays.BroadcastVector{Int64, typeof(Base.literal_pow), Tuple{Base.RefValue{typeof(^)}, InfiniteArrays.InfUnitRange{Int64}, Base.RefValue{Val{2}}}}}}, InfiniteArrays.InfStepRange{Int64, Int64}}}, Tuple{BlockedUnitRange{ArrayLayouts.RangeCumsum{Int64, InfiniteArrays.InfStepRange{Int64, Int64}}}}}}}})
@ QuasiArrays ~/.julia/packages/QuasiArrays/bxqu9/src/matmul.jl:34
[24] top-level scope
@ REPL[45]:1
julia>
Metadata
Metadata
Assignees
Labels
No labels