linbox
invariant-factors-benchmark.C File Reference
#include "linbox/linbox-config.h"
#include <iostream>
#include <vector>
#include <omp.h>
#include "linbox/ring/modular.h"
#include "linbox/matrix/sparse-matrix.h"
#include "linbox/matrix/dense-matrix.h"
#include "linbox/matrix/matrix-domain.h"
#include "linbox/algorithms/blackbox-block-container.h"
#include "linbox/algorithms/block-coppersmith-domain.h"
#include "linbox/solutions/det.h"
#include <givaro/modular.h>
#include <givaro/givpoly1.h>
#include <linbox/ring/givaro-poly.h>
#include <linbox/algorithms/smith-form-kannan-bachem.h>

Typedefs

typedef Givaro::Modular< double > Field
 
typedef SparseMatrix< Field, SparseMatrixFormat::TPL_ompSparseMat
 
typedef MatrixDomain< FieldDomain
 
typedef Givaro::Modular< int32_t > BaseDom
 
typedef Givaro::Poly1Dom< BaseDom, Givaro::Dense > PolyDom
 
typedef GivaroPoly< PolyDomRing
 
typedef MatrixDomain< RingPolyMatDom
 
typedef BlasMatrix< RingPolyMat
 

Functions

int randRange (int start, int end)
 
void benchmarkBCD (Field &F, Domain &MD, SparseMat &M, Block &U, Block &V, std::vector< Block > &gen, std::vector< size_t > &deg, int t, int p)
 
bool testCorrectness (Field &F, int p, SparseMat &M, Ring &minPoly PolyDom &PD)
 
int main (int argc, char **argv)
 

Typedef Documentation

◆ Field

typedef Givaro::Modular<double> Field

◆ SparseMat

◆ Domain

◆ BaseDom

typedef Givaro::Modular<int32_t> BaseDom

◆ PolyDom

typedef Givaro::Poly1Dom<BaseDom,Givaro::Dense> PolyDom

◆ Ring

typedef GivaroPoly<PolyDom> Ring

◆ PolyMatDom

◆ PolyMat

Function Documentation

◆ randRange()

int randRange ( int start,
int end )

◆ benchmarkBCD()

void benchmarkBCD ( Field & F,
Domain & MD,
SparseMat & M,
Block & U,
Block & V,
std::vector< Block > & gen,
std::vector< size_t > & deg,
int t,
int p )

◆ testCorrectness()

bool testCorrectness ( Field & F,
int p,
SparseMat & M,
Ring &minPoly PolyDom & PD )

◆ main()

int main ( int argc,
char ** argv )