linbox
Public Member Functions
Sum< _Blackbox1, _Blackbox2 > Class Template Reference

blackbox of a matrix sum without copying. More...

#include <sum.h>

Inherits BlackboxInterface.

Public Member Functions

 Sum (const Blackbox1 &A, const Blackbox2 &B)
 Constructor from black box matrices. More...
 
 Sum (const Blackbox1 *A_ptr, const Blackbox2 *B_ptr)
 Constructor from black box pointers. More...
 
 Sum (const Sum< Blackbox1, Blackbox2 > &M)
 Copy constructor. More...
 
 ~Sum (void)
 Destructor.
 
template<class OutVector , class InVector >
OutVector & apply (OutVector &y, const InVector &x) const
 Application of BlackBox matrix. More...
 
template<class OutVector , class InVector >
OutVector & applyTranspose (OutVector &y, const InVector &x) const
 Application of BlackBox matrix transpose. More...
 
size_t rowdim (void) const
 Retreive row dimensions of BlackBox matrix. More...
 
size_t coldim (void) const
 Retreive column dimensions of BlackBox matrix. More...
 

Detailed Description

template<class _Blackbox1, class _Blackbox2>
class LinBox::Sum< _Blackbox1, _Blackbox2 >

blackbox of a matrix sum without copying.

Adds only at apply time. Given two black boxes A and B of the same dimensions, form a black box representing A+B, i.e., Sum(A,B)x=(A+B)x=Ax+Bx

Parameters
VectorLinBox dense or sparse vector of field elements

Constructor & Destructor Documentation

◆ Sum() [1/3]

Sum ( const Blackbox1 &  A,
const Blackbox2 &  B 
)
inline

Constructor from black box matrices.

This constructor creates a matrix that is the sum, A + B, of black box matrices.

Parameters
A,Bblack box matrices.

◆ Sum() [2/3]

Sum ( const Blackbox1 *  A_ptr,
const Blackbox2 *  B_ptr 
)
inline

Constructor from black box pointers.

This constructor creates a matrix that is the sum, A + B, of black box matrices.

Parameters
A_ptr,B_ptrpointers to black box matrices.

◆ Sum() [3/3]

Sum ( const Sum< Blackbox1, Blackbox2 > &  M)
inline

Copy constructor.

Creates new black box objects in dynamic memory.

Parameters
Mconstant reference to compose black box matrix

Member Function Documentation

◆ apply()

OutVector& apply ( OutVector &  y,
const InVector &  x 
) const
inline

Application of BlackBox matrix.

$y= (A+B)\cdot 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()

OutVector& applyTranspose ( OutVector &  y,
const InVector &  x 
) const
inline

Application of BlackBox matrix transpose.

$ y= (A+B)^T\cdot 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()

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()

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.

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