FflasFfpack
|
Set of elimination based routines for dense linear algebra with matrices over finite prime field of characteristic less than 2^26. More...
Data Structures | |
class | Modular< int32_t > |
Specialization of Modular to int32_t element type with efficient dot product. More... | |
class | Modular< int64_t > |
Specialization of Modular to int64_t element type with efficient dot product. More... | |
class | NonzeroRandIter |
Random iterator for nonzero random numbers. More... | |
class | Failure |
A precondtion failed. More... | |
Functions | |
template<class Field > | |
size_t | LUpdate (const Field &F, const FFLAS::FFLAS_DIAG Diag, const FFLAS::FFLAS_TRANSPOSE trans, const size_t M, const size_t N, typename Field::Element *A, const size_t lda, const size_t R, const size_t K, typename Field::Element *B, const size_t ldb, size_t *P, size_t *Q, const FFPACK::FFPACK_LUDIVINE_TAG LuTag, const size_t cutoff) |
Updates an existing LU factorisation with more rows. |
Set of elimination based routines for dense linear algebra with matrices over finite prime field of characteristic less than 2^26.
This class only provides a set of static member functions. No instantiation is allowed.
It enlarges the set of BLAS routines of the class FFLAS, with higher level routines based on elimination.
size_t LUpdate | ( | const Field & | F, |
const FFLAS::FFLAS_DIAG | Diag, | ||
const FFLAS::FFLAS_TRANSPOSE | trans, | ||
const size_t | M, | ||
const size_t | N, | ||
typename Field::Element * | A, | ||
const size_t | lda, | ||
const size_t | R, | ||
const size_t | K, | ||
typename Field::Element * | B, | ||
const size_t | ldb, | ||
size_t * | P, | ||
size_t * | Q, | ||
const FFPACK::FFPACK_LUDIVINE_TAG | LuTag, | ||
const size_t | cutoff | ||
) |
Updates an existing LU factorisation with more rows.
F | Field on which arithmetic is done |
Diag | Is L unit ? (if so, FFLAS::FflasUnit ) |
trans | Not used yet, should be FFLAS::FflasNoTrans |
M | rows in A |
N | cols in A |
A | A is already in LU factorisation |
lda | leading dimension of A |
R | rank of A |
K | rows in B |
B | more rows to append to A |
ldb | leading dimension of B (not tested if != lda) |
P | permutation for LU in A . Should be big enough so it can store the permutation for LU of A and B |
Q | same as P |
LuTag | see LUdivine . |
cutoff | see LUdivine . |
A.append(B)