linbox
SlicedPolynomialMatrix< _Field, _Storage, _MatrixElement > Class Template Reference

#include <SlicedPolynomialMatrix.h>

Public Types

typedef _Field Field
 
typedef Field::Element Element
 
typedef _Storage Rep
 
typedef _MatrixElement MatrixElement
 
typedef Givaro::Modular< MatrixElement, MatrixElementIntField
 
typedef SlicedPolynomialMatrix< Field, Rep, MatrixElementSelf_t
 
typedef Givaro::Poly1Dom< IntField, Dense >::Rep polynomial
 

Public Member Functions

 SlicedPolynomialMatrix (const Field &BF)
 Allocates a vector of new \( 0 \times 0\) matrices (shaped and ready).
 
 SlicedPolynomialMatrix (const Field &BF, const size_t &m1, const size_t &m2)
 
 SlicedPolynomialMatrix (const Field &BF, polynomial &pp)
 Allocates a vector of new \( 0 \times 0\) matrices (shaped and ready).
 
 SlicedPolynomialMatrix (const Field &BF, const size_t &m1, const size_t &m2, polynomial &pp)
 
 ~SlicedPolynomialMatrix ()
 
size_t length () const
 
size_t rowdim () const
 
size_t coldim () const
 
const FieldfieldGF () const
 
const IntFieldfieldF () const
 
const MatrixElementsetEntry (size_t m, size_t i, size_t j, const MatrixElement &a_mij)
 
MatrixElementgetEntry (size_t m, size_t i, size_t j)
 
void setMatrixCoefficient (size_t m, const BlasMatrix< IntField > &V_m)
 
const BlasMatrix< IntField > & getMatrixCoefficient (size_t m) const
 Get a read-only reference to the m-th matrix-coefficient.
 
void swapRows (size_t i1, size_t i2)
 
void swapCols (size_t j1, size_t j2)
 
Self_t transpose (Self_t &tV) const
 
std::istream & read (std::istream &file)
 
std::ostream & write (std::ostream &os) const
 

Data Fields

polynomial irreducible
 

Member Typedef Documentation

◆ Field

template<class _Field, class _Storage, class _MatrixElement = double>
typedef _Field Field

◆ Element

template<class _Field, class _Storage, class _MatrixElement = double>
typedef Field::Element Element

◆ Rep

template<class _Field, class _Storage, class _MatrixElement = double>
typedef _Storage Rep

◆ MatrixElement

template<class _Field, class _Storage, class _MatrixElement = double>
typedef _MatrixElement MatrixElement

◆ IntField

template<class _Field, class _Storage, class _MatrixElement = double>
typedef Givaro::Modular<MatrixElement, MatrixElement> IntField

◆ Self_t

template<class _Field, class _Storage, class _MatrixElement = double>
typedef SlicedPolynomialMatrix<Field, Rep, MatrixElement> Self_t

◆ polynomial

template<class _Field, class _Storage, class _MatrixElement = double>
typedef Givaro::Poly1Dom<IntField,Dense>::Rep polynomial

Constructor & Destructor Documentation

◆ SlicedPolynomialMatrix() [1/4]

template<class _Field, class _Rep, class _MatrixElement>
SlicedPolynomialMatrix ( const Field & BF)

Allocates a vector of new \( 0 \times 0\) matrices (shaped and ready).

Irreducible polynomial is chosen randomly.

◆ SlicedPolynomialMatrix() [2/4]

template<class _Field, class _Rep, class _MatrixElement>
SlicedPolynomialMatrix ( const Field & BF,
const size_t & m1,
const size_t & m2 )

◆ SlicedPolynomialMatrix() [3/4]

template<class _Field, class _Rep, class _MatrixElement>
SlicedPolynomialMatrix ( const Field & BF,
polynomial & pp )

Allocates a vector of new \( 0 \times 0\) matrices (shaped and ready).

◆ SlicedPolynomialMatrix() [4/4]

template<class _Field, class _Rep, class _MatrixElement>
SlicedPolynomialMatrix ( const Field & BF,
const size_t & m1,
const size_t & m2,
polynomial & pp )

◆ ~SlicedPolynomialMatrix()

template<class _Field, class _Rep, class _MatrixElement>
~SlicedPolynomialMatrix ( )

Member Function Documentation

◆ length()

template<class _Field, class _Rep, class _MatrixElement>
size_t length ( ) const

◆ rowdim()

template<class _Field, class _Rep, class _MatrixElement>
size_t rowdim ( ) const

◆ coldim()

template<class _Field, class _Rep, class _MatrixElement>
size_t coldim ( ) const

◆ fieldGF()

template<class _Field, class _Rep, class _MatrixElement>
const Field & fieldGF ( ) const

◆ fieldF()

template<class _Field, class _Rep, class _MatrixElement>
const IntField & fieldF ( ) const

◆ setEntry()

template<class _Field, class _Rep, class _MatrixElement>
const MatrixElement & setEntry ( size_t m,
size_t i,
size_t j,
const MatrixElement & a_mij )

◆ getEntry()

template<class _Field, class _Rep, class _MatrixElement>
_MatrixElement & getEntry ( size_t m,
size_t i,
size_t j )

◆ setMatrixCoefficient()

template<class _Field, class _Rep, class _MatrixElement>
void setMatrixCoefficient ( size_t m,
const BlasMatrix< IntField > & V_m )

◆ getMatrixCoefficient()

template<class _Field, class _Rep, class _MatrixElement>
const BlasMatrix< IntField > & getMatrixCoefficient ( size_t m) const

Get a read-only reference to the m-th matrix-coefficient.

Parameters
mmatrix-coefficient number, 0...length() - 1
Returns
Const reference to matrix-coefficent

◆ swapRows()

template<class _Field, class _Rep, class _MatrixElement>
void swapRows ( size_t i1,
size_t i2 )

◆ swapCols()

template<class _Field, class _Rep, class _MatrixElement>
void swapCols ( size_t j1,
size_t j2 )

◆ transpose()

template<class _Field, class _Storage, class _MatrixElement = double>
SlicedPolynomialMatrix< _Field, _Rep, _MatrixElement > transpose ( Self_t & tV) const

◆ read()

template<class _Field, class _Rep, class _MatrixElement>
std::istream & read ( std::istream & file)

◆ write()

template<class _Field, class _Storage, class _MatrixElement = double>
std::ostream & write ( std::ostream & os) const

Field Documentation

◆ irreducible

template<class _Field, class _Storage, class _MatrixElement = double>
polynomial irreducible

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