linbox
BlockMasseyDomain< _Field, _Sequence > Class Template Reference

Compute the linear generator of a sequence of matrices. More...

#include <block-massey-domain.h>

Public Types

typedef _Field Field
 
typedef Field::Element Element
 
typedef _Sequence Sequence
 
typedef BlasMatrix< FieldCoefficient
 
typedef BlasSubmatrix< CoefficientCoeffView
 

Public Member Functions

 BlockMasseyDomain (const BlockMasseyDomain< Field, Sequence > &Mat, size_t ett_default=10)
 
 BlockMasseyDomain (Sequence *D, size_t ett_default=10)
 
const Fieldfield () const
 
SequencegetSequence () const
 
void left_minpoly (std::vector< Coefficient > &P)
 
void left_minpoly_rec (std::vector< Coefficient > &P)
 
void left_minpoly (std::vector< Coefficient > &phi, std::vector< size_t > &degree)
 
void left_minpoly_rec (std::vector< Coefficient > &P, std::vector< size_t > &degree)
 
void right_minpoly (std::vector< Coefficient > &P)
 

Detailed Description

template<class _Field, class _Sequence>
class LinBox::BlockMasseyDomain< _Field, _Sequence >

Compute the linear generator of a sequence of matrices.

This class encapsulates the functionality required for computing the block minimal polynomial of a matrix.

Bibliography
Giorgi, Jeannerod, Villard algorithm from ISSAC'03

Member Typedef Documentation

◆ Field

template<class _Field, class _Sequence>
typedef _Field Field

◆ Element

template<class _Field, class _Sequence>
typedef Field::Element Element

◆ Sequence

template<class _Field, class _Sequence>
typedef _Sequence Sequence

◆ Coefficient

template<class _Field, class _Sequence>
typedef BlasMatrix<Field> Coefficient

◆ CoeffView

template<class _Field, class _Sequence>
typedef BlasSubmatrix<Coefficient> CoeffView

Constructor & Destructor Documentation

◆ BlockMasseyDomain() [1/2]

template<class _Field, class _Sequence>
BlockMasseyDomain ( const BlockMasseyDomain< Field, Sequence > & Mat,
size_t ett_default = 10 )
inline

◆ BlockMasseyDomain() [2/2]

template<class _Field, class _Sequence>
BlockMasseyDomain ( Sequence * D,
size_t ett_default = 10 )
inline

Member Function Documentation

◆ field()

template<class _Field, class _Sequence>
const Field & field ( ) const
inline

◆ getSequence()

template<class _Field, class _Sequence>
Sequence * getSequence ( ) const
inline

◆ left_minpoly() [1/2]

template<class _Field, class _Sequence>
void left_minpoly ( std::vector< Coefficient > & P)
inline

◆ left_minpoly_rec() [1/2]

template<class _Field, class _Sequence>
void left_minpoly_rec ( std::vector< Coefficient > & P)
inline

◆ left_minpoly() [2/2]

template<class _Field, class _Sequence>
void left_minpoly ( std::vector< Coefficient > & phi,
std::vector< size_t > & degree )
inline

◆ left_minpoly_rec() [2/2]

template<class _Field, class _Sequence>
void left_minpoly_rec ( std::vector< Coefficient > & P,
std::vector< size_t > & degree )
inline

◆ right_minpoly()

template<class _Field, class _Sequence>
void right_minpoly ( std::vector< Coefficient > & P)
inline

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