Open ArnaudKul opened 2 months ago
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:
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
The issue seems that the resulting gram matrix is a block diagonal gram matrix with no block hence inference fails to infer the element type.
Hello, I am executing this file :
gives the following error
versions
julia v.1.6.1