linbox
PolynomialMatrixDomain< Field > Class Template Reference

#include <polynomial-matrix-domain.h>

+ Inheritance diagram for PolynomialMatrixDomain< Field >:

Public Types

typedef Field Field
 

Public Member Functions

 PolynomialMatrixDomain (const Field &F)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void mul (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproductgen (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 
 PolynomialMatrixDomain (const Field &F)
 
const Fieldfield () const
 
void mul (PMatrix1 &c, const PMatrix2 &a, const PMatrix3 &b, size_t max_rowdeg=0) const
 
void midproduct (PMatrix1 &c, const PMatrix2 &a, const PMatrix3 &b) const
 
void midproductgen (PMatrix1 &c, const PMatrix2 &a, const PMatrix3 &b, bool smallLeft=true, size_t n0=0, size_t n1=0) const
 
template<typename PMatrix1, typename PMatrix2, typename PMatrix3>
void add (PMatrix1 &c, const PMatrix2 &a, const PMatrix3 &b) const
 
template<typename PMatrix1, typename PMatrix2>
void addin (PMatrix1 &a, const PMatrix2 &b) const
 
template<typename PMatrix1, typename PMatrix2, typename PMatrix3>
void sub (PMatrix1 &c, const PMatrix2 &a, const PMatrix3 &b) const
 
template<typename PMatrix1, typename PMatrix2>
void subin (PMatrix1 &a, const PMatrix2 &b) const
 

Data Fields

Timer multime
 
PolynomialMatrixNaiveMulDomain< Field_naive
 
const Field_field
 

Protected Attributes

KaratsubaMulDomain< Field_kara
 
FFTMulDomain< Field_fft
 
ClassicMulDomain< Field_classic
 
MatrixDomain< Field_BMD
 

Member Typedef Documentation

◆ Field

typedef Field Field
inherited

Constructor & Destructor Documentation

◆ PolynomialMatrixDomain() [1/2]

template<class Field>
PolynomialMatrixDomain ( const Field & F)
inline

◆ PolynomialMatrixDomain() [2/2]

template<class Field>
PolynomialMatrixDomain ( const Field & F)
inline

Member Function Documentation

◆ mul() [1/2]

template<class Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void mul ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ midproduct() [1/2]

template<class Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ midproductgen() [1/2]

template<class Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproductgen ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ field()

const Field & field ( ) const
inlineinherited

◆ mul() [2/2]

void mul ( PMatrix1 & c,
const PMatrix2 & a,
const PMatrix3 & b,
size_t max_rowdeg = 0 ) const
inlineinherited

◆ midproduct() [2/2]

void midproduct ( PMatrix1 & c,
const PMatrix2 & a,
const PMatrix3 & b ) const
inlineinherited

◆ midproductgen() [2/2]

void midproductgen ( PMatrix1 & c,
const PMatrix2 & a,
const PMatrix3 & b,
bool smallLeft = true,
size_t n0 = 0,
size_t n1 = 0 ) const
inlineinherited

◆ add()

template<class Field>
template<typename PMatrix1, typename PMatrix2, typename PMatrix3>
void add ( PMatrix1 & c,
const PMatrix2 & a,
const PMatrix3 & b ) const
inlineinherited

◆ addin()

template<class Field>
template<typename PMatrix1, typename PMatrix2>
void addin ( PMatrix1 & a,
const PMatrix2 & b ) const
inlineinherited

◆ sub()

template<class Field>
template<typename PMatrix1, typename PMatrix2, typename PMatrix3>
void sub ( PMatrix1 & c,
const PMatrix2 & a,
const PMatrix3 & b ) const
inlineinherited

◆ subin()

template<class Field>
template<typename PMatrix1, typename PMatrix2>
void subin ( PMatrix1 & a,
const PMatrix2 & b ) const
inlineinherited

Field Documentation

◆ _kara

template<class Field>
KaratsubaMulDomain<Field> _kara
protected

◆ _fft

template<class Field>
FFTMulDomain<Field> _fft
protected

◆ _classic

template<class Field>
ClassicMulDomain<Field> _classic
protected

◆ multime

template<class Field>
Timer multime

◆ _naive

◆ _field

const Field* _field
inherited

◆ _BMD

template<class Field>
MatrixDomain<Field> _BMD
protectedinherited

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