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

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

#include <factory.h>

Public Member Functions

virtual ~BlackboxFactory ()
 Virtual destructor.
 
virtual Blackbox * makeBlackbox (const Field &F)=0
 Given a field and vector type, construct a black box for the matrix over that field and using that vector type. More...
 
virtual integermaxNorm (integer &res)=0
 Compute and return the max-norm of the matrix. More...
 
virtual size_t rowdim ()=0
 Give the row dimension of the matrix.
 
virtual size_t coldim ()=0
 Give the column dimension of the matrix.
 

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

◆ makeBlackbox()

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

◆ maxNorm()

virtual integer& maxNorm ( integer res)
pure virtual

Compute and return the max-norm of the matrix.

Parameters
resPlace to store result

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