Open
Description
julia> IIF.solveGraphParametric!(dfg; init=false, options)
ERROR: MethodError: no method matching eigen!(::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}; permute=true, scale=true, sortby=LinearAlgebra.eigsortby)
Closest candidates are:
eigen!(::SymTridiagonal{var"#s884", V} where {var"#s884"<:Union{Float32, Float64}, V<:AbstractVector{var"#s884"}}) at /usr/local/share/julia-1.8.0/share/julia/stdlib/v1.8/LinearAlgebra/src/tridiag.jl:283 got unsupported keyword arguments "permute", "scale", "sortby"
eigen!(::SymTridiagonal{var"#s884", V} where {var"#s884"<:Union{Float32, Float64}, V<:AbstractVector{var"#s884"}}, ::UnitRange) at /usr/local/share/julia-1.8.0/share/julia/stdlib/v1.8/LinearAlgebra/src/tridiag.jl:286 got unsupported keyword arguments "permute", "scale", "sortby"
eigen!(::SymTridiagonal{var"#s884", V} where {var"#s884"<:Union{Float32, Float64}, V<:AbstractVector{var"#s884"}}, ::Real, ::Real) at /usr/local/share/julia-1.8.0/share/julia/stdlib/v1.8/LinearAlgebra/src/tridiag.jl:291 got unsupported keyword arguments "permute", "scale", "sortby"
...
Stacktrace:
[1] eigen(A::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}; permute::Bool, scale::Bool, sortby::typeof(LinearAlgebra.eigsortby))
@ LinearAlgebra /usr/local/share/julia-1.8.0/share/julia/stdlib/v1.8/LinearAlgebra/src/eigen.jl:238
[2] eigen
@ /usr/local/share/julia-1.8.0/share/julia/stdlib/v1.8/LinearAlgebra/src/eigen.jl:235 [inlined]
[3] #eigen_safe#1
@ ~/.julia/packages/Manifolds/Dypjk/src/utils.jl:53 [inlined]
[4] eigen_safe
@ ~/.julia/packages/Manifolds/Dypjk/src/utils.jl:53 [inlined]
[5] log!(M::Rotations{3}, X::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, p::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, q::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}})
@ Manifolds ~/.julia/packages/Manifolds/Dypjk/src/manifolds/GeneralUnitaryMatrices.jl:560
[6] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/exp_log_geo.jl:143 [inlined]
[7] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:308 [inlined]
[8] log (repeats 3 times)
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:282 [inlined]
[9] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:275 [inlined]
[10] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:291 [inlined]
[11] log(t::ManifoldsBase.TraitList{IsGroupManifold{MultiplicationOperation}, ManifoldsBase.TraitList{ManifoldsBase.IsExplicitDecorator, ManifoldsBase.EmptyTrait}}, M::SpecialOrthogonal{3}, p::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, q::Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}})
@ ManifoldsBase ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:282
[12] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:275 [inlined]
[13] map (repeats 2 times)
@ ./tuple.jl:266 [inlined]
[14] log(M::ProductManifold{ℝ, Tuple{TranslationGroup{Tuple{3}, ℝ}, SpecialOrthogonal{3}}}, p::ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}, q::ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}})
@ Manifolds ~/.julia/packages/Manifolds/Dypjk/src/manifolds/ProductManifold.jl:792
[15] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:291 [inlined]
[16] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:282 [inlined]
[17] log
@ ~/.julia/packages/ManifoldsBase/YRaAP/src/nested_trait.jl:275 [inlined]
[18] WARNING: both Interpolations and Distributions export "scale"; uses of it in module IncrementalInference must be qualified
WARNING: both ApproxManifoldProducts and TransformUtils export "rotate!"; uses of it in module RoME must be qualified
WARNING: both Distributions and IncrementalInference export "scale"; uses of it in module RoME must be qualified
(::CalcFactor{Pose3Pose3{FullNormal}, Nothing, Nothing, Nothing, Nothing})(X::ArrayPartition{Float64, Tuple{Vector{Float64}, Matrix{Float64}}}, p::ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}, q::ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}})
@ RoME ~/.julia/packages/RoME/FrIRp/src/factors/Pose3Pose3.jl:23
[19] (::IncrementalInference.CalcFactorMahalanobis{1, 6, 36, Nothing})(::ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}, ::Vararg{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}})
@ IncrementalInference ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:183
[20] cost_cfp(cfp::IncrementalInference.CalcFactorMahalanobis, p::AbstractArray, vi::Tuple{Int64, Int64})
@ IncrementalInference ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:354
[21] (::IncrementalInference.var"#474#475"{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}}}}, OrderedCollections.OrderedDict{Symbol, Tuple{Int64, Vararg{Int64}}}})(::Pair{Symbol, IncrementalInference.CalcFactorMahalanobis{1, 6, 36, Nothing}})
@ IncrementalInference ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:396
[22] MappingRF
@ ./reduce.jl:95 [inlined]
[23] _foldl_impl(op::Base.MappingRF{IncrementalInference.var"#474#475"{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}}}}, OrderedCollections.OrderedDict{Symbol, Tuple{Int64, Vararg{Int64}}}}, Base.BottomRF{typeof(+)}}, init::Base._InitialValue, itr::OrderedCollections.OrderedDict{Symbol, IncrementalInference.CalcFactorMahalanobis})
@ Base ./reduce.jl:62
[24] foldl_impl
@ ./reduce.jl:48 [inlined]
[25] mapfoldl_impl(f::IncrementalInference.var"#474#475"{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ArrayPartition{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}, Matrix{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}}}}}, OrderedCollections.OrderedDict{Symbol, Tuple{Int64, Vararg{Int64}}}}, op::typeof(+), nt::Base._InitialValue, itr::OrderedCollections.OrderedDict{Symbol, IncrementalInference.CalcFactorMahalanobis})
@ Base ./reduce.jl:44
[26] mapfoldl(f::Function, op::Function, itr::OrderedCollections.OrderedDict{Symbol, IncrementalInference.CalcFactorMahalanobis}; init::Base._InitialValue)
@ Base ./reduce.jl:162
[27] mapfoldl
@ ./reduce.jl:162 [inlined]
[28] #mapreduce#262
@ ./reduce.jl:294 [inlined]
[29] mapreduce
@ ./reduce.jl:294 [inlined]
[30] (::IncrementalInference.GraphSolveContainer)(Xc::Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}})
@ IncrementalInference ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:392
[31] chunk_mode_gradient!(result::DiffResults.MutableDiffResult{1, Float64, Tuple{Vector{Float64}}}, f::IncrementalInference.GraphSolveContainer, x::Vector{Float64}, cfg::ForwardDiff.GradientConfig{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12, Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}})
@ ForwardDiff ~/.julia/packages/ForwardDiff/pDtsf/src/gradient.jl:150
[32] gradient!
@ ~/.julia/packages/ForwardDiff/pDtsf/src/gradient.jl:39 [inlined]
[33] gradient!
@ ~/.julia/packages/ForwardDiff/pDtsf/src/gradient.jl:35 [inlined]
[34] (::NLSolversBase.var"#42#48"{IncrementalInference.GraphSolveContainer, ForwardDiff.GradientConfig{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12, Vector{ForwardDiff.Dual{ForwardDiff.Tag{IncrementalInference.GraphSolveContainer, Float64}, Float64, 12}}}})(out::Vector{Float64}, x::Vector{Float64})
@ NLSolversBase ~/.julia/packages/NLSolversBase/cfJrN/src/objective_types/twicedifferentiable.jl:132
[35] value_gradient!!(obj::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, x::Vector{Float64})
@ NLSolversBase ~/.julia/packages/NLSolversBase/cfJrN/src/interface.jl:82
[36] value_gradient!(obj::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, x::Vector{Float64})
@ NLSolversBase ~/.julia/packages/NLSolversBase/cfJrN/src/interface.jl:69
[37] value_gradient!(obj::Optim.ManifoldObjective{NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}}, x::Vector{Float64})
@ Optim ~/.julia/packages/Optim/ocQqB/src/Manifolds.jl:50
[38] (::LineSearches.var"#ϕdϕ#6"{Optim.ManifoldObjective{NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}}, Vector{Float64}, Vector{Float64}, Vector{Float64}})(α::Float64)
@ LineSearches ~/.julia/packages/LineSearches/G1LRk/src/LineSearches.jl:84
[39] secant2!(ϕdϕ::LineSearches.var"#ϕdϕ#6"{Optim.ManifoldObjective{NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}}, Vector{Float64}, Vector{Float64}, Vector{Float64}}, alphas::Vector{Float64}, values::Vector{Float64}, slopes::Vector{Float64}, ia::Int64, ib::Int64, phi_lim::Float64, delta::Float64, sigma::Float64, display::Int64)
@ LineSearches ~/.julia/packages/LineSearches/G1LRk/src/hagerzhang.jl:368
[40] (::LineSearches.HagerZhang{Float64, Base.RefValue{Bool}})(ϕ::Function, ϕdϕ::LineSearches.var"#ϕdϕ#6"{Optim.ManifoldObjective{NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}}, Vector{Float64}, Vector{Float64}, Vector{Float64}}, c::Float64, phi_0::Float64, dphi_0::Float64)
@ LineSearches ~/.julia/packages/LineSearches/G1LRk/src/hagerzhang.jl:269
[41] HagerZhang
@ ~/.julia/packages/LineSearches/G1LRk/src/hagerzhang.jl:101 [inlined]
[42] perform_linesearch!(state::Optim.BFGSState{Vector{Float64}, Matrix{Float64}, Float64, Vector{Float64}}, method::Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Nothing, Nothing, Optim.Flat}, d::Optim.ManifoldObjective{NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}})
@ Optim ~/.julia/packages/Optim/ocQqB/src/utilities/perform_linesearch.jl:59
[43] update_state!(d::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, state::Optim.BFGSState{Vector{Float64}, Matrix{Float64}, Float64, Vector{Float64}}, method::Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Nothing, Nothing, Optim.Flat})
@ Optim ~/.julia/packages/Optim/ocQqB/src/multivariate/solvers/first_order/bfgs.jl:139
[44] optimize(d::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, initial_x::Vector{Float64}, method::Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Nothing, Nothing, Optim.Flat}, options::Optim.Options{Float64, Nothing}, state::Optim.BFGSState{Vector{Float64}, Matrix{Float64}, Float64, Vector{Float64}})
@ Optim ~/.julia/packages/Optim/ocQqB/src/multivariate/optimize/optimize.jl:54
[45] optimize(d::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, initial_x::Vector{Float64}, method::Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.HagerZhang{Float64, Base.RefValue{Bool}}, Nothing, Nothing, Optim.Flat}, options::Optim.Options{Float64, Nothing})
@ Optim ~/.julia/packages/Optim/ocQqB/src/multivariate/optimize/optimize.jl:36
[46] solveGraphParametric(fg::GraphsDFG{SolverParams, DFGVariable, DFGFactor}; computeCovariance::Bool, solveKey::Symbol, autodiff::Symbol, algorithm::Type{Optim.BFGS}, algorithmkwargs::Tuple{}, options::Optim.Options{Float64, Nothing})
@ IncrementalInference ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:518
[47] #solveGraphParametric!#492
@ ~/.julia/packages/IncrementalInference/lIyVR/src/ParametricUtils.jl:769 [inlined]
[48] top-level scope
Metadata
Metadata
Assignees
Type
Projects
Status
No status