linbox
BlockHankelLiftingContainer< _Ring, _Field, _IMatrix, _FMatrix, _Block > Class Template Referenceabstract

Block Hankel LiftingContianer. More...

#include <lifting-container.h>

+ Inheritance diagram for BlockHankelLiftingContainer< _Ring, _Field, _IMatrix, _FMatrix, _Block >:

Public Types

typedef _Field Field
 
typedef _Ring Ring
 
typedef _IMatrix IMatrix
 
typedef _FMatrix FMatrix
 
typedef Field::Element Element
 
typedef IMatrix::Element Integer_t
 
typedef std::vector< Integer_tIVector
 
typedef std::vector< ElementFVector
 
typedef _Block Block
 

Public Member Functions

template<class Prime_Type, class VectorIn>
 BlockHankelLiftingContainer (const Ring &R, const Field &F, const IMatrix &A, const FMatrix &Ap, const Diagonal< Field > &D, const BlockHankelInverse< Field > &Hinv, const Block &U, const Block &V, const VectorIn &b, const Prime_Type &p)
 
virtual ~BlockHankelLiftingContainer ()
 
const Fieldfield () const
 
virtual IVectornextdigit (IVector &, const IVector &) const =0
 
const_iterator begin () const
 
const_iterator end () const
 
virtual size_t length () const
 
virtual size_t size () const
 
virtual const Ringring () const
 
virtual const Integer_tprime () const
 
const Integer_t numbound () const
 
const Integer_t denbound () const
 
const IMatrixgetMatrix () const
 
const IVectorgetVector () const
 

Data Fields

Timer tApplyU
 
Timer tApplyV
 
Timer tApplyH
 
Timer tAcc
 

Protected Member Functions

virtual IVectornextdigit (IVector &digit, const IVector &residu) const
 
void convertPrime (Integer_t &e, const integer &p)
 
void convertPrime (Integer_t &e, const std::vector< integer > &p)
 

Protected Attributes

const FMatrix_Ap
 
const Diagonal< Field > & _diagMat
 
const BlockHankelInverse< Field > & _Hinv
 
const Field_field
 
FVector _res_p
 
FVector _digit_p
 
std::vector< std::vector< Element > > _u
 
std::vector< std::vector< Element > > _v
 
size_t _block
 
size_t _numblock
 
VectorDomain< Field_VD
 
BlasMatrixDomain< Field_BMD
 
const IMatrix_matA
 
Ring _intRing
 
Integer_t _p
 
IVector _b
 
VectorDomain< Ring_VDR
 
size_t _length
 
Integer_t _numbound
 
Integer_t _denbound
 
MatrixApplyDomain< Ring, IMatrix_MAD
 

Detailed Description

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
class LinBox::BlockHankelLiftingContainer< _Ring, _Field, _IMatrix, _FMatrix, _Block >

Block Hankel LiftingContianer.

Member Typedef Documentation

◆ Field

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef _Field Field

◆ Ring

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef _Ring Ring

◆ IMatrix

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef _IMatrix IMatrix

◆ FMatrix

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef _FMatrix FMatrix

◆ Element

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef Field::Element Element

◆ Integer_t

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef IMatrix::Element Integer_t

◆ IVector

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef std::vector<Integer_t> IVector

◆ FVector

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef std::vector<Element> FVector

◆ Block

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
typedef _Block Block

Constructor & Destructor Documentation

◆ BlockHankelLiftingContainer()

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
template<class Prime_Type, class VectorIn>
BlockHankelLiftingContainer ( const Ring & R,
const Field & F,
const IMatrix & A,
const FMatrix & Ap,
const Diagonal< Field > & D,
const BlockHankelInverse< Field > & Hinv,
const Block & U,
const Block & V,
const VectorIn & b,
const Prime_Type & p )
inline

◆ ~BlockHankelLiftingContainer()

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
virtual ~BlockHankelLiftingContainer ( )
inlinevirtual

Member Function Documentation

