Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

SolverConcept Class Reference

#include <solver-concept.h>

Inheritance diagram for SolverConcept:

Wiedemann

Detailed Description

showing functions expected of solver objects

Solver objects implement the functions described here. Generally a solver object will use a collection of closely related algorithms to implement these functions. It may be desirable to use different solver objects for different purposes. For a given matrix one object may be best for rank and another for solving a system, for instance. The intention of the object is to group related algorithms and to provide a convenient mechanism for trying competing methods on a given problem.

The solver concept is not as precise as others, such as the Blackbox concept. For instance, some solver objects may implement a subset of these functions, and some solver objects may implement useful and important additional functions.


Public Member Functions

template<class Element, class Blackbox> Elementdeterminant (Element &det, Blackbox &A)
 det <-- determinant of A.

template<class Blackbox> unsigned long & rank (unsigned long &r, const Blackbox &A)
 r <-- rank of A.

template<class Polynomial, class Blackbox> Polynomialminpoly (Polynomial &P, const Blackbox &A)
 P <-- Minimal polynomial of A.

template<class Element, class Blackbox> Elementtrace (Element &t, const Blackbox &A)
 t <-- trace of A (sum of diagonal entries).

template<class Vector, class Blackbox> bool solve (Vector &x, const Blackbox &A, const Vector &b)
 if possible, set x such that Ax = b and return true, else return false.

template<class Vector, class Blackbox> Vectornullspace_vector (Vector &x, const Blackbox &A)
 set x such that Ax = 0, randomly, if a choice exists.

template<class Vector, class Blackbox> bool inconsistency_certificate (Vector &u, const Blackbox &A, const Vector &b)
 if possible, set u such that u^T A = 0 & u^T b != 0 and return true, else return false.


Member Function Documentation

Element& determinant Element det,
Blackbox &  A
 

det <-- determinant of A.

Reimplemented in Wiedemann.

unsigned long& rank unsigned long &  r,
const Blackbox &  A
 

r <-- rank of A.

Reimplemented in Wiedemann.

Polynomial& minpoly Polynomial P,
const Blackbox &  A
 

P <-- Minimal polynomial of A.

The resulting monic polynomial P(x) is stored as a vector of coefficients. It satisfies P(A)=0, and for all Q(x) with deg(Q) < deg(P), Q(A) != 0.

Reimplemented in Wiedemann.

Element& trace Element t,
const Blackbox &  A
 

t <-- trace of A (sum of diagonal entries).

Reimplemented in Wiedemann.

bool solve Vector x,
const Blackbox &  A,
const Vector b
 

if possible, set x such that Ax = b and return true, else return false.

Vector& nullspace_vector Vector x,
const Blackbox &  A
 

set x such that Ax = 0, randomly, if a choice exists.

A sequence of nullity(A) calls should have an expectation of producing a nullspace basis.

bool inconsistency_certificate Vector u,
const Blackbox &  A,
const Vector b
 

if possible, set u such that u^T A = 0 & u^T b != 0 and return true, else return false.


Generated on Fri Jul 8 10:29:56 2005 for linbox by doxygen 1.3.7