Factorize the matrix B into its LU factors. Choose pivot elements by a
Markowitz criterion subject to columnwise threshold pivoting (the pivot
may not be smaller than a factor of the largest entry in its column).
Extract the row and column permutation and the LU factors. This routine can
be used only after factorize() has completed and before
a call to update(). At that point the factorized form of
matrix B is
Make one pass over the columns of a rectangular (ncol >= nrow) matrix and
pivot each nonbasic column into the basis when it increases the volume (i.e.
the absolute value of the determinant) of the basis matrix. This is one main
loop of the “maximum volume” algorithm described in [1,2].
Update the factorization to replace one column of the factorized matrix.
A call to update() must be preceded by calls to
solve_for_update() to provide the column
to be inserted and the index of the column to be replaced.