linbox
test-matrix-domain.C File Reference

no real doc. More...

#include "linbox/linbox-config.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include "linbox/util/commentator.h"
#include "linbox/ring/modular.h"
#include "linbox/vector/vector-domain.h"
#include "linbox/matrix/matrix-domain.h"
#include "linbox/vector/stream.h"
#include "linbox/matrix/dense-matrix.h"
#include "linbox/matrix/sparse-matrix.h"
#include "linbox/blackbox/matrix-blackbox.h"
#include "linbox/solutions/det.h"
#include "test-common.h"

Data Structures

class  SingularMatrix
 

Functions

template<class Matrix>
TransposeMatrix< Matrixtranspose (Matrix &M)
 
template<class Field, class Matrix1, class Matrix2>
void eliminate (MatrixDomain< Field > &MD, Matrix1 &M, Matrix2 &pivotRow, size_t row, size_t col, size_t rowdim, size_t coldim)
 
template<class Field, class Matrix1, class Matrix2>
Matrix1 & inv (MatrixDomain< Field > &MD, Matrix1 &res, const Matrix2 &A)
 
std::ostream & reportPermutation (std::ostream &out, const std::vector< std::pair< unsigned int, unsigned int > > &P)
 
template<class Field, class Matrix>
bool testPermutation (const Field &F, const char *text, const Matrix &M)
 
template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain (const Field &F, typename Field::RandIter &gen, const char *text, Matrix &M1, Matrix &M2, Matrix &M3, const Blackbox &A, unsigned int iterations, MatrixCategories::RowColMatrixTag)
 
template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain (const Field &F, typename Field::RandIter &gen, const char *text, Matrix &M1, Matrix &M2, Matrix &M3, const Blackbox &A, unsigned int iterations, MatrixCategories::RowMatrixTag)
 
template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain (const Field &F, typename Field::RandIter &gen, const char *text, Matrix &M1, Matrix &M2, Matrix &M3, const Blackbox &A, unsigned int iterations, MatrixCategories::ColMatrixTag)
 
template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain (const Field &F, typename Field::RandIter &gen, const char *text, Matrix &M1, Matrix &M2, Matrix &M3, const Blackbox &A, unsigned int iterations, MatrixCategories::BlackboxTag)
 
template<class Field>
bool launchTestMatrixDomain (const Field &F, size_t m, size_t n, size_t k, unsigned int iterations)
 
int main (int argc, char **argv)
 

Detailed Description

no real doc.

ERRORS:

X- Ambiguous specializations with RolColMatrixTag

  • Can't use leftMulin or rightMulin on some tests
  • VectorDomain needs subin, addin, etc. with multiple vector representations
    Test
    NO DOC

Function Documentation

◆ transpose()

template<class Matrix>
TransposeMatrix< Matrix > transpose ( Matrix & M)

◆ eliminate()

template<class Field, class Matrix1, class Matrix2>
void eliminate ( MatrixDomain< Field > & MD,
Matrix1 & M,
Matrix2 & pivotRow,
size_t row,
size_t col,
size_t rowdim,
size_t coldim )

◆ inv()

template<class Field, class Matrix1, class Matrix2>
Matrix1 & inv ( MatrixDomain< Field > & MD,
Matrix1 & res,
const Matrix2 & A )

◆ reportPermutation()

std::ostream & reportPermutation ( std::ostream & out,
const std::vector< std::pair< unsigned int, unsigned int > > & P )

◆ testPermutation()

template<class Field, class Matrix>
bool testPermutation ( const Field & F,
const char * text,
const Matrix & M )

◆ testMatrixDomain() [1/4]

template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain ( const Field & F,
typename Field::RandIter & gen,
const char * text,
Matrix & M1,
Matrix & M2,
Matrix & M3,
const Blackbox & A,
unsigned int iterations,
MatrixCategories::RowColMatrixTag  )

◆ testMatrixDomain() [2/4]

template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain ( const Field & F,
typename Field::RandIter & gen,
const char * text,
Matrix & M1,
Matrix & M2,
Matrix & M3,
const Blackbox & A,
unsigned int iterations,
MatrixCategories::RowMatrixTag  )

◆ testMatrixDomain() [3/4]

template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain ( const Field & F,
typename Field::RandIter & gen,
const char * text,
Matrix & M1,
Matrix & M2,
Matrix & M3,
const Blackbox & A,
unsigned int iterations,
MatrixCategories::ColMatrixTag  )

◆ testMatrixDomain() [4/4]

template<class Field, class Blackbox, class Matrix>
bool testMatrixDomain ( const Field & F,
typename Field::RandIter & gen,
const char * text,
Matrix & M1,
Matrix & M2,
Matrix & M3,
const Blackbox & A,
unsigned int iterations,
MatrixCategories::BlackboxTag  )

◆ launchTestMatrixDomain()

template<class Field>
bool launchTestMatrixDomain ( const Field & F,
size_t m,
size_t n,
size_t k,
unsigned int iterations )

◆ main()

int main ( int argc,
char ** argv )