JuliaApproximation / SemiclassicalOrthogonalPolynomials.jl

A Julia repository for semiclassical orthogonal polynomials
MIT License
7 stars 3 forks source link

Instability for large c #68

Closed ioannisPApapadopoulos closed 4 months ago

ioannisPApapadopoulos commented 1 year ago

@TSGut @dlfivefifty @MikaelSlevinsky I am witnessing instability in the lowering/raising when considering Semiclassical Jacobi with a large c parameter.

E.g. the following works: ρ=0.02; t=inv(1-ρ^2);c = 5; SemiclassicalJacobi(t, 1, 1, c) \ SemiclassicalJacobi(t, 0, 1, c)

But the following fails (error given at the end):

ρ=0.02; t=inv(1-ρ^2);c = 100; SemiclassicalJacobi(t, 1, 1, c) \ SemiclassicalJacobi(t, 0, 1, c) The reason I care is because I use these raising/lowering for the raising/lowering in annuli OPs. I have 3 questions

1) Should we fix this? Or.. 2) Are we planning on changing the whole interface for the raising/lowering and I should just wait, Or.. 3) Should I be implementing the raising/lowering of the annuli OPs directly (via QR/Cholesky) and not be going via the semiclassical Jacobi?

Simply switching to BigFloat currently has its own issues. But maybe 4.

4) Get the BigFloat implementation working.

julia> ρ=0.02; t=inv(1-ρ^2);c = 100; SemiclassicalJacobi(t, 1, 1, c) \ SemiclassicalJacobi(t, 0, 1, c)
ℵ₀×ℵ₀ LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}} with indices OneToInf()×OneToInf():
Error showing value of type LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}}:
ERROR: DomainError with -0.21345642430725015:
sqrt will only return a complex result if called with a complex argument. Try sqrt(Complex(x)).
Stacktrace:
  [1] throw_complex_domainerror(f::Symbol, x::Float64)
    @ Base.Math .\math.jl:33
  [2] sqrt(x::Float64)
    @ Base.Math .\math.jl:567
  [3] lanczos!(Ns::UnitRange{Int64}, X::LazyBandedMatrices.SymTridiagonal{Float64, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, FillArrays.Fill{Float64, 1, Tuple{InfiniteArrays.OneToInf{Int64}}}}}, Float64}}}}, LazyArrays.BroadcastVector{Float64, typeof(sqrt), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(/), 
Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}}}}}}}}, W::LazyArrays.ApplyArray{Float64, 2, typeof(*), Tuple{Diagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(\), Tuple{LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}, FillArrays.Ones{Float64, 1, Tuple{InfiniteArrays.OneToInf{Int64}}}}}, LazyArrays.Accumulate{Float64, 
1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}}, ClassicalOrthogonalPolynomials.Clenshaw{Float64, Vector{Float64}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, 
LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}}}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(+), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}}}}}, LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, 
typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfUnitRange{Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, LazyBandedMatrices.SymTridiagonal{Float64, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, FillArrays.Fill{Float64, 1, Tuple{InfiniteArrays.OneToInf{Int64}}}}}, Float64}}}}, LazyArrays.BroadcastVector{Float64, typeof(sqrt), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Int64, Int64}, InfiniteArrays.InfStepRange{Float64, Float64}}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{InfiniteArrays.InfStepRange{Float64, Float64}, InfiniteArrays.InfStepRange{Float64, Float64}}}}}, Float64}}}}}}}}}}}}, 
γ::LazyArrays.CachedArray{Float64, 1, Vector{Float64}, FillArrays.Zeros{Float64, 1, Tuple{InfiniteArrays.OneToInf{Int64}}}}, β::LazyArrays.CachedArray{Float64, 1, Vector{Float64}, FillArrays.Zeros{Float64, 1, Tuple{InfiniteArrays.OneToInf{Int64}}}}, R::UpperTriangular{Float64, LazyArrays.CachedArray{Float64, 2, Matrix{Float64}, FillArrays.Zeros{Float64, 2, Tuple{InfiniteArrays.OneToInf{Int64}, InfiniteArrays.OneToInf{Int64}}}}})
    @ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\lanczos.jl:19
  [4] resizedata!(L::ClassicalOrthogonalPolynomials.LanczosData{Float64}, N::Int64)
    @ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\lanczos.jl:62
  [5] resizedata!
    @ C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\lanczos.jl:132 [inlined]
  [6] _lanczos_getindex
    @ C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\lanczos.jl:137 [inlined]
  [7] getindex
    @ C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\lanczos.jl:145 [inlined]
  [8] getindex
    @ .\subarray.jl:276 [inlined]
  [9] _broadcast_getindex
    @ .\broadcast.jl:636 [inlined]
 [10] _getindex (repeats 4 times)
    @ .\broadcast.jl:666 [inlined]
 [11] _broadcast_getindex
    @ .\broadcast.jl:642 [inlined]
