tensorly.solvers.nnls.active_set_nnls

active_set_nnls(Utm, UtU, x=None, n_iter_max=100, tol=1e-07)[source]

Active set algorithm for non-negative least square solution, see [1]

Computes an approximate non-negative solution for Ux=m linear system.

Parameters:
Utmvectorized ndarray

Pre-computed product of the transposed of U and m

UtUndarray

Pre-computed Kronecker product of the transposed of U and U

xinit

Default: None

n_iter_maxint

Maximum number of iteration Default: 100

tolfloat

Early stopping criterion

Returns:
xndarray

Notes

This function solves following problem:

\[\begin{equation} \min_{x} \|Ux - m\|^2 \end{equation}\]

According to [1], non-negativity-constrained least square estimation problem becomes:

\[\begin{equation} x' = Utm - UtU x \end{equation}\]

References

[1]

Bro, R., & De Jong, S. (1997). A fast non‐negativity‐constrained least squares algorithm. Journal of Chemometrics: A Journal of the Chemometrics Society, 11(5), 393-401.