comp-imaging / ProxImaL

A domain-specific language for image optimization.
MIT License
112 stars 29 forks source link

Implement least_square_direct #89

Closed antonysigma closed 11 months ago

antonysigma commented 1 year ago

Describe the proximal function in Halide language:

\begin{align}
 f(x) &=\Vert F^T D F x - b \Vert_2^2 \\
prox(v, \rho) &= \arg \min_{x \in \mathbb{C}} f(x) + \frac{\rho}{2} \Vert x - v \Vert_2^2 \\
&= F^T \left[ \frac{ D F b / \rho + F v}{D / \rho + 1} \right]
\end{align}

where operator D is a diagonal matrix. If rho is not defined, ignore buffer b in the computation. Allocate the buffer ftmp_halide in frequency domain on the fly. Implement the algorithm with multi-threading and vectorized instructions.

Resolves: #88 . cc'ed @shnaqvi.

antonysigma commented 11 months ago

See also: #12 .