Macaulay2 Engine
Loading...
Searching...
No Matches

◆ rawLUincremental()

M2_arrayintOrNull rawLUincremental ( M2_arrayintOrNull P,
MutableMatrix * LU,
const MutableMatrix * v,
int m )

Hi, this is rawLUincremental.

Returns the permutation array: we need to be more precise which one. Given (first m columns of PLU = first m columns of A (not given), and given the (m+1)-st column of A, then returns a Q, modified from P, and changes LU (which encodes L and U) s.t. (first (m+1) columns of QLU = first (m+1) columns of A (not given) Note: LU encodes L and U in the usual manner: lower triangular part is L, diagonal of L is all ones, and U is the upper triangular part.

Definition at line 667 of file mutable-matrix.cpp.

671{
672 try
673 {
674 // FIXME: can we not allocate new permutation array?
675 std::vector<size_t> perm = M2_arrayint_to_stdvector<size_t>(P);
676 return LU->LUincremental(perm, v, i);
677 } catch (const exc::engine_error& e)
678 {
679 ERROR(e.what());
680 return nullptr;
681 }
682}
const int ERROR
Definition m2-mem.cpp:55
M2_arrayintOrNull LU(const Mat &A, Mat &L, Mat &U)
std::vector< T > M2_arrayint_to_stdvector(M2_arrayint arr)
Definition util.hpp:96

References ERROR, and M2_arrayint_to_stdvector().