15.9 Supported domains¶
This section lists the domains supported by MOSEK. See Sec. 6 (Optimization Tutorials) for how to apply domains to specify affine conic constraints (ACCs) and disjunctive constraints (DJCs).
15.9.1 Linear domains¶
Each linear domain is determined by the dimension \(n\).
Task.append_rzero_domain
: the zero domain, consisting of the origin \(0^n \in\real^n\).Task.append_rplus_domain
: the nonnegative orthant domain \(\real_{\geq 0}^n\).Task.append_rminus_domain
: the nonpositive orthant domain \(\real_{\leq 0}^n\).Task.append_r_domain
: the free domain, consisting of the whole \(\real^n\).
Membership in a linear domain is equivalent to imposing the corresponding set of \(n\) linear constraints, for instance \(Fx+g\in 0^n\) is equivalent to \(Fx+g=0\) and so on. The free domain imposes no restriction.
15.9.2 Quadratic cone domains¶
The quadratic domains are determined by the dimension \(n\).
Task.append_quadratic_cone_domain
: the quadratic cone domain is the subset of \(\real^n\) defined as
\[\Q^n = \left\{ x\in\real^n~:~ x_1 \geq \sqrt{x_2^2+\cdots+x_n^2} \right\}.\]
Task.append_r_quadratic_cone_domain
: the rotated quadratic cone domain is the subset of \(\real^n\) defined as
\[\Q_r^n = \left\{ x\in\real^n~:~ 2x_1x_2 \geq x_3^2+\cdots+x_n^2,\ x_1,x_2\geq 0 \right\}.\]
15.9.3 Exponential cone domains¶
Task.append_primal_exp_cone_domain
: the primal exponential cone domain is the subset of \(\real^3\) defined as
\[\EXP = \left\{ (x_1,x_2,x_3)\in\real^3~:~ x_1 \geq x_2 \exp(x_3/x_2),\ x_1,x_2\geq 0\right\}.\]
Task.append_dual_exp_cone_domain
: the dual exponential cone domain is the subset of \(\real^3\) defined as
\[\EXP^* = \left\{ (x_1,x_2,x_3)\in\real^3~:~ x_1 \geq -x_3 \exp(x_2/x_3-1),\ x_1\geq 0,x_3\leq 0\right\}.\]
15.9.4 Power cone domains¶
A power cone domain is determined by the dimension \(n\) and a sequence of \(1\leq n_l<n\) positive real numbers (weights) \(\alpha_1,\ldots,\alpha_{n_l}\).
Task.append_primal_power_cone_domain
: the primal power cone domain is the subset of \(\real^n\) defined as
\[\POW_n^{(\alpha_1,\ldots,\alpha_{n_l})} = \left\{ x\in\real^n~:~ \prod_{i=1}^{n_l}x_i^{\beta_i} \geq \sqrt{x_{n_l+1}^2+\cdots+x_n^2},\ x_1,\ldots,x_{n_l}\geq 0 \right\}.\]where \(\beta_i\) are the weights normalized to add up to \(1\), ie. \(\beta_i=\alpha_i/(\sum_j \alpha_j)\) for \(i=1,\ldots,n_l\). The name \(n_l\) reads as “n left”, the length of the product on the left-hand side of the definition.
Task.append_dual_power_cone_domain
: the dual power cone domain is the subset of \(\real^n\) defined as
\[\left(\POW_n^{(\alpha_1,\ldots,\alpha_{n_l})}\right)^* = \left\{ x\in\real^n~:~ \prod_{i=1}^{n_l}\left(\frac{x_i}{\beta_i}\right)^{\beta_i} \geq \sqrt{x_{n_l+1}^2+\cdots+x_n^2},\ x_1,\ldots,x_{n_l}\geq 0 \right\}.\]where \(\beta_i\) are the weights normalized to add up to \(1\), ie. \(\beta_i=\alpha_i/(\sum_j \alpha_j)\) for \(i=1,\ldots,n_l\). The name \(n_l\) reads as “n left”, the length of the product on the left-hand side of the definition.
Remark: in MOSEK 9 power cones were available only in the special case with \(n_l=2\) and weights \((\alpha,1-\alpha)\) for some \(0<\alpha<1\) specified as cone parameter.
15.9.5 Geometric mean cone domains¶
A geometric mean cone domain is determined by the dimension \(n\).
Task.append_primal_geo_mean_cone_domain
: the primal geometric mean cone domain is the subset of \(\real^n\) defined as
\[\GM^n = \left\{ x\in\real^n~:~ \left(\prod_{i=1}^{n-1}x_i\right)^{1/(n-1)} \geq |x_n|,\ x_1,\ldots,x_{n-1}\geq 0 \right\}.\]It is a special case of the primal power cone domain with \(n_l=n-1\) and weights \(\alpha=(1,\ldots,1)\).
Task.append_dual_geo_mean_cone_domain
: the dual geometric mean cone domain is the subset of \(\real^n\) defined as
\[(\GM^n)^* = \left\{ x\in\real^n~:~ (n-1)\left(\prod_{i=1}^{n-1}x_i\right)^{1/(n-1)} \geq |x_n|,\ x_1,\ldots,x_{n-1}\geq 0 \right\}.\]It is a special case of the dual power cone domain with \(n_l=n-1\) and weights \(\alpha=(1,\ldots,1)\).
15.9.6 Vectorized semidefinite domain¶
Task.append_svec_psd_cone_domain
: the vectorized PSD cone domain is determined by the dimension \(n\), which must be of the form \(n=d(d+1)/2\). Then the domain is defined as
\[\PSD^{d,\mathrm{vec}} = \left\{(x_1,\ldots,x_{d(d+1)/2})\in \real^n~:~ \mathrm{sMat}(x)\in\PSD^d\right\},\]where
\[\begin{split}\mathrm{sMat}(x) = \left[\begin{array}{cccc}x_1 & x_2/\sqrt{2} & \cdots & x_{d}/\sqrt{2} \\ x_2/\sqrt{2} & x_{d+1} & \cdots & x_{2d-1}/\sqrt{2} \\ \cdots & \cdots & \cdots & \cdots \\ x_{d}/\sqrt{2} & x_{2d-1}/\sqrt{2} & \cdots & x_{d(d+1)/2}\end{array}\right],\end{split}\]or equivalently
\[\PSD^{d,\mathrm{vec}} = \left\{\mathrm{sVec}(X)~:~X\in\PSD^d\right\},\]where
\[\mathrm{sVec}(X) = (X_{11},\sqrt{2}X_{21},\ldots,\sqrt{2}X_{d1},X_{22},\sqrt{2}X_{32},\ldots,X_{dd}).\]In other words, the domain consists of vectorizations of the lower-triangular part of a positive semidefinite matrix, with the non-diagonal elements additionally rescaled.