FflasFfpack
Namespaces | Functions
fflas_randommatrix.h File Reference
#include "fflas-ffpack/fflas-ffpack-config.h"
#include "fflas-ffpack/utils/debug.h"
#include "fflas-ffpack/fflas/fflas.h"
#include <givaro/givinteger.h>
#include <givaro/givintprime.h>
#include <givaro/givranditer.h>
#include "fflas-ffpack/ffpack/ffpack.h"

Namespaces

namespace  FFPACK
 Finite Field PACK Set of elimination based routines for dense linear algebra.
 

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 $ \{0,\dots, N-1\}$ using Knuth's shuffle. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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)