sporco.fista.bpdn¶
Classes for FISTA algorithm for the BPDN problem
Classes
|
Class for FISTA algorithm for the Basis Pursuit DeNoising (BPDN) [16] problem. |
Class Descriptions¶
- class sporco.fista.bpdn.BPDN(*args, **kwargs)[source]¶
Bases:
sporco.fista.fista.FISTA
Class for FISTA algorithm for the Basis Pursuit DeNoising (BPDN) [16] problem.
The problem form is
\[\mathrm{argmin}_\mathbf{x} \; (1/2) \| D \mathbf{x} - \mathbf{s} \|_2^2 + \lambda \| \mathbf{x} \|_1\]where \(\mathbf{s}\) is the input vector/matrix, \(D\) is the dictionary, and \(\mathbf{x}\) is the sparse representation.
After termination of the
solve
method, attributeitstat
is a list of tuples representing statistics of each iteration. The fields of the named tupleIterationStats
are:
Iter
: Iteration number
ObjFun
: Objective function value
DFid
: Value of data fidelity term \((1/2) \| D \mathbf{x} - \mathbf{s} \|_2^2\)
RegL1
: Value of regularisation term \(\lambda \| \mathbf{x} \|_1\)
Rsdl
: Residual
L
: Inverse of gradient step parameter
Time
: Cumulative run time
- Parameters
- Darray_like
Dictionary array (2d)
- Sarray_like
Signal array (1d or 2d)
- lmbdafloat
Regularisation parameter
- opt
BPDN.Options
objectAlgorithm options
- class Options(opt=None)[source]¶
Bases:
sporco.fista.fista.FISTA.Options
BPDN algorithm options
Options include all of those defined in
fista.FISTA.Options
, together with additional options:
L1Weight
: An array of weights for the \(\ell_1\) norm. The array shape must be such that the array is compatible for multiplication with the X/Y variables. If this option is defined, the regularization term is \(\lambda \| \mathbf{w} \odot \mathbf{x} \|_1\) where \(\mathbf{w}\) denotes the weighting array.
- Parameters
- optdict or None, optional (default None)
BPDN algorithm options