@@ -23,6 +23,7 @@ const VectorConeDomain = Union{
2323 MOI. DualPowerCone,
2424 MOI. ExponentialCone,
2525 MOI. DualExponentialCone,
26+ MOI. GeometricMeanCone,
2627 MOI. Scaled{MOI. PositiveSemidefiniteConeTriangle},
2728}
2829
@@ -179,6 +180,8 @@ function _get_bound(
179180 return MOI. SecondOrderCone (solsize (m, ci))
180181 elseif dt == Mosek. MSK_DOMAIN_RQUADRATIC_CONE
181182 return MOI. RotatedSecondOrderCone (solsize (m, ci))
183+ elseif dt == Mosek. MSK_DOMAIN_PRIMAL_GEO_MEAN_CONE
184+ return MOI. GeometricMeanCone (solsize (m, ci))
182185 elseif dt == Mosek. MSK_DOMAIN_PRIMAL_EXP_CONE
183186 return MOI. ExponentialCone ()
184187 elseif dt == Mosek. MSK_DOMAIN_DUAL_EXP_CONE
@@ -384,6 +387,10 @@ function _append_cone_domain(
384387 return Mosek. appendrquadraticconedomain (t, n)
385388end
386389
390+ function _append_cone_domain (t:: Mosek.Task , n:: Int , :: MOI.GeometricMeanCone )
391+ return Mosek. appendprimalgeomeanconedomain (t, n)
392+ end
393+
387394function _append_cone_domain (
388395 t:: Mosek.Task ,
389396 n:: Int ,
@@ -918,6 +925,8 @@ _domain(::Type{MOI.PowerCone{Float64}}) = Mosek.MSK_DOMAIN_PRIMAL_POWER_CONE
918925
919926_domain (:: Type{MOI.DualPowerCone{Float64}} ) = Mosek. MSK_DOMAIN_DUAL_POWER_CONE
920927
928+ _domain (:: Type{MOI.GeometricMeanCone} ) = Mosek. MSK_DOMAIN_PRIMAL_GEO_MEAN_CONE
929+
921930function _domain (:: Type{MOI.Scaled{MOI.PositiveSemidefiniteConeTriangle}} )
922931 return Mosek. MSK_DOMAIN_SVEC_PSD_CONE
923932end
0 commit comments