In the field of image processing, convolution is often used. I want to minimize a norm function involving convolution, for example:

\begin{array}{ll}

\text{minimize} & |Y-D(X*B)|_2 \

\text{subject to} & L(i,j)\leq X(i,j)\leq U(i,j) \

\end{array}

where Y is a constant matrix, X is variable matrix, D is down-sampling matrix, * is the convolution operator and B is the point spread function (PSF) which is generally a smoothing kernel,L and U are also constant matrixes.

One feasible solution reshapes the variable matrix X into a vector. In order to transform convolution operator * into matrix multiplication, smoothing kernel B should be converted into a matrix. But, the size of B increases so much that out-of-memory will happen.

Is there a better way to solve the problem?

Thanks very much!