linbox  1
Public Member Functions
BlackboxFactory< Field, Blackbox > Class Template Reference

A tool for computations with integer and rational matrices. More...

#include <factory.h>

List of all members.

Public Member Functions

virtual ~BlackboxFactory ()
 Virtual destructor.
virtual Blackbox * makeBlackbox (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

Detailed Description

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

A tool for computations with integer and rational matrices.

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.


Member Function Documentation

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:
FField over which to construct the black box

Implemented in DenseMatrixFactory< Field, BElement >, and SparseMatrixFactory< Field, BElement, Row, BRow >.

virtual integer& maxNorm ( integer res) [pure virtual]

Compute and return the max-norm of the matrix.

Parameters:
resPlace to store result

Implemented in DenseMatrixFactory< Field, BElement >, and SparseMatrixFactory< Field, BElement, Row, BRow >.

virtual integer& hadamardBound ( integer res) const [pure virtual]

Compute and return the hadamard bound of the matrxi.

Implemented in DenseMatrixFactory< Field, BElement >, and SparseMatrixFactory< Field, BElement, Row, BRow >.

virtual size_t rowdim ( ) [pure virtual]

Give the row dimension of the matrix

Implemented in DenseMatrixFactory< Field, BElement >, and SparseMatrixFactory< Field, BElement, Row, BRow >.

virtual size_t coldim ( ) [pure virtual]

Give the column dimension of the matrix

Implemented in DenseMatrixFactory< Field, BElement >, and SparseMatrixFactory< Field, BElement, Row, BRow >.


The documentation for this class was generated from the following file: