-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
Description
Hello, I am executing this file :
using JuMP
using SumOfSquares
using DynamicPolynomials
import CSDP
Solver = optimizer_with_attributes(CSDP.Optimizer, MOI.Silent() => true)
function sos_min(sparsity, d, obj, dom; solver=Solver)
model = Model(solver)
@variable(model, t)
@objective(model, Min, t)
con_ref = @constraint(model, obj - t in SOSCone(), sparsity = sparsity, maxdegree = d, domain = dom)
optimize!(model)
return moment_matrix(con_ref)
end
@polyvar x[1:3] l[1:3]
my_game_obj = x[1]^2+x[2]^2+x[3]^2
my_eq_list = [-1+l[3]-3l[2]-3x[2]^2-x[1]*x[2],3x[2]*l[2]-x[2]^2*l[2]-x[1]^2*l[2],l[3]-x[3]*l[3],-2+x[3]+2x[1]+2x[1]*l[1],-2-x[3]+2x[2]+2x[2]*l[1],2l[1]-x[3]*l[1]-x[2]^2*l[1]-x[1]^2*l[1]]
my_ineq_list = [3x[3]-x[2]^2-x[1]^2,1-x[3],l[2],l[3],2-x[3]-x[2]^2-x[1]^2,l[1]]
my_Dom = basicsemialgebraicset(algebraicset(my_eq_list), my_ineq_list)
ν = sos_min(Sparsity.Monomial(ChordalCompletion()),4,my_game_obj,my_Dom)
gives the following error
ERROR: MethodError: no method matching BlockDiagonalGramMatrix(::Vector{GramMatrix{_A, MonomialBasis{Monomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}}, MonomialVector{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}}}, _B, _C}
where {_A, _B, _C<:AbstractMatrix{_A}}})
Closest candidates are:
BlockDiagonalGramMatrix(::Array{GramMatrix{T, B, U, MT}, 1}) where {T, B, U, MT} at C:\Users\arobert\.julia\packages\SumOfSquares\xNLIR\src\gram_matrix.jl:221
Stacktrace:
versions
julia v.1.6.1
(Stakelberg.jl) pkg> st
Status `C:\Users\usename\Documents\GitHub\Stakelberg.jl\Project.toml`
[0a46da34] CSDP v1.1.1
[7c1d4256] DynamicPolynomials v0.5.5
[b99e6be6] Hypatia v0.8.0
[4076af6c] JuMP v1.20.0
[5036cc39] MomentOpt v0.3.0
[6405355b] Mosek v10.1.4
[1ec41992] MosekTools v0.15.1
[8e049039] SemialgebraicSets v0.3.2
[4b9e565b] SumOfSquares v0.7.3