@@ -59,10 +59,10 @@ Different initializations can be set during construction `x = Variable( [1.; 0.;
5959Constrained optimization is also encompassed by the [ Standard problem formulation] ( @ref ) : for a nonempty set $\mathcal{S}$ the constraint of
6060
6161``` math
62- \begin{align*}
63- \underset{ \mathbf{x} }{\text{minimize}} \ & f(\mathbf{x}) \\
64- \text{subject to } \ & \mathbf{x} \in \mathcal{S}
65- \end{align*}
62+ \underset{\mathbf{x}}{\text{minimize}} \
63+ f(\mathbf{x}) \
64+ \text{s.t. } \
65+ \mathbf{x} \in \mathcal{S}
6666```
6767
6868can be converted into an * indicator function*
@@ -79,10 +79,10 @@ This conversion is automatically performed by StructuredOptimization.jl.
7979For example, the non-negative deconvolution problem:
8080
8181``` math
82- \begin{align*}
83- \underset{ \mathbf{x} }{\text{minimize}} \ & \ tfrac{1}{2} \| \mathbf{x} * \mathbf{h} - \mathbf{y} \|^2 \\
84- \text{subject to } \ & \mathbf{x} \geq 0
85- \end{align*}
82+ \underset{ \mathbf{x} }{\text{minimize}} \
83+ \tfrac{1}{2} \| \mathbf{x} * \mathbf{h} - \mathbf{y} \|^2 \
84+ \text{s.t. } \
85+ \mathbf{x} \geq 0
8686```
8787
8888where $* $ stands for convolution and $\mathbf{h}$ contains the taps of a finite impulse response filter,
@@ -114,10 +114,10 @@ julia> @minimize ls(conv(x,h)-y) st x >= 0.
114114It is possible to use multiple variables which are allowed to be matrices or even tensors. For example a non-negative matrix factorization problem:
115115
116116``` math
117- \begin{align*}
118- \underset{ \mathbf{X}_1, \mathbf{X}_2 }{\text{minimize}} \ & \ tfrac{1}{2} \| \mathbf{X}_1 \mathbf{X}_2 - \mathbf{Y} \| \\
119- \text{subject to } \ & \mathbf{X}_1 \geq 0, \ \mathbf{X}_2 \geq 0,
120- \end{align*}
117+ \underset{ \mathbf{X}_1, \mathbf{X}_2 }{\text{minimize}} \
118+ \tfrac{1}{2} \| \mathbf{X}_1 \mathbf{X}_2 - \mathbf{Y} \|^2 \
119+ \text{s.t. } \
120+ \mathbf{X}_1 \geq 0, \ \mathbf{X}_2 \geq 0,
121121```
122122
123123can be solved using the following code:
0 commit comments