Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ForwardDiff.jl Error #19

Open
ioannisPApapadopoulos opened this issue Jun 21, 2022 · 3 comments
Open

ForwardDiff.jl Error #19

ioannisPApapadopoulos opened this issue Jun 21, 2022 · 3 comments

Comments

@ioannisPApapadopoulos
Copy link
Member

ioannisPApapadopoulos commented Jun 21, 2022

Sadly I am getting the following error. I believe your PR (@dlfivefifty) dealing with this was merged, so I am not enirely sure what's going on.

ERROR: type ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2} not supported
Stacktrace:
  [1] error(s::String)
    @ Base .\error.jl:33
  [2] _fftfloat(#unused#::Type{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}})
    @ AbstractFFTs C:\Users\john.papad\.julia\packages\AbstractFFTs\Ih3rT\src\definitions.jl:22
  [3] _fftfloat(x::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2})
    @ AbstractFFTs C:\Users\john.papad\.julia\packages\AbstractFFTs\Ih3rT\src\definitions.jl:23
  [4] fftfloat(x::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2})    @ AbstractFFTs C:\Users\john.papad\.julia\packages\AbstractFFTs\Ih3rT\src\definitions.jl:18
  [5] complexfloat(x::Vector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}})
    @ AbstractFFTs C:\Users\john.papad\.julia\packages\AbstractFFTs\Ih3rT\src\definitions.jl:31
  [6] ifft(x::Vector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 
2}}, region::UnitRange{Int64}) (repeats 2 times)
    @ AbstractFFTs C:\Users\john.papad\.julia\packages\AbstractFFTs\Ih3rT\src\definitions.jl:198
  [7] *(P::FastTransforms.ChebyshevTransformPlan{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 1, Nothing, false, 1, UnitRange{Int64}}, x::Vector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}})
    @ FastTransforms C:\Users\john.papad\.julia\packages\FastTransforms\pmRGH\src\chebyshevtransform.jl:625
  [8] \(a::ContinuumArrays.TransformFactorization{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, FastTransforms.ChebyshevGrid{1, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, FastTransforms.ChebyshevTransformPlan{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 1, Nothing, false, 1, UnitRange{Int64}}, Nothing}, b::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 1, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}}, false}}})
    @ ContinuumArrays C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:199
  [9] transform_ldiv
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:260 [inlined]
 [10] transform_ldiv
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:261 [inlined]
 [11] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:269 [inlined]
 [12] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:270 [inlined]
 [13] copy
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:271 [inlined]
 [14] materialize
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:22 [inlined]
 [15] ldiv
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:86 [inlined]
 [16] \
    @ C:\Users\john.papad\.julia\packages\QuasiArrays\NvVKZ\src\matmul.jl:34 [inlined]
 [17] adaptivetransform_ldiv(A::ClassicalOrthogonalPolynomials.ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, f::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 1, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}}, false}}})
    @ ClassicalOrthogonalPolynomials C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\adaptivetransform.jl:28
 [18] transform_ldiv
    @ C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\adaptivetransform.jl:1 [inlined]
 [19] transform_ldiv
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:261 [inlined]
 [20] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:269 [inlined]
 [21] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:270 [inlined]
 [22] copy
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:271 [inlined]
 [23] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.OPLayout, LazyArrays.BroadcastLayout{EquilibriumMeasures.DFunction}, ClassicalOrthogonalPolynomials.ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 1, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}}, false}}}})
    @ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:22
 [24] ldiv
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:86 [inlined]
 [25] \
    @ C:\Users\john.papad\.julia\packages\QuasiArrays\NvVKZ\src\matmul.jl:34 [inlined]
 [26] transform_ldiv_if_columns(P::ArrayLayouts.Ldiv{ContinuumArrays.MappedBasisLayout, LazyArrays.BroadcastLayout{EquilibriumMeasures.DFunction}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 2, ClassicalOrthogonalPolynomials.ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, DomainSets.ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}}}, #unused#::Base.OneTo{Int64})
    @ ContinuumArrays C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:90
 [27] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\dev\ClassicalOrthogonalPolynomials\src\ClassicalOrthogonalPolynomials.jl:102 [inlined]
 [28] transform_ldiv_if_columns
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:270 [inlined]
 [29] copy
    @ C:\Users\john.papad\.julia\packages\ContinuumArrays\PJVaN\src\bases\bases.jl:271 [inlined]
 [30] materialize(M::ArrayLayouts.Ldiv{ClassicalOrthogonalPolynomials.MappedOPLayout, LazyArrays.BroadcastLayout{EquilibriumMeasures.DFunction}, QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 2, ClassicalOrthogonalPolynomials.ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, DomainSets.ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}}, 
Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}}})
    @ ArrayLayouts C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:22
 [31] ldiv
    @ C:\Users\john.papad\.julia\packages\ArrayLayouts\CV0IA\src\ldiv.jl:86 [inlined]
 [32] \(A::QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, 2, ClassicalOrthogonalPolynomials.ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}, QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, DomainSets.ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false}, B::QuasiArrays.BroadcastQuasiVector{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, EquilibriumMeasures.DFunction, Tuple{QuasiArrays.Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}}}}})        
    @ QuasiArrays C:\Users\john.papad\.julia\packages\QuasiArrays\NvVKZ\src\matmul.jl:34
 [33] _equilibriummeasure(V::Function, ab::SVector{2, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}})
    @ EquilibriumMeasures C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:27
 [34] (::EquilibriumMeasures.EquilibriumMeasureMoment)(a::SVector{2, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasures.EquilibriumMeasureMoment, Int64}, Int64, 2}})
    @ EquilibriumMeasures C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:78
 [35] static_dual_eval
    @ C:\Users\john.papad\.julia\packages\ForwardDiff\DHWMq\src\apiutils.jl:32 [inlined]
 [36] vector_mode_jacobian
    @ C:\Users\john.papad\.julia\packages\ForwardDiff\DHWMq\src\jacobian.jl:185 [inlined]
 [37] jacobian(f::EquilibriumMeasures.EquilibriumMeasureMoment, x::SVector{2, Int64})
    @ ForwardDiff C:\Users\john.papad\.julia\packages\ForwardDiff\DHWMq\src\jacobian.jl:85
 [38] deflate_equilibriummeasure(μ::EquilibriumMeasures.EquilibriumMeasureMoment, a::SVector{2, Int64}, maxiterations::Int64, knownsolutions::Vector{Any}, power::Int64, shift::Float64, dampening::Float64, returnendpoint::Bool)        
    @ EquilibriumMeasures C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:87
 [39] #equilibriummeasure#1
    @ C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:82 [inlined]
 [40] top-level scope
    @ c:\Users\john.papad\.julia\dev\EquilibriumMeasures\examples\non-unique-equilibrium-measure.jl:15
