template<class Field , class RandIter >
Field::Element_ptr NonZeroRandomMatrix (const Field &F, size_t m, size_t n, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random non-zero Matrix.
template<class Field , class RandIter >
Field::Element_ptr NonZeroRandomMatrix (const Field &F, size_t m, size_t n, typename Field::Element_ptr A, size_t lda)
Random non-zero Matrix.
template<class Field , class RandIter >
Field::Element_ptr RandomMatrix (const Field &F, size_t m, size_t n, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Matrix.
template<class Field >
Field::Element_ptr RandomMatrix (const Field &F, size_t m, size_t n, typename Field::Element_ptr A, size_t lda)
Random Matrix.
template<class Field , class RandIter >
Field::Element_ptr RandomTriangularMatrix (const Field &F, size_t m, size_t n, const FFLAS::FFLAS_UPLO UpLo, const FFLAS::FFLAS_DIAG Diag, bool nonsingular, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Triangular Matrix.
template<class Field >
Field::Element_ptr RandomTriangularMatrix (const Field &F, size_t m, size_t n, const FFLAS::FFLAS_UPLO UpLo, const FFLAS::FFLAS_DIAG Diag, bool nonsingular, typename Field::Element_ptr A, size_t lda)
Random Triangular Matrix.
size_t RandInt (size_t a, size_t b)
template<class Field , class RandIter >
Field::Element_ptr RandomSymmetricMatrix (const Field &F, size_t n, bool nonsingular, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Symmetric Matrix.
template<class Field , class RandIter >
Field::Element_ptr RandomMatrixWithRank (const Field &F, size_t m, size_t n, size_t r, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Matrix with prescribed rank.
template<class Field >
Field::Element_ptr RandomMatrixWithRank (const Field &F, size_t m, size_t n, size_t r, typename Field::Element_ptr A, size_t lda)
Random Matrix with prescribed rank.
size_t * RandomIndexSubset (size_t N, size_t R, size_t *P)
Pick uniformly at random a sequence of R
distinct elements from the set using Knuth's shuffle.
size_t * RandomPermutation (size_t N, size_t *P)
Pick uniformly at random a permutation of size N
stored in LAPACK format using Knuth's shuffle.
void RandomRankProfileMatrix (size_t M, size_t N, size_t R, size_t *rows, size_t *cols)
Pick uniformly at random an R-subpermutation of dimension M
x N
: a matrix with only R non-zeros equal to one, in a random rook placement.
void swapval (size_t k, size_t N, size_t *P, size_t val)
void RandomSymmetricRankProfileMatrix (size_t N, size_t R, size_t *rows, size_t *cols)
Pick uniformly at random a symmetric R-subpermutation of dimension N
x N
: a symmetric matrix with only R non-zeros, all equal to one, in a random rook placement.
void RandomLTQSRankProfileMatrix (size_t n, size_t r, size_t t, size_t *rows, size_t *cols)
template<class Field , class RandIter >
Field::Element_ptr RandomMatrixWithRankandRPM (const Field &F, size_t M, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, const size_t *RRP, const size_t *CRP, RandIter &G)
Random Matrix with prescribed rank and rank profile matrix Creates an m
x n
matrix with random entries and rank r
.
template<class Field >
Field::Element_ptr RandomMatrixWithRankandRPM (const Field &F, size_t M, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, const size_t *RRP, const size_t *CRP)
Random Matrix with prescribed rank and rank profile matrix Creates an m
x n
matrix with random entries and rank r
.
template<class Field , class RandIter >
Field::Element_ptr RandomSymmetricMatrixWithRankandRPM (const Field &F, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, const size_t *RRP, const size_t *CRP, RandIter &G)
Random Symmetric Matrix with prescribed rank and rank profile matrix Creates an n
x n
symmetric matrix with random entries and rank r
.
template<class Field >
Field::Element_ptr RandomSymmetricMatrixWithRankandRPM (const Field &F, size_t M, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, const size_t *RRP, const size_t *CRP)
Random Symmetric Matrix with prescribed rank and rank profile matrix Creates an n
x n
symmetric matrix with random entries and rank r
.
template<class Field , class RandIter >
Field::Element_ptr RandomMatrixWithRankandRandomRPM (const Field &F, size_t M, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Matrix with prescribed rank, with random rank profile matrix Creates an m
x n
matrix with random entries, rank r
and with a rank profile matrix chosen uniformly at random.
template<class Field >
Field::Element_ptr RandomMatrixWithRankandRandomRPM (const Field &F, size_t M, size_t N, size_t R, typename Field::Element_ptr A, size_t lda)
Random Matrix with prescribed rank, with random rank profile matrix Creates an m
x n
matrix with random entries, rank r
and with a rank profile matrix chosen uniformly at random.
template<class Field , class RandIter >
Field::Element_ptr RandomSymmetricMatrixWithRankandRandomRPM (const Field &F, size_t N, size_t R, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Symmetric Matrix with prescribed rank, with random rank profile matrix Creates an n
x n
matrix with random entries, rank r
and with a rank profile matrix chosen uniformly at random.
template<class Field >
Field::Element_ptr RandomSymmetricMatrixWithRankandRandomRPM (const Field &F, size_t N, size_t R, typename Field::Element_ptr A, size_t lda)
Random Symmetric Matrix with prescribed rank, with random rank profile matrix Creates an n
x n
matrix with random entries, rank r
and with a rank profile matrix chosen uniformly at random.
template<class Field >
Field::Element_ptr RandomMatrixWithDet (const Field &F, size_t n, const typename Field::Element d, typename Field::Element_ptr A, size_t lda)
Random Matrix with prescribed det.
template<class Field , class RandIter >
Field::Element_ptr RandomMatrixWithDet (const Field &F, size_t n, const typename Field::Element d, typename Field::Element_ptr A, size_t lda, RandIter &G)
Random Matrix with prescribed det.
template<class Field , class RandIter >
Field::Element_ptr RandomLTQSMatrixWithRankandQSorder (Field &F, size_t n, size_t r, size_t t, typename Field::Element_ptr A, size_t lda, RandIter &G)