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

BlackboxFactory Class Template Reference

#include <factory.h>

List of all members.


Detailed Description

template<class Field, class Blackbox>
class LinBox::BlackboxFactory< Field, Blackbox >

A tool for computations with integer and rational matrices. @doc The blackbox factory provides a facility for performing integer or rational computations by reducing modulo one or more primes and recovering the solution with Chinese Remaindering, lifting, or rational reconstruction. It is an interface that provides one method which, given a field, produces a black box representing a particular matrix over that field. The factory object may be passed to various procedures, such as rank, det, and solve, which will perform the required modular reductions to find integer or rational solutions.

In the typical case, the user provides an object whose class inherits from BlackboxFactory and implements the method makeBlackbox. The object represents the original integer or rational version of the black box, whose data might require some modification (e.g. modular reduction) to produce a true black box. Alternatively, the resulting black box might merely be a reinterpretation of the data in the original object, as is the case where matrix entries are all nonnegative and smaller than the modulus.


Public Methods

virtual ~BlackboxFactory ()
 Virtual destructor.

virtual BlackboxmakeBlackbox (const Field &F)=0
virtual integermaxNorm (integer &res)=0
virtual integerhadamardBound (integer &res) const=0
virtual size_t rowdim ()=0
virtual size_t coldim ()=0


Constructor & Destructor Documentation

virtual ~BlackboxFactory   [inline, virtual]
 

Virtual destructor.


Member Function Documentation

virtual size_t coldim   [pure virtual]
 

Give the column dimension of the matrix

Implemented in DenseMatrixFactory, and SparseMatrixFactory.

virtual integer& hadamardBound integer   res const [pure virtual]
 

Compute and return the hadamard bound of the matrxi.

Implemented in DenseMatrixFactory, and SparseMatrixFactory.

virtual Blackbox* makeBlackbox const Field   F [pure virtual]
 

Given a field and vector type, construct a black box for the matrix over that field and using that vector type. This should be implemented by the user

Parameters:
F  Field over which to construct the black box

Implemented in DenseMatrixFactory, and SparseMatrixFactory.

virtual integer& maxNorm integer   res [pure virtual]
 

Compute and return the max-norm of the matrix.

Parameters:
res  Place to store result

Implemented in DenseMatrixFactory, and SparseMatrixFactory.

virtual size_t rowdim   [pure virtual]
 

Give the row dimension of the matrix

Implemented in DenseMatrixFactory, and SparseMatrixFactory.


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