@dlfivefifty
Copy link
Member

Think you have to be in this branch:

JuliaDiff/ForwardDiff.jl#541

@ioannisPApapadopoulos
Copy link
Member Author

The PR removes the previous issue, but now I have a different issue. ForwardDiff seems to be struggling with differentiating the line EquilibriumMeasures.jl:26 which is D = Ũ \ (Derivative(axes(T̃,1)) * T̃)

jacobian(μ, ic)
ERROR: MethodError: no method matching Int64(::InfiniteCardinal{0})
Closest candidates are:
  (::Type{T})(::T) where T<:Number at boot.jl:760
  (::Type{T})(::AbstractChar) where T<:Union{AbstractChar, Number} at char.jl:50
  (::Type{T})(::BigInt) where T<:Union{Int128, Int16, Int32, Int64, Int8} at gmp.jl:356
  ...
Stacktrace:
  [1] convert(#unused#::Type{Int64}, x::InfiniteCardinal{0})
    @ Base .\number.jl:7
  [2] StepRangeLen{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}(ref::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, step::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, len::InfiniteCardinal{0}, offset::Int64)
    @ Base .\range.jl:365
  [3] StepRangeLen{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}(ref::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, step::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, len::InfiniteCardinal{0})
    @ Base .\range.jl:360
  [4] _rangestyle(#unused#::Base.Ordered, #unused#::Base.ArithmeticRounds, a::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, step::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, len::InfiniteCardinal{0})
    @ Base .\range.jl:120
  [5] _range(a::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, step::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, #unused#::Nothing, len::InfiniteCardinal{0})    
    @ Base .\range.jl:116
  [6] range(start::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}; length::InfiniteCardinal{0}, stop::Nothing, step::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})  
    @ Base .\range.jl:91
  [7] broadcasted(#unused#::Base.Broadcast.DefaultArrayStyle{1}, #unused#::typeof(*), r::InfiniteArrays.InfStepRange{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}, x::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})
    @ Base.Broadcast .\broadcast.jl:1140
  [8] broadcast(::Base.Broadcast.DefaultArrayStyle{1}, ::Function, ::InfiniteArrays.InfStepRange{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}, ::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})      
    @ Base.Broadcast .\broadcast.jl:821
  [9] broadcasted(#unused#::LazyArrays.LazyArrayStyle{1}, #unused#::typeof(*), r::InfiniteArrays.InfStepRange{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}, x::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})
    @ LazyArrays C:\Users\john.papad\.julia\packages\LazyArrays\4XsdP\src\lazybroadcasting.jl:145
 [10] broadcasted
    @ .\broadcast.jl:1315 [inlined]
 [11] broadcast(::typeof(*), ::InfiniteArrays.InfStepRange{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}, ::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})
    @ Base.Broadcast .\broadcast.jl:821
 [12] broadcasted(#unused#::LazyArrays.LazyArrayStyle{2}, f::Function, r::LinearAlgebra.Adjoint{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, InfiniteArrays.InfStepRange{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}}, a::ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2})
    @ InfiniteArrays C:\Users\john.papad\.julia\packages\InfiniteArrays\6TZoF\src\infrange.jl:482
 [13] broadcasted
    @ .\broadcast.jl:1315 [inlined]
 [14] _banded_broadcast
    @ C:\Users\john.papad\.julia\packages\BandedMatrices\2lafE\src\generic\broadcast.jl:704 [inlined]
 [15] copy
    @ C:\Users\john.papad\.julia\packages\BandedMatrices\2lafE\src\generic\broadcast.jl:718 [inlined]
 [16] materialize
    @ .\broadcast.jl:883 [inlined]
 [17] broadcast_preserving_zero_d
    @ .\broadcast.jl:872 [inlined]
 [18] *
    @ .\arraymath.jl:55 [inlined]
 [19] _rmul_scal_reduce
    @ C:\Users\john.papad\.julia\packages\QuasiArrays\Zbf1n\src\matmul.jl:124 [inlined]
 [20] *
    @ C:\Users\john.papad\.julia\packages\QuasiArrays\Zbf1n\src\matmul.jl:136 [inlined]
 [21] *
    @ .\operators.jl:560 [inlined]
 [22] mul(A::Derivative{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}}, B::QuasiArrays.SubQuasiArray{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, 2, ChebyshevT{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}, Tuple{ContinuumArrays.AffineMap{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, IntervalSets.ClosedInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}}, Inclusion{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}, ChebyshevInterval{ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}}}}, Base.Slice{InfiniteArrays.OneToInf{Int64}}}, false})
    @ ContinuumArrays C:\Users\john.papad\.julia\packages\ContinuumArrays\iOVnZ\src\bases\bases.jl:427
 [23] *
    @ C:\Users\john.papad\.julia\packages\QuasiArrays\Zbf1n\src\matmul.jl:23 [inlined]
 [24] _equilibriummeasure(V::Function, ab::SVector{2, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}})
    @ EquilibriumMeasures C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:26
 [25] (::EquilibriumMeasureMoment)(a::SVector{2, ForwardDiff.Dual{ForwardDiff.Tag{EquilibriumMeasureMoment, Float64}, Float64, 2}})
    @ EquilibriumMeasures C:\Users\john.papad\.julia\dev\EquilibriumMeasures\src\EquilibriumMeasures.jl:79
 [26] static_dual_eval
    @ C:\Users\john.papad\.julia\packages\ForwardDiff\BnOh8\src\apiutils.jl:32 [inlined]
 [27] vector_mode_jacobian
    @ C:\Users\john.papad\.julia\packages\ForwardDiff\BnOh8\src\jacobian.jl:181 [inlined]
 [28] jacobian(f::EquilibriumMeasureMoment, x::SVector{2, Float64})
    @ ForwardDiff C:\Users\john.papad\.julia\packages\ForwardDiff\BnOh8\src\jacobian.jl:85
 [29] top-level scope
    @ REPL[55]:1

@dlfivefifty
Copy link
Member

I've just moved the code to a new package: https://github.com/JuliaApproximation/FastTransformsForwardDiff.jl

I'll tag it soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants