linbox  1
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
ActivityStateUsed by commentator
BaseTimerBase for class RealTimer; class SysTimer; class UserTimer;
BitVector
BlackboxArchetypeShowing the member functions provided by all blackbox matrix classes
BlackboxBlockContainerBase< _Field, _Blackbox >A base class for BlackboxBlockContainer. The primary member function is begin()
BlackboxContainer< Field, _Blackbox, RandIter >Limited doc so far
BlackboxContainerBase< Field, Blackbox >A base class for BlackboxContainer. The primary member function is begin()
BlackboxContainerSymmetric< Field, _Blackbox, RandIter >See base class for doc
BlackboxContainerSymmetrize< Field, _Blackbox, RandIter >Symmetrizing iterator (for rank computations)
BlackboxFactory< Field, Blackbox >A tool for computations with integer and rational matrices
BlackboxInterfaceThis blackbox base class exists solely to aid documentation organization
BlasBlackbox< _Field >Dense matrix representation for BLAS based elimination.A BlasBlackbox can be constructed from any blackbox matrix. This costs n blackbox matrix vector products in general, but is efficiently done from a DenseMatrix or SparseMatrix
BlasMatrixDomainMulAdd< Field, Operand1, Operand2, Operand3 >
BlockLanczosSolver< Field, Matrix >Block Lanczos iteration
BlockMasseyDomain< _Field, _Sequence >Compute the linear generator of a sequence of matrices
BlockRing< _Field >
BooleanSwitch
BooleanSwitchFactory
Butterfly< _Field, Switch >Switching Network based BlackBox Matrix. A good preconditioner
CekstvSwitch< Field >
CekstvSwitchFactory< Field >
CommentatorGive information to user during runtimeThis object is used for reporting information about a computation to the user. Such information includes errors and warnings, descriptions of internal progress, performance measurements, and timing estimates. It also includes facilities for controlling the type and amount of information displayed
Companion< _Field >Companion matrix of a monic polynomial
Compose< _Blackbox1, _Blackbox2 >Blackbox of a product: C := AB, i.e. Cx := A(Bx)
Compose< _Blackbox, _Blackbox >Specialization for _Blackbox1 = _Blackbox2
ComposeTraits< IMatrix >Used in ..., for example
ComposeTraits< DenseMatrix< Field > >Used in smith-binary, for example
ConstantVectorStream< _Vector >
DenseContainer< Field, Vector, RandIter >Limited doc so far
DenseMatrix< _Field >Blackbox interface to dense matrix representation
DenseMatrixBase< _Element >
DenseMatrixFactory< Field, BElement >
DenseRowsMatrix< _Row >
DenseSubmatrix< _Element >
Diagonal< Field, Trait >Random diagonal matrices are used heavily as preconditioners
Diagonal< _Field, VectorCategories::DenseVectorTag >Specialization of Diagonal for application to dense vectors
Diagonal< Field, VectorCategories::SparseAssociativeVectorTag >Specialization of Diagonal for application to sparse associative vectors
Diagonal< Field, VectorCategories::SparseSequenceVectorTag >Specialization of Diagonal for application to sparse sequence vectors
Dif< _Blackbox1, _Blackbox2 >Blackbox of a difference: C := A - B, i.e. Cx = Ax - Bx
DiophantineSolver< QSolver >DiophantineSolver<QSolver> creates a diophantine solver using a QSolver to generate rational solutions
DirectSum< _Blackbox1, _Blackbox2 >If C = DirectSum(A, B) and y = xA and z = wB, then (y,z) = (x,w)C
BlockRing< _Field >::ElementDefault constructable wrapper for BlasMatrix
ElementAbstractAbstract element base class, a technicality
ElementArchetypeField and Ring element interface specification and archetypical instance class.Element classes must contain public default constructor, copy constructor, assignment operator, and destructor. Note that primitive types such as int and double meet this specification
ElementEnvelope< Field >Adaptor from archetypical interface to abstract interface, a technicality
Eliminator< Field, Matrix >
FFPACKSet of elimination based routines for dense linear algebra with matrices over finite prime field of characteristic less than 2^26
FieldAbstractField base class.Found in the file {linbox/field/abstract.h}. Abstract base class used to implement the field archetype to minimize code bloat. All public member functions of this class are purely virtual and must be implemented by all derived classes
FieldArchetypeField specification and archetypical instance.The FieldArchetype and its encapsulated element class contain pointers to the FieldAbstract and its encapsulated field element, respectively. FieldAbstract then uses virtual member functions to define operations on its encapsulated field element. This field element has no knowledge of the field properties being used on it which means the field object must supply these operations
FieldAXPY< Field >
FieldEnvelope< Field >Derived class used to implement the field archetypeHelps to minimize code bloat. This class implements all purely virtual member functions of the abstract base class. This class is used to wrap a LinBox field so that it might be used with the Field archetype
FieldInterfaceThis field base class exists solely to aid documentation organization
FieldIO< _Element >Dummy field for conceptually unclear io
GaussDomain< _Field >Repository of functions for rank by elimination on sparse matrices
GivaroExtension< BaseField >
GivaroExtension< GivaroGfq >
GivaroField< BaseField >Give LinBox fields an allure of Givaro FieldsThis class adds the necessary requirements allowing the construction of an extension of a LinBox field
GivaroGfq
GivaroMontgWrapper of Givaro's Montgomery<Std32>.This class is a modular representation with a Montgomery reduction
GivaroZpz< TAG >Wrapper of Givaro's ZpzDom.Most methods are inherited from ZpzDom<Std16>, ZpzDom<Std32> and ZpzDom<log16> classes of Givaro. These classes allow to construct only finite field with a prime modulus
GivPolynomial< T, Alloc >Polynomials over a domain
GivPolynomialRing< Domain, StorageTag >Polynomials with coefficients modulo some power of two
GmpRandomPrimeGenerating random prime integers, using the gmp library
GMPRationalElementElements of GMP_Rationals
Hilbert< _Field >Example of a blackbox that is space efficient, though not time efficient
Hilbert_JIT_Entry< _Field >The object needed to build a Hilbert matrix as a JIT matrix
Hom< Source, Target >Map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of type Source to a ring (usually field) of type Target. The intended use is that it will be a natural mapping. For instance:
InconsistentSystem< Vector >
indexDomain
InvalidMatrixInput
Inverse< Blackbox >A Blackbox for the inverse. Not efficient if many applications are used.The matrix itself is not stored in memory. Rather, its apply methods use a vector of field elements, which are used to "multiply" the matrix to a vector
JIT_Matrix< _Field, JIT_EntryGenerator >Example of a blackbox that is space efficient, though not time efficient
LABlockLanczosSolver< Field, Matrix >
LanczosSolver< Field, Vector >Solve a linear system using the conjugate Lanczos iteration
LastInvariantFactor< _Ring, _Solver >This is used in a Smith Form algorithm
LidiaGfqDefines the Galois Field GF(pk)
LinboxError
Local2_32Fast arithmetic mod 2^32, including gcd
MasseyDomain< Field, Sequence >Berlekamp/Massey algorithm
MatrixArchetype< _Element >Directly-represented matrix archetype
MatrixCategoriesFor specializing matrix arithmetic
MatrixDomain< Field >Class of matrix arithmetic functions
MatrixRank< _Ring, _Field, _RandomPrime >
MatrixStreamReader< Field >
MessageClass
MethodMethod specifiers for controlling algorithm choice
MGBlockLanczosSolver< Field, Matrix >Block Lanczos iteration
Modular< _Element >Prime fields of positive characteristic implemented directly in LinBox
Modular< int16 >Specialization of Modular to short element type with efficient dot product
Modular< int32 >Specialization of Modular to int32 element type with efficient dot product
Modular< int8 >Specialization of Modular to signed 8 bit element type with efficient dot product
Modular< uint16 >Specialization of class Modular for uint16 element type
Modular< uint32 >Specialization of class Modular for uint32 element type
Modular< uint8 >Allows compact storage when the modulus is less than 2^8
ModularBalancedRandIter< Element >
ModularRandIter< Element >
MoorePenrose< Blackbox >Generalized inverse of a blackbox. Efficiency concerns when many applications are used
MVProductDomain< Field >Helper class to allow specializations of certain matrix-vector products
NoHomErrorError object for attempt to establish a Hom that cannot exist
NonzeroRandIter< Field, RandIter >
NTL_PID_zz_pExtend Wrapper of zz_p from NTL. Add PID functions
NTL_ZZInteger ring
NTL_zz_pLong ints modulo a positive integer
NTL_zz_pEFor large cardinality, small prime
NTL_zz_pX
NTL_ZZ_pX
NullMatrixThis is a representation of the 0 by 0 empty matrix which does not occupy memory. It has it's uses!
OneInvariantFactor< _Ring, _LastInvariantFactor, _Compose, _RandomMatrix >Limited doc so far
Pair< T, I >Pair of I and T : struct { column index, value }
ParamFuzzy
Permutation< _Field, Storage >Size is n
PIR_ntl_ZZ_pExtend Wrapper of ZZ_p from NTL. Add PIR functions
PolynomialBB< Blackbox, Poly >Represent the matrix P(A) where A is a blackbox and P a polynomial
PowerGaussDomain< _Field >Repository of functions for rank modulo a prime power by elimination on sparse matrices
PowerOfTwoModular< Ints >Ring of elements modulo some power of two
PrimeStream< Element >
PowerOfTwoModular< Ints >::RandIter
RandIterAbstract
RandIterArchetypeRandom field element generator archetype
RandIterEnvelope< Field >
RandomDenseStream< Field, _Vector, RandIter, Trait >
RandomSparseStream< Field, _Vector, RandIter, Trait >
RationalReconstruction< _LiftingContainer >Limited doc so far. Used, for instance, after LiftingContainer
RationalRemainder< RatCRABase >Chinese remainder of rationals
RationalSolver< Ring, Field, RandomPrime, MethodTraits >Interface for the different specialization of p-adic lifting based solvers
RationalSolver< Ring, Field, RandomPrime, BlockWiedemannTraits >Partial specialization of p-adic based solver with block Wiedemann algorithm
RationalSolver< Ring, Field, RandomPrime, DixonTraits >Partial specialization of p-adic based solver with Dixon algorithm
RationalSolver< Ring, Field, RandomPrime, NumericalTraits >Partial specialization of p-adic based solver with a hybrid Numeric/Symbolic computation
RationalSolver< Ring, Field, RandomPrime, WiedemannTraits >Partial specialization of p-adic based solver with Wiedemann algorithm
RawVector< Element >
Rebind< XXX, U >Used in support of Hom, MatrixHom
ReverseVector< Vector >
RingAbstractAbstract ring base class.Found in the file {linbox/ring/abstract.h}. Abstract base class used to implement the ring archetype to minimize code bloat. All public member functions of this class are purely virtual and must be implemented by all derived classes
RingArchetypeSpecification and archetypic instance for the ring interfaceThe {RingArchetype} and its encapsulated element class contain pointers to the {RingAbstract} and its encapsulated ring element, respectively. {RingAbstract} then uses virtual member functions to define operations on its encapsulated ring element. This ring element has no knowledge of the ring properties being used on it which means the ring object must supply these operations
RingEnvelope< Ring >Implement the ring archetype to minimize code bloat.This class implements all purely virtual member functions of the abstract base class. This class is used to wrap a {LinBox} ring so that it might be used with the Ring archetype
RingInterfaceThis ring base class exists solely to aid documentation organization
ScalarMatrix< _Field >Blackbox for aI. Use particularly for representing 0 and I
SmithFormBinary< _Ring, _oneInvariantFactor, _Rank >Compute Smith form
SmithFormIliopoulosThis is Iliopoulos' algorithm do diagonalize
SmithFormLocal< LocalPID >Smith normal form (invariant factors) of a matrix over a local ring
SolveFailed
SolverTraits
Sparse_Vector< T, I >Vector< Pair<T> > and actualsize
SparseMatrix< _Field, _Row >Vector of sparse rows
SparseMatrixBase< _Element, _Row, Trait >
SparseMatrixFactory< Field, BElement, Row, BRow >
StandardBasisStream< Field, _Vector, Trait >
Subiterator< Iterator >Subvector iterator class provides striding iterators.A Subiterator steps by a fixed stride thru the underlying container. Subiter<Iterator> requires that Iterator be a random access iterator class and then itself provides the full functionality of a random access iterator class. See STL documentation for that functionality. Documented here is only the constructor from (1) an iterator of an underlying container and (2) a stride amount
Submatrix< Blackbox, Trait >Leading principal minor of existing matrix without copying
Submatrix< Blackbox, VectorCategories::DenseVectorTag >
Submatrix< DenseMatrix< _Field >, VectorCategories::DenseVectorTag >
Subvector< Iterator, ConstIterator >Dense subvectorThis class provides a statically sized subvector of a random access container (such as std::vector, deque). It does not work on sparse linbox vectors. It implements all of the types and methods of a std::vector except for those that invalidate iterators, i.e., those (potentially) involving vector resizing, such as push_back(), insert(), resize()
Sum< _Blackbox1, _Blackbox2 >Blackbox of a matrix sum without copying
Sylvester< _Field >
Toeplitz< _CField, _PField >This is the blackbox representation of a Toeplitz matrix
Toeplitz< typename _PField::CoeffField, _PField >
Transpose< Blackbox >Transpose matrix without copying
TransposeMatrix< Matrix, Trait >
TriplesBB< _Field >Wrapper for NAG Sparse Matrix format
UnparametricRandIter< K >
VectorCategoriesList of vector categories
VectorFraction< Domain >VectorFraction<Domain> is a vector of rational elements with common reduced denominator. Here Domain is a ring supporting the gcd, eg NTL_ZZ or PID_integer For compatability with the return type of rationalSolver, it allows conversion from/to std::vector<std::pair<Domain::Element> >. All functions will return the fraction in reduced form, calling reduce() if necessary
VectorStream< _Vector >Vector factory
VectorTraits< Vector >
WiedemannSolver< Field >Linear system solvers based on Wiedemann's method
ZeroOne< _Field >Time and space efficient representation of sparse {0,1}-matrices