◆ field()

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
const Field & field ( ) const
inline

◆ nextdigit() [1/2]

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
virtual IVector & nextdigit ( IVector & digit,
const IVector & residu ) const
inlineprotectedvirtual

◆ convertPrime() [1/2]

template<class _Ring, class _IMatrix>
void convertPrime ( Integer_t & e,
const integer & p )
inlineprotectedinherited

◆ convertPrime() [2/2]

template<class _Ring, class _IMatrix>
void convertPrime ( Integer_t & e,
const std::vector< integer > & p )
inlineprotectedinherited

◆ nextdigit() [2/2]

template<class _Ring, class _IMatrix>
virtual IVector & nextdigit ( IVector & ,
const IVector &  ) const
pure virtualinherited

◆ begin()

template<class _Ring, class _IMatrix>
const_iterator begin ( ) const
inlineinherited

◆ end()

template<class _Ring, class _IMatrix>
const_iterator end ( ) const
inlineinherited

◆ length()

template<class _Ring, class _IMatrix>
virtual size_t length ( ) const
inlinevirtualinherited

◆ size()

template<class _Ring, class _IMatrix>
virtual size_t size ( ) const
inlinevirtualinherited

◆ ring()

template<class _Ring, class _IMatrix>
virtual const Ring & ring ( ) const
inlinevirtualinherited

◆ prime()

template<class _Ring, class _IMatrix>
virtual const Integer_t & prime ( ) const
inlinevirtualinherited

◆ numbound()

template<class _Ring, class _IMatrix>
const Integer_t numbound ( ) const
inlineinherited

◆ denbound()

template<class _Ring, class _IMatrix>
const Integer_t denbound ( ) const
inlineinherited

◆ getMatrix()

template<class _Ring, class _IMatrix>
const IMatrix & getMatrix ( ) const
inlineinherited

◆ getVector()

template<class _Ring, class _IMatrix>
const IVector & getVector ( ) const
inlineinherited

Field Documentation

◆ _Ap

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
const FMatrix& _Ap
protected

◆ _diagMat

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
const Diagonal<Field>& _diagMat
protected

◆ _Hinv

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
const BlockHankelInverse<Field>& _Hinv
protected

◆ _field

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
const Field* _field
protected

◆ _res_p

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
FVector _res_p
mutableprotected

◆ _digit_p

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
FVector _digit_p
mutableprotected

◆ _u

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
std::vector<std::vector<Element> > _u
protected

◆ _v

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
std::vector<std::vector<Element> > _v
protected

◆ _block

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
size_t _block
protected

◆ _numblock

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
size_t _numblock
protected

◆ _VD

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
VectorDomain<Field> _VD
protected

◆ _BMD

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
BlasMatrixDomain<Field> _BMD
protected

◆ tApplyU

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
Timer tApplyU
mutable

◆ tApplyV

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
Timer tApplyV

◆ tApplyH

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
Timer tApplyH

◆ tAcc

template<class _Ring, class _Field, class _IMatrix, class _FMatrix, class _Block>
Timer tAcc

◆ _matA

template<class _Ring, class _IMatrix>
const IMatrix& _matA
protectedinherited

◆ _intRing

template<class _Ring, class _IMatrix>
Ring _intRing
protectedinherited

◆ _p

template<class _Ring, class _IMatrix>
Integer_t _p
protectedinherited

◆ _b

template<class _Ring, class _IMatrix>
IVector _b
protectedinherited

◆ _VDR

template<class _Ring, class _IMatrix>
VectorDomain<Ring> _VDR
protectedinherited

◆ _length

template<class _Ring, class _IMatrix>
size_t _length
protectedinherited

◆ _numbound

template<class _Ring, class _IMatrix>
Integer_t _numbound
protectedinherited

◆ _denbound

template<class _Ring, class _IMatrix>
Integer_t _denbound
protectedinherited

◆ _MAD

template<class _Ring, class _IMatrix>
MatrixApplyDomain<Ring,IMatrix> _MAD
protectedinherited

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