linbox
Squarize< Blackbox > Class Template Reference

transpose matrix without copying. More...

#include <squarize.h>

+ Inheritance diagram for Squarize< Blackbox >:

Data Structures

struct  rebind
 

Public Types

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

Public Member Functions

 Squarize (const Blackbox &A)
 Constructor from a black box.
 
 Squarize (const Blackbox *A_ptr)
 
 Squarize (const Squarize< Blackbox > &M)
 Copy constructor.
 
 ~Squarize (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 Fieldfield () const
 

Protected Member Functions

size_t maxsize () const
 

Protected Attributes

const Blackbox_A_ptr
 
Field::Element _Zero
 

Detailed Description

template<class Blackbox>
class LinBox::Squarize< 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 Squarize<Blackbox> Self_t

◆ Field

template<class Blackbox>
typedef Blackbox::Field Field

◆ Element

template<class Blackbox>
typedef Blackbox::Element Element

Constructor & Destructor Documentation

◆ Squarize() [1/3]

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

Constructor from a black box.

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

Parameters
Apointer to black box matrix.

◆ Squarize() [2/3]

template<class Blackbox>
Squarize ( const Blackbox * A_ptr)
inline

◆ Squarize() [3/3]

template<class Blackbox>
Squarize ( const Squarize< Blackbox > & M)
inline

Copy constructor.

Creates new black box objects in dynamic memory.

Parameters
Mconstant reference to compose black box matrix

◆ ~Squarize()

template<class Blackbox>
~Squarize ( void )
inline

Destructor.

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*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
Todo
use field().zero

◆ 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)*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
Todo
use field().zero

◆ maxsize()

template<class Blackbox>
size_t maxsize ( ) const
inlineprotected

◆ 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

Field Documentation

◆ _A_ptr

template<class Blackbox>
const Blackbox* _A_ptr
protected

◆ _Zero

template<class Blackbox>
Field::Element _Zero
protected

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