Functions¶
The table below lists all the atomic functions available in CVXPY.
Curvature
DCP Property
Atoms table¶
Function |
Meaning |
Domain |
DCP Properties |
Curvature |
---|---|---|---|---|
constant \(W \in \mathbf{R}^{o \times p}\) |
\(\text{dot product of}\) \(\operatorname{sort}\operatorname{vec}(X) \text{ and}\) \(\operatorname{sort}\operatorname{vec}(W)\) |
\(X \in \mathbf{R}^{m \times n}\) |
sign depends on \(X\), \(W\) |
|
\(p \in \mathbf{R}^n_{+}\) \(p \neq 0\) |
\(x_1^{1/n} \cdots x_n^{1/n}\) |
\(x \in \mathbf{R}^n_{+}\) |
||
\(\frac{n}{\frac{1}{x_1} + \cdots + \frac{1}{x_n}}\) |
\(x \in \mathbf{R}^n_{+}\) |
|||
\((x_1\cdots x_n)^{-1}\) |
\(x \in \mathbf{R}^n_+\) |
|||
\(\lambda_{\max}(X)\) |
\(X \in \mathbf{S}^n\) |
|||
\(\lambda_{\min}(X)\) |
\(X \in \mathbf{S}^n\) |
|||
\(k = 1,\ldots, n\) |
\(\text{sum of $k$ largest}\) \(\text{eigenvalues of $X$}\) |
\(X \in\mathbf{S}^{n}\) |
||
\(k = 1,\ldots, n\) |
\(\text{sum of $k$ smallest}\) \(\text{eigenvalues of $X$}\) |
\(X \in\mathbf{S}^{n}\) |
||
\(\log \left(\det (X)\right)\) |
\(X \in \mathbf{S}^n_+\) |
|||
\(\log \left(\sum_{ij}e^{X_{ij}}\right)\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(x^T P^{-1} x\) |
\(x \in \mathbf{R}^n\) |
|||
\(\max_{ij}\left\{ X_{ij}\right\}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
||
\(\frac{1}{m n}\sum_{ij}\left\{ X_{ij}\right\}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
||
\(\min_{ij}\left\{ X_{ij}\right\}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
||
\(\left(\sum_k\left(\sum_l\lvert x_{k,l}\rvert^p\right)^{q/p}\right)^{1/q}\) |
\(X \in\mathbf{R}^{n \times n}\) |
|||
norm(x, 2) |
\(\sqrt{\sum_{i} \lvert x_{i} \rvert^2 }\) |
\(X \in\mathbf{R}^{n}\) |
||
\(\sum_{i}\lvert x_{i} \rvert\) |
\(x \in\mathbf{R}^{n}\) |
|||
\(\max_{i} \{\lvert x_{i} \rvert\}\) |
\(x \in\mathbf{R}^{n}\) |
|||
\(\sqrt{\sum_{ij}X_{ij}^2 }\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\max_{j} \|X_{:,j}\|_1\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\max_{i} \|X_{i,:}\|_1\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\mathrm{tr}\left(\left(X^T X\right)^{1/2}\right)\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
norm(X) norm(X, 2) |
\(\sqrt{\lambda_{\max}\left(X^T X\right)}\) |
\(X in\mathbf{R}^{m \times n}\) |
||
\(sf(x/s)\) |
\(x \in \mathop{\bf dom} f\) \(s \geq 0\) |
same sign as f |
||
\(p \geq 1\)
or |
\(\left(\sum_{ij} |X_{ij}|^p \right)^{1/p}\) |
\(X \in \mathbf{R}^{m \times n}\) |
||
\(p < 1\), \(p \neq 0\) |
\(\left(\sum_{ij} X_{ij}^p \right)^{1/p}\) |
\(X \in \mathbf{R}^{m \times n}_+\) |
||
\(\max_{ij} X_{ij} - \min_{ij} X_{ij}\) |
\(X \in \mathbf{R}^{m \times n}\) |
|||
constant \(P \in \mathbf{S}^n_+\) |
\(x^T P x\) |
\(x \in \mathbf{R}^n\) |
||
constant \(P \in \mathbf{S}^n_-\) |
\(x^T P x\) |
\(x \in \mathbf{R}^n\) |
||
constant \(c \in \mathbf{R}^n\) |
\(c^T X c\) |
\(X \in\mathbf{R}^{n \times n}\) |
sign depends on c, X monotonicity depends on c |
|
\(\left(\sum_{ij}X_{ij}^2\right)/y\) |
\(x \in \mathbf{R}^n\) \(y > 0\) |
|||
analog to numpy.std |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\sum_{ij}X_{ij}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
||
\(k = 1,2,\ldots\) |
\(\text{sum of } k\) \(\text{largest }X_{ij}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
|
\(k = 1,2,\ldots\) |
\(\text{sum of } k\) \(\text{smallest }X_{ij}\) |
\(X \in\mathbf{R}^{m \times n}\) |
same sign as X |
|
\(\sum_{ij}X_{ij}^2\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\mathrm{tr}\left(X \right)\) |
\(X \in\mathbf{R}^{n \times n}\) |
same sign as X |
||
\(\mathrm{tr}\left(X^{-1} \right)\) |
\(X \in\mathbf{S}^n_{++}\) |
|||
\(\sum_{i}|x_{i+1} - x_i|\) |
\(x \in \mathbf{R}^n\) |
|||
tv(X) \(Y = \left[\begin{matrix} X_{i+1,j} - X_{ij} \\ X_{i,j+1} -X_{ij} \end{matrix}\right]\) |
\(\sum_{ij}\left\| Y \right\|_2\) |
\(X \in \mathbf{R}^{m \times n}\) |
||
tv([X1,…,Xk]) \(Y = \left[\begin{matrix} X_{i+1,j}^{(1)} - X_{ij}^{(1)} \\ X_{i,j+1}^{(1)} -X_{ij}^{(1)} \\ \vdots \\ X_{i+1,j}^{(k)} - X_{ij}^{(k)} \\ X_{i,j+1}^{(k)} -X_{ij}^{(k)} \end{matrix}\right]\) |
\(\sum_{ij}\left\| Y \right\|_2\) |
\(X^{(i)} \in\mathbf{R}^{m \times n}\) |
||
analog to numpy.var |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(\lvert x \rvert\) |
\(x \in \mathbf{C}\) |
|||
complex conjugate |
\(x \in \mathbf{C}\) |
|||
\(-x \log (x)\) |
\(x > 0\) |
|||
\(e^x\) |
\(x \in \mathbf{R}\) |
|||
\(M \geq 0\) |
\(\begin{aligned} & \text{if } |x| \leq M\colon \\& x^2 \end{aligned}\) \(\begin{aligned} & \text{if } |x| > M\colon \\& 2M|x| - M^2 \end{aligned}\) |
\(x \in \mathbf{R}\) |
||
imaginary part of a complex number |
\(x \in \mathbf{C}\) |
|||
\(1/x\) |
\(x > 0\) |
|||
\(x \log(x/y) - x + y\) |
\(x > 0\) \(y > 0\) |
|||
\(\log(x)\) |
\(x > 0\) |
|||
approximate log of the standard normal CDF |
\(x \in \mathbf{R}\) |
|||
\(\log(x+1)\) |
\(x > -1\) |
same sign as x |
||
\(x > 0\) |
||||
\(\log(1 + e^{x})\) |
\(x \in \mathbf{R}\) |
|||
\(\max \left\{x, y\right\}\) |
\(x,y \in \mathbf{R}\) |
sign depends on x,y |
||
\(\min \left\{x, y\right\}\) |
\(x, y \in \mathbf{R}\) |
sign depends on x,y |
||
\(c \in \mathbf{R}\) |
c*x |
\(x \in\mathbf{R}\) |
\(\mathrm{sign}(cx)\) monotonicity depends on c |
|
\(\max \left\{-x, 0 \right\}\) |
\(x \in \mathbf{R}\) |
|||
\(\max \left\{x, 0 \right\}\) |
\(x \in \mathbf{R}\) |
|||
\(1\) |
\(x \in \mathbf{R}\) |
constant |
||
\(x\) |
\(x \in \mathbf{R}\) |
same sign as x |
||
\(p = 2, 4, 8, \ldots\) |
\(x^p\) |
\(x \in \mathbf{R}\) |
||
\(p < 0\) |
\(x^p\) |
\(x > 0\) |
||
\(0 < p < 1\) |
\(x^p\) |
\(x \geq 0\) |
||
\(p > 1,\ p \neq 2, 4, 8, \ldots\) |
\(x^p\) |
\(x \geq 0\) |
||
real part of a complex number |
\(x \in \mathbf{C}\) |
|||
\(x \log(x/y)\) |
\(x > 0\) \(y > 0\) |
|||
\(\text{alpha} \geq 0\) \(\text{beta} \geq 0\) |
\(\alpha\mathrm{pos}(x)+ \beta\mathrm{neg}(x)\) |
\(x \in \mathbf{R}\) |
||
\(\sqrt x\) |
\(x \geq 0\) |
|||
\(x^2\) |
\(x \in \mathbf{R}\) |
|||
\(x e^x\) |
\(x \geq 0\) |
|||
\(\left[\begin{matrix} X^{(1,1)} & .. & X^{(1,q)} \\ \vdots & & \vdots \\ X^{(p,1)} & .. & X^{(p,q)} \end{matrix}\right]\) |
\(X^{(i,j)} \in\mathbf{R}^{m_i \times n_j}\) |
|||
\(c\in\mathbf{R}^m\) |
\(c*x\) |
\(x\in \mathbf{R}^n\) |
monotonicity depends on c |
|
cumulative sum along given axis. |
\(X \in \mathbf{R}^{m \times n}\) |
|||
\(\left[\begin{matrix}x_1 & & \\& \ddots & \\& & x_n\end{matrix}\right]\) |
\(x \in\mathbf{R}^{n}\) |
|||
\(\left[\begin{matrix}X_{11} \\\vdots \\X_{nn}\end{matrix}\right]\) |
\(X \in\mathbf{R}^{n \times n}\) |
|||
\(k \in 0,1,2,\ldots\) |
kth order differences along given axis |
\(X \in\mathbf{R}^{m \times n}\) |
||
\(\left[\begin{matrix}X^{(1)} \cdots X^{(k)}\end{matrix}\right]\) |
\(X^{(i)} \in\mathbf{R}^{m \times n_i}\) |
|||
constant \(X\in\mathbf{R}^{p \times q}\) |
\(\left[\begin{matrix}X_{11}Y & .. & X_{1q}Y \\ \vdots & & \vdots \\ X_{p1}Y & .. & X_{pq}Y \end{matrix}\right]\) |
\(Y \in \mathbf{R}^{m \times n}\) |
monotonicity depends on \(X\) |
|
constant \(Y\in\mathbf{R}^{m \times n}\) |
\(\left[\begin{matrix}X_{11}Y & .. & X_{1q}Y \\ \vdots & & \vdots \\ X_{p1}Y & .. & X_{pq}Y \end{matrix}\right]\) |
\(X \in \mathbf{R}^{p \times q}\) |
monotonicity depends on \(Y\) |
|
constant \(y \in \mathbf{R}^m\) |
\(x y^T\) |
\(x \in \mathbf{R}^n\) |
monotonicity depends on \(Y\) |
|
partial trace |
\(X \in\mathbf{R}^{n \times n}\) |
|||
partial transpose |
\(X \in\mathbf{R}^{n \times n}\) |
|||
\(X' \in\mathbf{R}^{m' \times n'}\) |
\(X \in\mathbf{R}^{m \times n}\) \(m'n' = mn\) |
|||
flatten the strictly upper-triangular part of \(X\) |
\(X \in \mathbf{R}^{n \times n}\) |
|||
\(x' \in\mathbf{R}^{mn}\) |
\(X \in\mathbf{R}^{m \times n}\) |
|||
\(x' \in\mathbf{R}^{n(n-1)/2}\) for \(x' \in\mathbf{R}^{n(n+1)/2}\) for |
\(X \in\mathbf{R}^{n \times n}\) |
|||
\(\left[\begin{matrix}X^{(1)} \\ \vdots \\X^{(k)}\end{matrix}\right]\) |
\(X^{(i)} \in\mathbf{R}^{m_i \times n}\) |
|||
\(p \in \mathbf{R}^n_{+}\) \(p \neq 0\) |
\(x_1^{1/n} \cdots x_n^{1/n}\) \(\left(x_1^{p_1} \cdots x_n^{p_n}\right)^{\frac{1}{\mathbf{1}^T p}}\) |
\(x \in \mathbf{R}^n_{+}\) |
||
\(\frac{n}{\frac{1}{x_1} + \cdots + \frac{1}{x_n}}\) |
\(x \in \mathbf{R}^n_{+}\) |
|||
\(\max_{ij}\left\{ X_{ij}\right\}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\min_{ij}\left\{ X_{ij}\right\}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\sqrt{\sum_{i} \lvert x_{i} \rvert^2 }\) |
\(X \in\mathbf{R}^{n}_{++}\) |
|||
\(\sqrt{\sum_{ij}X_{ij}^2 }\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\sum_{ij}\lvert X_{ij} \rvert\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\max_{ij} \{\lvert X_{ij} \rvert\}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(p \geq 1\) or |
\(\left(\sum_{ij} |X_{ij}|^p \right)^{1/p}\) |
\(X \in \mathbf{R}^{m \times n}_{++}\) |
||
pnorm(X, p) \(0 < p < 1\) |
\(\left(\sum_{ij} X_{ij}^p \right)^{1/p}\) |
\(X \in \mathbf{R}^{m \times n}_{++}\) |
||
\(\prod_{ij}X_{ij}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(x^T P x\) |
\(x \in \mathbf{R}^n\), \(P \in \mathbf{R}^{n \times n}_{++}\) |
|||
\(\left(\sum_{ij}X_{ij}^2\right)/y\) |
\(x \in \mathbf{R}^n_{++}\) \(y > 0\) |
|||
\(\sum_{ij}X_{ij}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\sum_{ij}X_{ij}^2\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\mathrm{tr}\left(X \right)\) |
\(X \in\mathbf{R}^{n \times n}_{++}\) |
|||
spectral radius of \(X\) |
\(X \in\mathbf{R}^{n \times n}_{++}\) |
|||
\(x - y\) |
\(0 < y < x\) |
|||
\(-x \log (x)\) |
\(0 < x < 1\) |
None |
||
\(e^x\) |
\(x > 0\) |
|||
\(\log(x)\) |
\(x > 1\) |
|||
\(\max \left\{x, y\right\}\) |
\(x,y > 0\) |
|||
\(\min \left\{x, y\right\}\) |
\(x, y > 0\) |
|||
\(x*y\) |
\(x, y > 0\) |
|||
\(1 - x\) |
\(0 < x < 1\) |
|||
\(1\) |
\(x > 0\) |
constant |
constant |
|
\(x\) |
\(x > 0\) |
|||
\(\sqrt x\) |
\(x > 0\) |
|||
\(x^2\) |
\(x > 0\) |
|||
\(x e^x\) |
\(x > 0\) |
|||
\(\left[\begin{matrix} X^{(1,1)} & .. & X^{(1,q)} \\ \vdots & & \vdots \\ X^{(p,1)} & .. & X^{(p,q)} \end{matrix}\right]\) |
\(X^{(i,j)} \in\mathbf{R}^{m_i \times n_j}_{++}\) |
|||
\(\left[\begin{matrix}x_1 & & \\& \ddots & \\& & x_n\end{matrix}\right]\) |
\(x \in\mathbf{R}^{n}_{++}\) |
|||
\(\left[\begin{matrix}X_{11} \\\vdots \\X_{nn}\end{matrix}\right]\) |
\(X \in\mathbf{R}^{n \times n}_{++}\) |
|||
\((I - X)^{-1}\) |
\(X \in\mathbf{R}^{n \times n}_{++}\), \(\lambda_{\text{pf}}(X) < 1\) |
|||
\(A \in \mathbf{R}^{m \times n}\) |
\(\left[\begin{matrix}\prod_{j=1}^n x_j^{A_{1j}} \\\vdots \\\prod_{j=1}^n x_j^{A_{mj}}\end{matrix}\right]\) |
\(x \in \mathbf{R}^n_{++}\) |
||
\(\left[\begin{matrix}X^{(1)} \cdots X^{(k)}\end{matrix}\right]\) |
\(X^{(i)} \in\mathbf{R}^{m \times n_i}_{++}\) |
|||
\(XY\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) \(Y \in\mathbf{R}^{n \times p}_{++}\) |
|||
\((sI - X)^{-1}\) |
\(X \in\mathbf{R}^{n \times n}_{++}\) \(\lambda_{\text{pf}}(X) < s\) |
|||
\(X' \in\mathbf{R}^{m' \times n'}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) \(m'n' = mn\) |
|||
\(x' \in\mathbf{R}^{mn}\) |
\(X \in\mathbf{R}^{m \times n}_{++}\) |
|||
\(\left[\begin{matrix}X^{(1)} \\ \vdots \\X^{(k)}\end{matrix}\right]\) |
\(X^{(i)} \in\mathbf{R}^{m_i \times n}_{++}\) |