Description
It builds fine in 1.34.x : jump-dev/DiffOpt.jl#268
But fails in 1.35.0 : jump-dev/DiffOpt.jl#267
/home/runner/work/DiffOpt.jl/DiffOpt.jl/docs/src/examples/nearest_correlation.jl: Error During Test at /home/runner/work/DiffOpt.jl/DiffOpt.jl/docs/make.jl:35
Got exception outside of a @test
LoadError: MethodError: no method matching projection_gradient_on_set(::MathOptSetDistances.DefaultDistance, ::Vector{Float64}, ::MathOptInterface.Scaled{MathOptInterface.PositiveSemidefiniteConeTriangle})
The function `projection_gradient_on_set` exists, but no method is defined for this combination of argument types.
Closest candidates are:
projection_gradient_on_set(::MathOptSetDistances.DefaultDistance, ::AbstractVector{T}, !Matched::MathOptInterface.RotatedSecondOrderCone) where T
@ MathOptSetDistances ~/.julia/packages/MathOptSetDistances/CwCGT/src/projections.jl:590
projection_gradient_on_set(::MathOptSetDistances.DefaultDistance, ::AbstractVector{T}, !Matched::MathOptInterface.Nonnegatives) where T
@ MathOptSetDistances ~/.julia/packages/MathOptSetDistances/CwCGT/src/projections.jl:538
projection_gradient_on_set(::MathOptSetDistances.DefaultDistance, ::AbstractVector{T}, !Matched::MathOptInterface.DualExponentialCone) where T
@ MathOptSetDistances ~/.julia/packages/MathOptSetDistances/CwCGT/src/projections.jl:710
...
Stacktrace:
[1] (::DiffOpt.var"#14#15"{Vector{Float64}, MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ObjectiveContainer{Float64}, MathOptInterface.Utilities.FreeVariables, MathOptInterface.Utilities.MatrixOfConstraints{Float64, MathOptInterface.Utilities.MutableSparseMatrixCSC{Float64, Int64, MathOptInterface.Utilities.OneBasedIndexing}, Vector{Float64}, DiffOpt.ProductOfSets{Float64}}}})(ci::MathOptInterface.ConstraintIndex{MathOptInterface.VectorAffineFunction{Float64}, MathOptInterface.Scaled{MathOptInterface.PositiveSemidefiniteConeTriangle}}, r::UnitRange{Int64})
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/diff_opt.jl:418
[2] _map_rows!(f::DiffOpt.var"#14#15"{Vector{Float64}, MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ObjectiveContainer{Float64}, MathOptInterface.Utilities.FreeVariables, MathOptInterface.Utilities.MatrixOfConstraints{Float64, MathOptInterface.Utilities.MutableSparseMatrixCSC{Float64, Int64, MathOptInterface.Utilities.OneBasedIndexing}, Vector{Float64}, DiffOpt.ProductOfSets{Float64}}}}, x::Vector{Matrix{Float64}}, model::MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ObjectiveContainer{Float64}, MathOptInterface.Utilities.FreeVariables, MathOptInterface.Utilities.MatrixOfConstraints{Float64, MathOptInterface.Utilities.MutableSparseMatrixCSC{Float64, Int64, MathOptInterface.Utilities.OneBasedIndexing}, Vector{Float64}, DiffOpt.ProductOfSets{Float64}}}, cones::DiffOpt.ProductOfSets{Float64}, ::Type{MathOptInterface.VectorAffineFunction{Float64}}, ::Type{MathOptInterface.Scaled{MathOptInterface.PositiveSemidefiniteConeTriangle}}, map_mode::DiffOpt.Nested{Matrix{Float64}}, k::Int64)
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/diff_opt.jl:456
[3] map_rows(f::Function, model::MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ObjectiveContainer{Float64}, MathOptInterface.Utilities.FreeVariables, MathOptInterface.Utilities.MatrixOfConstraints{Float64, MathOptInterface.Utilities.MutableSparseMatrixCSC{Float64, Int64, MathOptInterface.Utilities.OneBasedIndexing}, Vector{Float64}, DiffOpt.ProductOfSets{Float64}}}, cones::DiffOpt.ProductOfSets{Float64}, map_mode::DiffOpt.Nested{Matrix{Float64}})
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/diff_opt.jl:495
[4] Dπ
@ ~/work/DiffOpt.jl/DiffOpt.jl/src/diff_opt.jl:416 [inlined]
[5] _gradient_cache(model::DiffOpt.ConicProgram.Model)
@ DiffOpt.ConicProgram ~/work/DiffOpt.jl/DiffOpt.jl/src/ConicProgram/ConicProgram.jl:213
[6] macro expansion
@ ~/work/DiffOpt.jl/DiffOpt.jl/src/ConicProgram/ConicProgram.jl:247 [inlined]
[7] macro expansion
@ ./timing.jl:421 [inlined]
[8] forward_differentiate!(model::DiffOpt.ConicProgram.Model)
@ DiffOpt.ConicProgram ~/work/DiffOpt.jl/DiffOpt.jl/src/ConicProgram/ConicProgram.jl:246
[9] forward_differentiate!(model::MathOptInterface.Bridges.LazyBridgeOptimizer{DiffOpt.ConicProgram.Model})
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/jump_moi_overloads.jl:327
[10] forward_differentiate!(model::DiffOpt.Optimizer{MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{SCS.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}})
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/moi_wrapper.jl:552
[11] forward_differentiate!
@ ~/work/DiffOpt.jl/DiffOpt.jl/src/jump_moi_overloads.jl:327 [inlined]
[12] forward_differentiate!(model::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{DiffOpt.Optimizer{MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{SCS.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}})
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/jump_moi_overloads.jl:317
[13] forward_differentiate!(model::JuMP.Model)
@ DiffOpt ~/work/DiffOpt.jl/DiffOpt.jl/src/jump_moi_overloads.jl:307
[14] proj(A::LinearAlgebra.Tridiagonal{Float64, Vector{Float64}}, dH::LinearAlgebra.Diagonal{Float64, Vector{Float64}}, H::Matrix{Float64})
@ Main.var"##386" ~/work/DiffOpt.jl/DiffOpt.jl/docs/src/examples/nearest_correlation.jl:26
[15] proj(A::LinearAlgebra.Tridiagonal{Float64, Vector{Float64}})
@ Main.var"##386" ~/work/DiffOpt.jl/DiffOpt.jl/docs/src/examples/nearest_correlation.jl:15
[16] top-level scope
@ ~/work/DiffOpt.jl/DiffOpt.jl/docs/src/examples/nearest_correlation.jl:37
[17] include
@ ./Base.jl:557 [inlined]
[18] _include_sandbox(filename::String)
@ Main ~/work/DiffOpt.jl/DiffOpt.jl/docs/make.jl:20
[19] macro expansion
@ ~/work/DiffOpt.jl/DiffOpt.jl/docs/make.jl:36 [inlined]
[20] macro expansion
@ /opt/hostedtoolcache/julia/1.11.2/x64/share/julia/stdlib/v1.11/Test/src/Test.jl:1704 [inlined]
[21] literate_directory(dir::String)
@ Main ~/work/DiffOpt.jl/DiffOpt.jl/docs/make.jl:36
[22] top-level scope
@ ~/work/DiffOpt.jl/DiffOpt.jl/docs/make.jl:43
[23] include(mod::Module, _path::String)
@ Base ./Base.jl:557
[24] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:323
[25] _start()
@ Base ./client.jl:531
in expression starting at /home/runner/work/DiffOpt.jl/DiffOpt.jl/docs/src/examples/nearest_correlation.jl:37
Indeed the requested method does not exist in MOSD. It should exist and maybe this is the right solution.
But it was not called before. Changes in bridges? Could the order change lead to this?
Metadata
Metadata
Assignees
Labels
No labels