MatrixOrderSVD#
- class tangles.util.matrix_order.MatrixOrderSVD(a, mode='rows', variance_explained=0.8, shift=None, svd_args=None)#
Class representing function objects computing approximations of covariance order functions by using singular value decomposition.
Members#
- a
A matrix A of shape (m, n).
- mode
Either ‘rows’ or ‘cols’. The value ‘rows’ means, that the separations we want to evaluate are separations of the set of rows of A, i.e. for a separation indicator vector \(f\) in \(\{-1,1\}^m\) we compute \(|f| = f^T A A^T f\). The value ‘cols’ means, that the separations we want to evaluate are separations of the set of columns of A, i.e. for a separation indicator vector \(f\) in \({-1,1}^n\) we compute \(|f| = f^T A^T Af\).
- shift
This parameter changes the order function’s preference for balanced separations (note: it might also have an effect on its sub- or supermodularity). Let \(c\) denote the value of shift. The order function computes the order by \(|f| = f^T (M + cJ) f\).
- u, s, vt
Left singular vectors, singular values and right singular vectors of A (only the most significant, see variance_explained).
- variance_explained
Fraction of the total variance of the data in A (or \(A^T\) if mode is set to ‘rows’) considered. We approximate the value \(|f| = f^T A^T Af\) (or \(|f| = f^T A A^T f\)) by considering only the most significant principal components of A (or \(A^T\)).