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

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

#include <sum.h>

+ Inheritance diagram for Sum< _Blackbox1, _Blackbox2 >:

Public Member Functions

 Sum (const Blackbox1 &A, const Blackbox2 &B)
 Constructor from black box matrices.
 Sum (const Blackbox1 *A_ptr, const Blackbox2 *B_ptr)
 Constructor from black box pointers.
 Sum (const Sum< Blackbox1, Blackbox2 > &M)
 Copy constructor.
 ~Sum (void)
 Destructor.
template<class OutVector , class InVector >
OutVector & apply (OutVector &y, const InVector &x) const
 Application of BlackBox matrix.
template<class OutVector , class InVector >
OutVector & applyTranspose (OutVector &y, const InVector &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.

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 ( 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,B,:black box matrices.
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_ptr,:pointers to black box matrices.
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

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
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
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.
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: