linbox
Public Types | Public Member Functions
SolverTraits Struct Reference

Solver traits. More...

#include <methods.h>

Inherits Specifier.

Public Types

enum  SingularState
 Whether the system is known to be singular or nonsingular.
 
enum  Preconditioner
 Which preconditioner to use to ensure generic rank profile. More...
 
enum  BlackboxShape
 Other shapes : UNIMOD_UT – unimodular upper triang. More...
 
enum  
 Whether the rank of the system is known (otherwise its value)
 
enum  
 Whether the system is known to be symmetric.
 
enum  
 Whether the probabilistic computation has to be certified Las-Vegas.
 
enum  PivotStrategy
 Linear-time pivoting or not for eliminations.
 
typedef InheritEnum
< BlackboxShape,
Preconditioner > 
Shape
 Shape of a Blackbox Precontioner shapes and other blackbox shape are combined.
 

Public Member Functions

 SolverTraits (bool CheckResult=true)
 Constructor. More...
 
 SolverTraits (const Specifier &S)
 Constructor from a MethodTraits structure. More...
 
Preconditioner preconditioner () const
 Accessors. More...
 
void preconditioner (Preconditioner p)
 Manipulators. More...
 

Detailed Description

Solver traits.

User-specified parameters for solving a linear system.

Member Enumeration Documentation

enum Preconditioner
inherited

Which preconditioner to use to ensure generic rank profile.

NO_PRECONDITIONER - Do not use any preconditioner BUTTERFLY - Use a butterfly network, see Butterfly SPARSE - Use a sparse preconditioner, c.f. (Mulders 2000) TOEPLITZ - Use a Toeplitz preconditioner, c.f. (Kaltofen and Saunders 1991) SYMMETRIZE - Use A^T A (Lanczos only) PARTIAL_DIAGONAL - Use AD, where D is a random nonsingular diagonal matrix (Lanczos only) PARTIAL_DIAGONAL_SYMMETRIZE - Use A^T D A, where D is a random nonsingular diagonal matrix (Lanczos only) FULL_DIAGONAL - Use D_1 A^T D_2 A D_1, where D_1 and D_2 are random nonsingular diagonal matrices (Lanczos only) DENSE (Dixon use)

enum BlackboxShape
inherited

Other shapes : UNIMOD_UT – unimodular upper triang.

Toeplitz UNIMOD_LT – unimodular lower triang. Toeplitz UNIMOD_UH – unimodular upper triang. Hankel UNIMOD_LH – unimodular lower triang. Hankel

Constructor & Destructor Documentation

SolverTraits ( bool  CheckResult = true)
inline

Constructor.

Parameters
CheckResultTrue if and only if the solution should be checked for correctness after it is computed (very much recommended for the randomized algorithms Wiedemann and Lanczos); default is true
SolverTraits ( const Specifier &  S)
inline

Constructor from a MethodTraits structure.

Parameters
SMethodTraits structure from which to get defaults

Member Function Documentation

Preconditioner preconditioner ( ) const
inlineinherited

Accessors.

These functions just return the corresponding parameters from the structure

void preconditioner ( Preconditioner  p)
inlineinherited

Manipulators.

These functions allow on-the-fly modification of a SolverTraits structure. Note that it is guaranteed that your SolverTraits structure will not be modified during solve.


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