Julia跳跃中的有界2-范数

Julia跳跃中的有界2-范数,julia,mathematical-optimization,julia-jump,Julia,Mathematical Optimization,Julia Jump,使用Julia的跳跃库,我有一个矩阵值变量a,我想对其等效施加一个2-范数约束:谱/算子范数。然而,我不知道如何做到这一点。下面是我想写的东西的运行代码 因为这限制了弗罗贝尼乌斯规范,但这并不可取。如果您能深入了解如何做到这一点,我将不胜感激。MathOptiInterface有一个光谱范数圆锥体: MathOptiInterface有一个圆锥作为光谱范数: 由于Convex.jl自动完成这些转换,我通常只需检查它的源代码,看看它是如何完成的:谢谢,我将尝试一下!由于Convex.jl自动完成这

使用Julia的跳跃库,我有一个矩阵值变量a,我想对其等效施加一个2-范数约束:谱/算子范数。然而,我不知道如何做到这一点。下面是我想写的东西的运行代码


因为这限制了弗罗贝尼乌斯规范,但这并不可取。如果您能深入了解如何做到这一点,我将不胜感激。

MathOptiInterface有一个光谱范数圆锥体:


MathOptiInterface有一个圆锥作为光谱范数:


由于Convex.jl自动完成这些转换,我通常只需检查它的源代码,看看它是如何完成的:谢谢,我将尝试一下!由于Convex.jl自动完成这些转换,我通常只需检查它的源代码,看看它是如何完成的:谢谢,我将尝试一下!
using LinearAlgebra
using JuMP
using MathOptInterface
using MosekTools
using Mosek

model = Model(optimizer_with_attributes(
        Mosek.Optimizer,
        "QUIET" => false,
        "INTPNT_CO_TOL_DFEAS" => 1e-9
    ))

maxnorm = 3.0
# We want opnorm(A) <= maxnorm
@variable(model, A[1:4, 1:5])
# @SDconstraint(model, A' * A <= maxnorm^2) # Mathematically valid, but not accepted!

# Make dummy variable and constraint to satisfy
@variable(model, x)
@constraint(model, x >= 10)

@objective(model, Min, x)

optimize!(model)
@constraint(model, [maxnorm; vec(A)] in SecondOrderCone())
@constraint(model, [maxnorm; vec(A)] in MOI.NormSpectralCone(4, 5))