linbox
PolynomialBB< Blackbox, Poly > Class Template Reference

represent the matrix P(A) where A is a blackbox and P a polynomial More...

#include <polynomial.h>

+ Inheritance diagram for PolynomialBB< Blackbox, Poly >:

Data Structures

struct  rebind
 

Public Types

typedef Blackbox::Field Field
 
typedef Blackbox::Element Element
 
typedef Poly Polynomial
 
typedef PolynomialBB< Blackbox, PolynomialSelf_t
 

Public Member Functions

 PolynomialBB (const Blackbox &A, const Polynomial &P)
 Constructor from a black box and a polynomial.
 
 PolynomialBB (const Blackbox *A_ptr, const Polynomial *P_ptr)
 
 PolynomialBB (const PolynomialBB< Blackbox, Polynomial > &Mat)
 Copy constructor.
 
 ~PolynomialBB (void)
 Destructor.
 
template<class Vector1, class Vector2>
Vector1 & apply (Vector1 &y, const Vector2 &x) const
 Application of BlackBox matrix.
 
template<class Vector1, class Vector2>
Vector1 & applyTranspose (Vector1 &y, const Vector2 &x) const
 Application of BlackBox matrix transpose.
 
size_t rowdim (void) const
 Retreive row dimensions of BlackBox matrix.
 
size_t coldim (void) const
 Retreive column dimensions of BlackBox matrix.
 
const PolynomialgetPolynomial () const
 
const BlackboxgetBlackbox () const
 
const Fieldfield () const
 

Detailed Description

template<class Blackbox, class Poly>
class LinBox::PolynomialBB< Blackbox, Poly >

represent the matrix P(A) where A is a blackbox and P a polynomial

Member Typedef Documentation

◆ Field

template<class Blackbox, class Poly>
typedef Blackbox::Field Field

◆ Element

template<class Blackbox, class Poly>
typedef Blackbox::Element Element

◆ Polynomial

template<class Blackbox, class Poly>
typedef Poly Polynomial

◆ Self_t

template<class Blackbox, class Poly>
typedef PolynomialBB<Blackbox,Polynomial> Self_t

Constructor & Destructor Documentation

◆ PolynomialBB() [1/3]

template<class Blackbox, class Poly>
PolynomialBB ( const Blackbox & A,
const Polynomial & P )
inline

Constructor from a black box and a polynomial.

◆ PolynomialBB() [2/3]

template<class Blackbox, class Poly>
PolynomialBB ( const Blackbox * A_ptr,
const Polynomial * P_ptr )
inline

◆ PolynomialBB() [3/3]

template<class Blackbox, class Poly>
PolynomialBB ( const PolynomialBB< Blackbox, Polynomial > & Mat)
inline

Copy constructor.

Creates new black box objects in dynamic memory.

Parameters
Matconstant reference to compose black box matrix

◆ ~PolynomialBB()

template<class Blackbox, class Poly>
~PolynomialBB ( void )
inline

Destructor.

Member Function Documentation

◆ apply()

template<class Blackbox, class Poly>
template<class Vector1, class Vector2>
Vector1 & apply ( Vector1 & y,
const Vector2 & x ) const
inline

Application of BlackBox matrix.

y = P(A)x Requires one vector conforming to the LinBox vector archetype. Required by abstract base class.

Returns
reference to vector y containing output.
Parameters
xconstant reference to vector to contain input
y

◆ applyTranspose()

template<class Blackbox, class Poly>
template<class Vector1, class Vector2>
Vector1 & applyTranspose ( Vector1 & y,
const Vector2 & x ) const
inline

Application of BlackBox matrix transpose.

y= transpose(A*B)*x. Requires one vector conforming to the LinBox vector archetype. Required by abstract base class.

Returns
reference to vector y containing output.
Parameters
xconstant reference to vector to contain input
y

◆ rowdim()

template<class Blackbox, class Poly>
size_t rowdim ( void ) const
inline

Retreive row dimensions of BlackBox matrix.

This may be needed for applying preconditioners. Required by abstract base class.

Returns
integer number of rows of black box matrix.

◆ coldim()

template<class Blackbox, class Poly>
size_t coldim ( void ) const
inline

Retreive column dimensions of BlackBox matrix.

Required by abstract base class.

Returns
integer number of columns of black box matrix.

◆ getPolynomial()

template<class Blackbox, class Poly>
const Polynomial * getPolynomial ( ) const
inline

◆ getBlackbox()

template<class Blackbox, class Poly>
const Blackbox * getBlackbox ( ) const
inline

◆ field()

template<class Blackbox, class Poly>
const Field & field ( ) const
inline

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