--- the last 2 lines are repeated 1 more time ---
 [14] _getindex
    @ .\broadcast.jl:667 [inlined]
 [15] _broadcast_getindex
    @ .\broadcast.jl:642 [inlined]
 [16] getindex
    @ .\broadcast.jl:597 [inlined]
 [17] macro expansion
    @ .\broadcast.jl:961 [inlined]
 [18] macro expansion
    @ .\simdloop.jl:77 [inlined]
 [19] copyto!
    @ .\broadcast.jl:960 [inlined]
 [20] copyto!
    @ .\broadcast.jl:913 [inlined]
 [21] materialize!
    @ .\broadcast.jl:871 [inlined]
 [22] materialize!(dest::SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, bc::Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Nothing, typeof(/), Tuple{Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Nothing, SemiclassicalOrthogonalPolynomials.var"#1#3", Tuple{SubArray{Float64, 1, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}, Tuple{UnitRange{Int64}}, false}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{UnitRange{Int64}}, false}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{UnitRange{Int64}}, false}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{UnitRange{Int64}}, false}, SubArray{Float64, 1, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Tuple{UnitRange{Int64}}, true}}}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{UnitRange{Int64}}, false}}}}})
    @ Base.Broadcast .\broadcast.jl:868
 [23] _copyto!(#unused#::ArrayLayouts.DenseColumnMajor, #unused#::LazyArrays.BroadcastLayout{typeof(sqrt)}, dest::SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, bc::SubArray{Float64, 1, LazyArrays.BroadcastVector{Float64, typeof(sqrt), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, SemiclassicalOrthogonalPolynomials.var"#1#3", Tuple{OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{InfiniteArrays.InfUnitRange{Int64}}, false}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}}}}}, Tuple{UnitRange{Int64}}, false})
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\lazybroadcasting.jl:23
 [24] _copyto!
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\4IG3b\src\ArrayLayouts.jl:234 [inlined]
 [25] copyto!(dest::SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, src::SubArray{Float64, 1, LazyArrays.BroadcastVector{Float64, typeof(sqrt), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, SemiclassicalOrthogonalPolynomials.var"#1#3", Tuple{OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{InfiniteArrays.InfUnitRange{Int64}}, false}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}}}}}, Tuple{UnitRange{Int64}}, false})
    @ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\4IG3b\src\ArrayLayouts.jl:243
 [26] vcat_copyto!(::SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, ::FillArrays.Fill{Float64, 1, Tuple{OneTo{Int64}}}, ::Vararg{Any})
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\lazyconcat.jl:268
 [27] _copyto!
    @ C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\lazyconcat.jl:237 [inlined]
 [28] _copyto!
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\4IG3b\src\ArrayLayouts.jl:234 [inlined]
 [29] copyto!(dest::SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}, src::SubArray{Float64, 1, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(sqrt), Tuple{LazyArrays.BroadcastVector{Float64, typeof(/), Tuple{LazyArrays.BroadcastVector{Float64, SemiclassicalOrthogonalPolynomials.var"#1#3", Tuple{OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, SubArray{Float64, 1, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, Tuple{InfiniteArrays.InfUnitRange{Int64}}, false}, LazyArrays.ApplyArray{Float64, 1, typeof(vcat), Tuple{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}}}, ClassicalOrthogonalPolynomials.LanczosJacobiBand{Float64}}}}}}}, Tuple{UnitRange{Int64}}, true})  
    @ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\4IG3b\src\ArrayLayouts.jl:243
 [30] cache_filldata!(K::LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}, inds::UnitRange{Int64})
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\lazyoperations.jl:443
 [31] _vec_resizedata!(B::LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}, n::Int64)
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\cache.jl:158
 [32] resizedata!
    @ C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\cache.jl:166 [inlined]
 [33] resizedata!
    @ C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\cache.jl:138 [inlined]
 [34] getindex(A::LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}, I::CartesianIndex{1})
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\cache.jl:125
 [35] _broadcast_getindex
    @ .\broadcast.jl:623 [inlined]
 [36] _getindex
    @ .\broadcast.jl:667 [inlined]
 [37] _getindex
    @ .\broadcast.jl:666 [inlined]
 [38] _broadcast_getindex
    @ .\broadcast.jl:642 [inlined]
