Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

smith.C File Reference

#include <iostream>
#include <string>
#include <vector>
#include <list>
#include "linbox/util/timer.h"
#include "linbox/field/unparametric.h"
#include "linbox/field/local2_32.h"
#include "linbox/algorithms/2local-smith.h"
#include "linbox/algorithms/local-smith.h"
#include "linbox/algorithms/iliopoulos-elimination.h"
#include "linbox/blackbox/dense.h"
#include "linbox/field/PIR-modular-int32.h"

Compounds

struct  pwrlist

Typedefs

typedef PIRModular< int32 > PIR

Functions

template<class PIR> void Mat (DenseMatrix< PIR > &M, PIR &R, int n, string src, string file, string format)
template<class I1, class Lp> void distinct (I1 a, I1 b, Lp &c)
template<class I> void display (I b, I e)
int main (int argc, char *argv[])
template<class PIR> void RandomRoughMat (DenseMatrix< PIR > &M, PIR &R, int n)
template<class PIR> void RandomFromDiagMat (DenseMatrix< PIR > &M, PIR &R, int n)
template<class PIR> void RandomFibMat (DenseMatrix< PIR > &M, PIR &R, int n)
template<class Ring> void scramble (DenseMatrix< Ring > &M)
template<class PIR> void TrefMat (DenseMatrix< PIR > &M, PIR &R, int n)
template<class num> num & qread (num &val, pwrlist &M, istream &in)
template<class PIR> void KratMat (DenseMatrix< PIR > &M, PIR &R, int q, istream &in)

Typedef Documentation

typedef PIRModular<int32> PIR
 


Function Documentation

void display (  I    b,
I    e
) 
 

void distinct (  I1    a,
I1    b,
Lp &    c
) 
 

void KratMat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    q,
istream &    in
) 
 

int main (  int    argc,
char *    argv[]
) 
 

void Mat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    n,
string    src,
string    file,
string    format
) 
 

Output matrix is determined by src which may be: "random-rough" This mat will have s, near sqrt(n), distinct invariant factors, each repeated twice), involving the s primes 101, 103, ... "random" This mat will have the same nontrivial invariant factors as diag(1,2,3,5,8, ... 999, 0, 1, 2, ...). "fib" This mat will have the same nontrivial invariant factors as diag(1,2,3,5,8, ... fib(k)), where k is about sqrt(n). The basic matrix is block diagonal with i-th block of order i and being a tridiagonal {-1,0,1} matrix whose snf = diag(i-1 1's, fib(i)), where fib(1) = 1, fib(2) = 2. But note that, depending on n, the last block may be truncated, thus repeating an earlier fibonacci number. "file" (or any other string) mat read from named file with format "sparse" or "dense". Also "tref" and file with format "kdense"

num& qread (  num &    val,
pwrlist &    M,
istream &    in
) 
 

void RandomFibMat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    n
) 
 

void RandomFromDiagMat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    n
) 
 

void RandomRoughMat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    n
) 
 

void scramble (  DenseMatrix< Ring > &    M ) 
 

void TrefMat (  DenseMatrix< PIR > &    M,
PIR &    R,
int    n
) 
 


Generated on Mon Jun 20 09:16:50 2005 for linbox by doxygen1.2.18