46 std::vector<size_t>& result_profile);
const std::vector< size_t > & permutation()
void columnRankProfile(std::vector< size_t > &profile)
M2::ARingZZpFFPACK RingType
bool solveInvertible(const Mat &B, Mat &X)
void determinant(ElementType &result)
RingType::ElementType ElementType
void matrixPLU(std::vector< size_t > &P, Mat &L, Mat &U)
bool solve(const Mat &B, Mat &X)
static void setUpperLower(const Mat &LU, Mat &lower, Mat &upper)
FieldType::Element ElementType
wrapper for the FFPACK::ModularBalanced<double> field implementation
VALGRIND_MAKE_MEM_DEFINED & result(result)
M2_arrayint M2_arrayintOrNull
void determinant(const DMatZZpFFPACK &A, ZZpFFPACK::ElementType &result_det)
bool inverse(const DMatZZpFFPACK &A, DMatZZpFFPACK &result_inv)
size_t rank(const DMatZZpFFPACK &A)
size_t nullSpace(const DMatZZpFFPACK &A, DMatZZpFFPACK &result_nullspace)
M2_arrayintOrNull rankProfile(const DMatZZpFFPACK &A, bool row_profile)
bool solveLinear(const DMatZZpFFPACK &A, const DMatZZpFFPACK &B, DMatZZpFFPACK &X)