--- the last 2 lines are repeated 1 more time ---
 [41] _getindex
    @ .\broadcast.jl:666 [inlined]
 [42] _broadcast_getindex(bc::Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Tuple{InfiniteArrays.OneToInf{Int64}}, typeof(*), Tuple{Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Nothing, typeof(*), Tuple{Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1}, Nothing, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, I::Int64)
    @ Base.Broadcast .\broadcast.jl:642
 [43] getindex
    @ .\broadcast.jl:597 [inlined]
 [44] getindex
    @ C:\Users\john.papad\.julia\packages\LazyArrays\NYra8\src\lazybroadcasting.jl:88 [inlined]
 [45] getindex(A::LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}}, i::Int64, j::Int64)
    @ LazyBandedMatrices C:\Users\john.papad\.julia\packages\LazyBandedMatrices\WrTjE\src\bidiag.jl:116
 [46] isassigned(::LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}}, ::Int64, ::Int64)
    @ Base .\abstractarray.jl:553
 [47] alignment(io::IOContext{Base.TTY}, X::AbstractVecOrMat, rows::Vector{Int64}, cols::Vector{Int64}, cols_if_complete::Int64, cols_otherwise::Int64, sep::Int64)
    @ Base .\arrayshow.jl:67
 [48] _print_matrix(io::IOContext{Base.TTY}, X::AbstractVecOrMat, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64, rowsA::InfiniteArrays.InfUnitRange{Int64}, colsA::InfiniteArrays.InfUnitRange{Int64})
    @ Base .\arrayshow.jl:204
 [49] print_matrix(io::IOContext{Base.TTY}, X::LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}}, pre::String, sep::String, post::String, hdots::String, vdots::String, ddots::String, hmod::Int64, vmod::Int64) (repeats 2 times)
    @ Base .\arrayshow.jl:169
 [50] print_array
    @ .\arrayshow.jl:355 [inlined]
 [51] show(io::IOContext{Base.TTY}, #unused#::MIME{Symbol("text/plain")}, X::LazyBandedMatrices.Bidiagonal{Float64, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, Float64}}, Float64}}, LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(-), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{LazyArrays.BroadcastVector{Float64, typeof(*), Tuple{Float64, LazyArrays.Accumulate{Float64, 1, typeof(*), Vector{Float64}, AbstractVector{Float64}}}}, OrthogonalPolynomialRatio{Float64, SemiclassicalJacobi{Float64}}}}}}, Float64}}, Float64}}})
    @ Base .\arrayshow.jl:396
 [52] (::REPL.var"#43#44"{REPL.REPLDisplay{REPL.LineEditREPL}, MIME{Symbol("text/plain")}, Base.RefValue{Any}})(io::Any)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:266
 [53] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:510
 [54] display(d::REPL.REPLDisplay, mime::MIME{Symbol("text/plain")}, x::Any)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:259
 [55] display(d::REPL.REPLDisplay, x::Any)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:271
 [56] display(x::Any)
    @ Base.Multimedia .\multimedia.jl:328
 [57] #invokelatest#2
    @ .\essentials.jl:716 [inlined]
 [58] invokelatest
    @ .\essentials.jl:714 [inlined]
 [59] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:293
 [60] (::REPL.var"#45#46"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:277
 [61] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:510
 [62] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:275
 [63] (::REPL.var"#do_respond#66"{Bool, Bool, REPL.var"#77#87"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:846
 [64] (::VSCodeServer.var"#98#101"{REPL.var"#do_respond#66"{Bool, Bool, REPL.var"#77#87"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt}})(mi::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ VSCodeServer c:\Users\john.papad\.vscode\extensions\julialang.language-julia-1.38.2\scripts\packages\VSCodeServer\src\repl.jl:122
 [65] #invokelatest#2
    @ .\essentials.jl:716 [inlined]
 [66] invokelatest
    @ .\essentials.jl:714 [inlined]
 [67] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\LineEdit.jl:2493
 [68] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL C:\Users\john.papad\AppData\Local\Programs\Julia-1.7.3\share\julia\stdlib\v1.7\REPL\src\REPL.jl:1232
TSGut commented 4 months ago

Ok I will assume this was indeed fixed back then. Let me know if the issues persisted.