Open ioannisPApapadopoulos opened 1 year ago
Are you using FastTransformsForwardDiff.jl? (This should be changed to an extension)
Ah, thanks for the pointer! I will have a look.
Unfortunately FastTransformsForwardDiff.jl
does not work either. Seem the issue is with plan_cheb2jac
ERROR: MethodError: no method matching plan_cheb2jac(::Type{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::Int64, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1})
Closest candidates are:
plan_cheb2jac(::AbstractArray{T}, ::Any...; z...) where T
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:440
plan_cheb2jac(::Type{Complex{T}}, ::Any...; z...) where T<:Real
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:441
plan_cheb2jac(::Type{Float32}, ::Integer, ::Any, ::Any; normcheb, normjac)
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:499
...
Stacktrace:
[1] plan_cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::Vararg{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}; z::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:440
[2] plan_cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:440
[3] lib_cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::Vararg{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}; z::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:442
[4] lib_cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::Vararg{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\libfasttransforms.jl:442
[5] cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::Vararg{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}; z::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\FastTransforms.jl:124
[6] cheb2jac(::Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, ::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ::Vararg{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}})
@ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\05i6T\src\FastTransforms.jl:124
[7] ldiv(P::Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, f::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, false}}})
@ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\classical\jacobi.jl:182
[8] \
@ C:\Users\john.papad\.julia\packages\QuasiArrays\V67pc\src\matmul.jl:34 [inlined]
[9] transform_ldiv_if_columns
@ C:\Users\john.papad\.julia\packages\ContinuumArrays\amUIf\src\bases\bases.jl:96 [inlined]
[10] transform_ldiv_if_columns
@ C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\ClassicalOrthogonalPolynomials.jl:100 [inlined]
[11] transform_ldiv_if_columns
@ C:\Users\john.papad\.julia\packages\ContinuumArrays\amUIf\src\bases\bases.jl:306 [inlined]
[12] copy
@ C:\Users\john.papad\.julia\packages\ContinuumArrays\amUIf\src\bases\bases.jl:307 [inlined]
[13] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.MappedOPLayout, LazyArrays.BroadcastLayout{SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[14] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.MappedOPLayout, LazyArrays.BroadcastLayout{SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[15] ldiv(A::QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, B::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98
[16] ldiv
@ C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98 [inlined]
[17] \
@ C:\Users\john.papad\.julia\packages\QuasiArrays\V67pc\src\matmul.jl:34 [inlined]
[18] _copy_ldiv_ldiv
@ C:\Users\john.papad\.julia\packages\LazyArrays\qiCq2\src\linalg\inv.jl:121 [inlined]
[19] copy
@ C:\Users\john.papad\.julia\packages\LazyArrays\qiCq2\src\linalg\inv.jl:123 [inlined]
[20] copy
@ C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\normalized.jl:128 [inlined]
[21] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.NormalizedOPLayout{ClassicalOrthogonalPolynomials.MappedOPLayout}, LazyArrays.BroadcastLayout{SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[22] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.NormalizedOPLayout{ClassicalOrthogonalPolynomials.MappedOPLayout}, LazyArrays.BroadcastLayout{SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[23] ldiv(A::Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, B::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98
[24] ldiv
@ C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98 [inlined]
[25] \
@ C:\Users\john.papad\.julia\packages\QuasiArrays\V67pc\src\matmul.jl:34 [inlined]
[26] _broadcast_mul_ldiv
@ C:\Users\john.papad\.julia\packages\ContinuumArrays\amUIf\src\bases\bases.jl:121 [inlined]
[27] copy(L::ArrayLayouts.Ldiv{ContinuumArrays.BasisLayout, LazyArrays.BroadcastLayout{typeof(*)}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, QuasiArrays.BroadcastQuasiMatrix{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, typeof(*), Tuple{QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}})
@ ContinuumArrays C:\Users\john.papad\.julia\packages\ContinuumArrays\amUIf\src\bases\bases.jl:148
[28] copy
@ C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\normalized.jl:140 [inlined]
[29] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.NormalizedOPLayout{ClassicalOrthogonalPolynomials.MappedOPLayout}, LazyArrays.BroadcastLayout{typeof(*)}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, QuasiArrays.BroadcastQuasiMatrix{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, typeof(*), Tuple{QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[30] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.NormalizedOPLayout{ClassicalOrthogonalPolynomials.MappedOPLayout}, LazyArrays.BroadcastLayout{typeof(*)}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, QuasiArrays.BroadcastQuasiMatrix{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, typeof(*), Tuple{QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:22
[31] ldiv(A::Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, B::QuasiArrays.BroadcastQuasiMatrix{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, typeof(*), Tuple{QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}}; kwds::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98
[32] ldiv
@ C:\Users\john.papad\.julia\packages\ArrayLayouts\diElB\src\ldiv.jl:98 [inlined]
[33] \
@ C:\Users\john.papad\.julia\packages\QuasiArrays\V67pc\src\matmul.jl:34 [inlined]
[34] cholesky_jacobimatrix(w::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, SemiclassicalOrthogonalPolynomials.var"#5#7"{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}}, P::Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}})
@ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\choleskyQR.jl:46
[35] cholesky_jacobimatrix(w::Function, P::Normalized{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 2, Jacobi{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, DomainSets.UnitInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, LazyArrays.Accumulate{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, 1, typeof(*), Vector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}, AbstractVector{ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}}}})
@ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\packages\ClassicalOrthogonalPolynomials\purtY\src\choleskyQR.jl:42
[36] semiclassical_jacobimatrix(t::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, a::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, b::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, c::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1})
@ SemiclassicalOrthogonalPolynomials C:\Users\john.papad\.julia\packages\SemiclassicalOrthogonalPolynomials\vZ0Lu\src\SemiclassicalOrthogonalPolynomials.jl:145
[37] SemiclassicalJacobi(t::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, a::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, b::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1}, c::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1})
@ SemiclassicalOrthogonalPolynomials C:\Users\john.papad\.julia\packages\SemiclassicalOrthogonalPolynomials\vZ0Lu\src\SemiclassicalOrthogonalPolynomials.jl:126
[38] SemiclassicalJacobi
@ C:\Users\john.papad\.julia\packages\SemiclassicalOrthogonalPolynomials\vZ0Lu\src\SemiclassicalOrthogonalPolynomials.jl:127 [inlined]
[39] (::var"#15#16")(x::ForwardDiff.Dual{ForwardDiff.Tag{var"#15#16", Float64}, Float64, 1})
@ Main c:\Users\john.papad\.julia\dev\AnnuliOrthogonalPolynomials\test\tmp_test.jl:26
[40] derivative(f::var"#15#16", x::Float64)
@ ForwardDiff C:\Users\john.papad\.julia\packages\ForwardDiff\vXysl\src\derivative.jl:14
[41] top-level scope
@ c:\Users\john.papad\.julia\dev\AnnuliOrthogonalPolynomials\test\tmp_test.jl:26
I'm on FastTransforms v0.15.6 if that would make any difference.
Is this break recent? I.e. did the recent semiclassicalops changes break it?
I don't know if we ever got around to cheb2jac
. You just need to add the overloads: FastTransformsForwardDiff.jl is only 50 lines of code so you should be able to adapt it to other transforms. There's no mathematics to work out: linear operators just apply to the real and dual operators seaprately
I think the following used to work. Any ideas @TSGut @dlfivefifty ?