linbox
BlockCoppersmithDomain< _Domain, _Sequence > Class Template Reference

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

#include <block-coppersmith-domain.h>

Public Types

typedef _Domain Domain
 
typedef Domain::Field Field
 
typedef Domain::Element Element
 
typedef _Sequence Sequence
 
typedef Domain::OwnMatrix Coefficient
 
typedef Domain::Matrix Sub
 

Public Member Functions

 BlockCoppersmithDomain (const BlockCoppersmithDomain< Field, Sequence > &Mat, size_t ett_default=10)
 
 BlockCoppersmithDomain (const Domain &MD, Sequence *D, size_t ett_default=10)
 
const Domaindomain () const
 
const Fieldfield () const
 
const FieldgetField () const
 
SequencegetSequence () const
 
std::vector< size_t > right_minpoly (std::vector< Coefficient > &P)
 
std::vector< size_t > & left_minpoly (std::vector< Coefficient > &P)
 
std::vector< size_t > operator() (std::vector< Coefficient > &P)
 

Protected Attributes

Sequence_container
 
const Domain_MD
 
size_t EARLY_TERM_THRESHOLD
 

Detailed Description

template<class _Domain, class _Sequence>
class LinBox::BlockCoppersmithDomain< _Domain, _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
Yuhasz thesis ...

Member Typedef Documentation

◆ Domain

template<class _Domain, class _Sequence>
typedef _Domain Domain

◆ Field

template<class _Domain, class _Sequence>
typedef Domain::Field Field

◆ Element

template<class _Domain, class _Sequence>
typedef Domain::Element Element

◆ Sequence

template<class _Domain, class _Sequence>
typedef _Sequence Sequence

◆ Coefficient

template<class _Domain, class _Sequence>
typedef Domain::OwnMatrix Coefficient

◆ Sub

template<class _Domain, class _Sequence>
typedef Domain::Matrix Sub

Constructor & Destructor Documentation

◆ BlockCoppersmithDomain() [1/2]

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

◆ BlockCoppersmithDomain() [2/2]

template<class _Domain, class _Sequence>
BlockCoppersmithDomain ( const Domain & MD,
Sequence * D,
size_t ett_default = 10 )
inline

Member Function Documentation

◆ domain()

template<class _Domain, class _Sequence>
const Domain & domain ( ) const
inline

◆ field()

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

◆ getField()

template<class _Domain, class _Sequence>
const Field & getField ( ) const
inline

◆ getSequence()

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

◆ right_minpoly()

template<class _Domain, class _Sequence>
std::vector< size_t > right_minpoly ( std::vector< Coefficient > & P)

◆ left_minpoly()

template<class _Domain, class _Sequence>
std::vector< size_t > & left_minpoly ( std::vector< Coefficient > & P)

◆ operator()()

template<class _Domain, class _Sequence>
std::vector< size_t > operator() ( std::vector< Coefficient > & P)
inline

Field Documentation

◆ _container

template<class _Domain, class _Sequence>
Sequence* _container
protected

◆ _MD

template<class _Domain, class _Sequence>
const Domain* _MD
protected

◆ EARLY_TERM_THRESHOLD

template<class _Domain, class _Sequence>
size_t EARLY_TERM_THRESHOLD
protected

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