Skip to content

Bridge request: {Log,Root}DetConeSquare to ConeTriangle #541

Closed
@chriscoey

Description

@chriscoey

@blegat see https://github.com/JuliaOpt/SCS.jl/blob/f10b83495d814b9eb85b55bd49fbbbc6607f56aa/test/MOIWrapper.jl#L47 and https://github.com/JuliaOpt/MathOptInterfaceMosek.jl/blob/5652c097f3f7bcf1fd99085ae4865aa96295cb14/test/runtests.jl#L67
why are rootdet and logdet bridges applied, but rootdet and logdet tests excluded?

I ask because I am trying to make Hypatia run the rootdet and logdet tests, but even though I am applying the bridges, I get errors like the following:

rootdets1f: Error During Test at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:45
  Got exception outside of a @test
  MathOptInterface.UnsupportedConstraint{MathOptInterface.VectorAffineFunction{Float64},MathOptInterface.RootDetConeSquare}: `MathOptInterface.VectorAffineFunction{Float64}`-in-`MathOptInterface.RootDetConeSquare` constraints is not supported by the the model.
  Stacktrace:
   [1] add_constraint(::HypatiaModelData{Float64}, ::MathOptInterface.VectorAffineFunction{Float64}, ::MathOptInterface.RootDetConeSquare) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Utilities/model.jl:298
   [2] add_constraint(::MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}, ::MathOptInterface.VectorAffineFunction{Float64}, ::MathOptInterface.RootDetConeSquare) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Utilities/cachingoptimizer.jl:238
   [3] add_constraint(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}, ::MathOptInterface.VectorAffineFunction{Float64}, ::MathOptInterface.RootDetConeSquare) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Bridges/bridgeoptimizer.jl:300 (repeats 3 times)
   [4] _det1test(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.SquarePSDBridge{Float64,F,G} where G<:MathOptInterface.AbstractScalarFunction where F<:MathOptInterface.AbstractVectorFunction,MathOptInterface.Bridges.SquarePSDInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.LogDetBridge{Float64},MathOptInterface.Bridges.LogDetInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}}}, ::MathOptInterface.Test.TestConfig, ::Bool, ::Type) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/contconic.jl:1409
   [5] rootdets1ftest(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.SquarePSDBridge{Float64,F,G} where G<:MathOptInterface.AbstractScalarFunction where F<:MathOptInterface.AbstractVectorFunction,MathOptInterface.Bridges.SquarePSDInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.LogDetBridge{Float64},MathOptInterface.Bridges.LogDetInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}}}, ::MathOptInterface.Test.TestConfig) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/contconic.jl:1470
   [6] macro expansion at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46 [inlined]
   [7] macro expansion at /home/coey/julia/usr/share/julia/stdlib/v1.1/Test/src/Test.jl:1083 [inlined]
   [8] rootdetstest(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.SquarePSDBridge{Float64,F,G} where G<:MathOptInterface.AbstractScalarFunction where F<:MathOptInterface.AbstractVectorFunction,MathOptInterface.Bridges.SquarePSDInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.LogDetBridge{Float64},MathOptInterface.Bridges.LogDetInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}}}, ::MathOptInterface.Test.TestConfig, ::Array{String,1}) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46
   [9] macro expansion at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46 [inlined]
   [10] macro expansion at /home/coey/julia/usr/share/julia/stdlib/v1.1/Test/src/Test.jl:1083 [inlined]
   [11] rootdettest(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.SquarePSDBridge{Float64,F,G} where G<:MathOptInterface.AbstractScalarFunction where F<:MathOptInterface.AbstractVectorFunction,MathOptInterface.Bridges.SquarePSDInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.LogDetBridge{Float64},MathOptInterface.Bridges.LogDetInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}}}, ::MathOptInterface.Test.TestConfig, ::Array{String,1}) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46
   [12] macro expansion at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46 [inlined]
   [13] macro expansion at /home/coey/julia/usr/share/julia/stdlib/v1.1/Test/src/Test.jl:1083 [inlined]
   [14] contconictest(::MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.SquarePSDBridge{Float64,F,G} where G<:MathOptInterface.AbstractScalarFunction where F<:MathOptInterface.AbstractVectorFunction,MathOptInterface.Bridges.SquarePSDInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.LogDetBridge{Float64},MathOptInterface.Bridges.LogDetInstance{Float64},MathOptInterface.Bridges.SingleBridgeOptimizer{MathOptInterface.Bridges.RootDetBridge{Float64},MathOptInterface.Bridges.RootDetInstance{Float64},MathOptInterface.Utilities.CachingOptimizer{Hypatia.Optimizer,HypatiaModelData{Float64}}}}}, ::MathOptInterface.Test.TestConfig, ::Array{String,1}) at /home/coey/.julia/packages/MathOptInterface/UP27o/src/Test/config.jl:46
   [15] macro expansion at /home/coey/.julia/dev/Hypatia/test/moi.jl:79 [inlined]
   [16] macro expansion at /home/coey/julia/usr/share/julia/stdlib/v1.1/Test/src/Test.jl:1083 [inlined]
   [17] #testmoi#3(::Bool, ::Type, ::Bool, ::Function) at /home/coey/.julia/dev/Hypatia/test/moi.jl:79
   [18] (::getfield(Main, Symbol("#kw##testmoi")))(::NamedTuple{(:verbose, :lscachetype, :usedense),Tuple{Bool,DataType,Bool}}, ::typeof(testmoi)) at ./none:0
   [19] macro expansion at /home/coey/.julia/dev/Hypatia/test/runtests.jl:194 [inlined]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions