linbox
TransposeOwner< Blackbox > Class Template Reference

transpose matrix without copying. More...

#include <transpose.h>

+ Inheritance diagram for TransposeOwner< Blackbox >:

Data Structures

struct  rebind
 

Public Types

typedef Blackbox Blackbox_t
 
typedef TransposeOwner< BlackboxSelf_t
 
typedef Blackbox::Field Field
 
typedef Blackbox::Element Element
 

Public Member Functions

 TransposeOwner (const Blackbox &A)
 Constructor from a black box.
 
 TransposeOwner (const Blackbox *A_data)
 
 TransposeOwner (const TransposeOwner< Blackbox > &Mat)
 Copy constructor.
 
 ~TransposeOwner (void)
 Destructor.
 
template<typename _BB, class Field>
 TransposeOwner (const Transpose< _BB > &T, const Field &F)
 
template<typename _BB, class Field>
 TransposeOwner (const TransposeOwner< _BB > &T, const Field &F)
 
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 Fieldfield () const
 
const BlackboxgetData () const
 
BlackboxgetData ()
 

Detailed Description

template<class Blackbox>
class LinBox::TransposeOwner< Blackbox >

transpose matrix without copying.

Parameters
VectorLinBox dense or sparse vector of field elements

Member Typedef Documentation

◆ Blackbox_t

template<class Blackbox>
typedef Blackbox Blackbox_t

◆ Self_t

template<class Blackbox>
typedef TransposeOwner<Blackbox> Self_t

◆ Field

template<class Blackbox>
typedef Blackbox::Field Field

◆ Element

template<class Blackbox>
typedef Blackbox::Element Element

Constructor & Destructor Documentation

◆ TransposeOwner() [1/5]

template<class Blackbox>
TransposeOwner ( const Blackbox & A)
inline

Constructor from a black box.

This constructor creates a matrix that is the transpose of a black box matrix A

◆ TransposeOwner() [2/5]

template<class Blackbox>
TransposeOwner ( const Blackbox * A_data)
inline

◆ TransposeOwner() [3/5]

template<class Blackbox>
TransposeOwner ( const TransposeOwner< Blackbox > & Mat)
inline

Copy constructor.

Parameters
Matconstant reference to compose black box matrix

◆ ~TransposeOwner()

template<class Blackbox>
~TransposeOwner ( void )
inline

Destructor.

◆ TransposeOwner() [4/5]

template<class Blackbox>
template<typename _BB, class Field>
TransposeOwner ( const Transpose< _BB > & T,
const Field & F )
inline

◆ TransposeOwner() [5/5]

template<class Blackbox>
template<typename _BB, class Field>
TransposeOwner ( const TransposeOwner< _BB > & T,
const Field & F )
inline

Member Function Documentation

◆ apply()

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

Application of BlackBox matrix.

y= (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

◆ applyTranspose()

template<class Blackbox>
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>
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>
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.

◆ field()

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

◆ getData() [1/2]

template<class Blackbox>
const Blackbox & getData ( ) const
inline

◆ getData() [2/2]

template<class Blackbox>
Blackbox & getData ( )
inline

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