|
M4RI 1.0.1
|
PLS and PLUQ factorization using Gray codes. More...
Go to the source code of this file.
Functions | |
| size_t | _mzd_pls_mmpf (mzd_t *A, mzp_t *P, mzp_t *Q, int k) |
| PLS matrix decomposition of A using Gray codes. | |
| size_t | _mzd_pluq_mmpf (mzd_t *A, mzp_t *P, mzp_t *Q, int k) |
| PLUQ matrix decomposition of A using Gray codes. | |
| size_t | _mzd_pls_submatrix (mzd_t *A, size_t start_row, size_t stop_row, size_t start_col, int k, mzp_t *P, mzp_t *Q, size_t *done, size_t *done_row) |
| PLS matrix decomposition of a submatrix for up to k columns starting at (r,c). | |
PLS and PLUQ factorization using Gray codes.
PLS matrix decomposition of A using Gray codes.
Returns (P,L,S,Q) satisfying PLS = A where P is a permutation matrix of dimension m x m, L is m x r unit lower triangular and S is an r x n matrix which is upper triangular except that its columns are permuted, that is S = UQ for U r x n upper triangular and Q is a n x n permutation matrix. The matrix L and S are stored in place over A.
| A | Matrix. |
| P | Preallocated row permutation. |
| Q | Preallocated column permutation. |
| k | Size of Gray code tables. |
| size_t _mzd_pls_submatrix | ( | mzd_t * | A, |
| size_t | start_row, | ||
| size_t | stop_row, | ||
| size_t | start_col, | ||
| int | k, | ||
| mzp_t * | P, | ||
| mzp_t * | Q, | ||
| size_t * | done, | ||
| size_t * | done_row | ||
| ) |
PLS matrix decomposition of a submatrix for up to k columns starting at (r,c).
Updates P and Q and modifies A in place. The buffer done afterwards holds how far a particular row was already eliminated.
| A | Matrix. |
| start_row | Row Offset. |
| stop_row | Up to which row the matrix should be processed (exclusive). |
| start_col | Column Offset. |
| k | Size of Gray code tables. |
| P | Preallocated row permutation. |
| Q | Preallocated column permutation. |
| done | Preallocated temporary buffer. |
| done_row | Stores the last row which is already reduced processed after function execution. |
| kbar | Maximum k for which a pivot could be found. |
PLUQ matrix decomposition of A using Gray codes.
Returns (P,L,U,Q) satisfying PLUQ = A where P and Q are two permutation matrices, of dimension respectively m x m and n x n, L is m x r unit lower triangular and U is r x n upper triangular.
| A | Matrix. |
| P | Preallocated row permutation. |
| Q | Preallocated column permutation. |
| k | Size of Gray code tables. |
1.7.4