linbox
Toeplitz< _CField, _PRing > Class Template Reference

This is the blackbox representation of a Toeplitz matrix. More...

#include <toeplitz.h>

+ Inheritance diagram for Toeplitz< _CField, _PRing >:

Public Types

typedef Father_t::PRing PRing
 
typedef Father_t::Poly Poly
 
typedef Father_t::Field Field
 
typedef Father_t::Element Element
 

Public Member Functions

 Toeplitz (const Field &F)
 
 Toeplitz (const PRing &PF)
 
 Toeplitz (const PRing &PF, const Poly &p, size_t m, size_t n=0)
 
const Fieldfield () const
 
size_t rowdim () const
 
size_t rowdim () const
 
size_t coldim () const
 
size_t coldim () const
 
size_t sysdim () const
 
size_t sysdim () const
 
void setToUniModUT ()
 
void setToUniModUT ()
 
void setToUniModLT ()
 
void setToUniModLT ()
 
std::ostream & write (std::ostream &out) const
 
std::ostream & write (std::ostream &out) const
 
void read (std::istream &in)
 
void read (std::istream &in)
 

Data Fields

const Fieldfield_
 

Protected Types

typedef ToeplitzBase< _CField, _PRing > Father_t
 

Protected Attributes

PRing P
 
PRing P
 
size_t rowDim
 
size_t rowDim
 
size_t colDim
 
size_t colDim
 
size_t sysDim
 
size_t sysDim
 
Poly pdata
 
Poly pdata
 
Poly rpdata
 
Poly rpdata
 
std::string shape
 
std::string shape
 

Static Protected Attributes

static const int UnimodUT
 
static const int UnimodUT
 
static const int UnimodLT
 
static const int UnimodLT
 

Detailed Description

template<class _CField, class _PRing>
class LinBox::Toeplitz< _CField, _PRing >

This is the blackbox representation of a Toeplitz matrix.

It stores the 2n-1 values of the first row and column. The _PRing template parameter should be a polynomial ring. Computations on the matrix will be performed using this polynomial ring. The apply is a call to polynomial multiplication and if the poly ring is FFT based for large n, apply will run in O(n lg(n)) time.

Member Typedef Documentation

◆ Father_t

template<class _CField, class _PRing>
typedef ToeplitzBase<_CField,_PRing> Father_t
protected

◆ PRing

template<class _CField, class _PRing>
typedef Father_t::PRing PRing

◆ Poly

template<class _CField, class _PRing>
typedef Father_t::Poly Poly

◆ Field

template<class _CField, class _PRing>
typedef Father_t::Field Field

◆ Element

template<class _CField, class _PRing>
typedef Father_t::Element Element

Constructor & Destructor Documentation

◆ Toeplitz() [1/3]

template<class _CField, class _PRing>
Toeplitz ( const Field & F)
inline

◆ Toeplitz() [2/3]

template<class _CField, class _PRing>
Toeplitz ( const PRing & PF)
inline

◆ Toeplitz() [3/3]

template<class _CField, class _PRing>
Toeplitz ( const PRing & PF,
const Poly & p,
size_t m,
size_t n = 0 )
inline

Member Function Documentation

◆ field()

template<class _CField, class _PRing>
const Field & field ( ) const
inline

◆ rowdim() [1/2]

size_t rowdim ( ) const
inlineinherited

◆ rowdim() [2/2]

size_t rowdim ( ) const
inlineinherited

◆ coldim() [1/2]

size_t coldim ( ) const
inlineinherited

◆ coldim() [2/2]

size_t coldim ( ) const
inlineinherited

◆ sysdim() [1/2]

size_t sysdim ( ) const
inlineinherited

◆ sysdim() [2/2]

size_t sysdim ( ) const
inlineinherited

◆ setToUniModUT() [1/2]

void setToUniModUT ( )
inherited

◆ setToUniModUT() [2/2]

void setToUniModUT ( )
inherited

◆ setToUniModLT() [1/2]

void setToUniModLT ( )
inherited

◆ setToUniModLT() [2/2]

void setToUniModLT ( )
inherited

◆ write() [1/2]

std::ostream & write ( std::ostream & out) const
inlineinherited

◆ write() [2/2]

std::ostream & write ( std::ostream & out) const
inlineinherited

◆ read() [1/2]

void read ( std::istream & in)
inlineinherited

◆ read() [2/2]

void read ( std::istream & in)
inlineinherited

Field Documentation

◆ field_

template<class _CField, class _PRing>
const Field* field_

◆ P [1/2]

PRing P
protectedinherited

◆ P [2/2]

PRing P
protectedinherited

◆ rowDim [1/2]

size_t rowDim
protectedinherited

◆ rowDim [2/2]

size_t rowDim
protectedinherited

◆ colDim [1/2]

size_t colDim
protectedinherited

◆ colDim [2/2]

size_t colDim
protectedinherited

◆ sysDim [1/2]

size_t sysDim
protectedinherited

◆ sysDim [2/2]

size_t sysDim
protectedinherited

◆ pdata [1/2]

Poly pdata
protectedinherited

◆ pdata [2/2]

Poly pdata
protectedinherited

◆ rpdata [1/2]

Poly rpdata
protectedinherited

◆ rpdata [2/2]

Poly rpdata
protectedinherited

◆ UnimodUT [1/2]

const int UnimodUT
staticprotectedinherited

◆ UnimodUT [2/2]

const int UnimodUT
staticprotectedinherited

◆ UnimodLT [1/2]

const int UnimodLT
staticprotectedinherited

◆ UnimodLT [2/2]

const int UnimodLT
staticprotectedinherited

◆ shape [1/2]

std::string shape
protectedinherited

◆ shape [2/2]

std::string shape
protectedinherited

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