#include <sum.h>
Inheritance diagram for Sum:
Adds only at apply time. @doc 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
Public Types | |
typedef Blackbox1::Field | Field |
typedef Blackbox1::Element | Element |
Public Methods | |
Sum (const Blackbox1 &A, const Blackbox2 &B) | |
Sum (const Blackbox1 *A_ptr, const Blackbox2 *B_ptr) | |
Sum (const Sum< Blackbox1, Blackbox2 > &M) | |
~Sum (void) | |
Destructor. | |
template<class OutVector, class InVector> OutVector & | apply (OutVector &y, const InVector &x) const |
template<class OutVector, class InVector> OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
size_t | rowdim (void) const |
size_t | coldim (void) const |
const Field & | field () const |
Protected Attributes | |
const Blackbox1 * | _A_ptr |
const Blackbox2 * | _B_ptr |
std::vector< Element > | _z1 |
std::vector< Element > | _z2 |
|
|
|
|
|
Constructor from black box matrices. This constructor creates a matrix that is the sum, A + B, of black box matrices.
|
|
Constructor from black box pointers. This constructor creates a matrix that is the sum, A + B, of black box matrices.
|
|
Copy constructor. Creates new black box objects in dynamic memory.
|
|
Destructor.
|
|
Application of BlackBox matrix. y= (A+B)*x. Requires one vector conforming to the \Ref{LinBox} vector archetype. Required by abstract base class.
|
|
Application of BlackBox matrix transpose. y= transpose(A+B)*x. Requires one vector conforming to the \Ref{LinBox} vector archetype. Required by abstract base class.
|
|
Retreive column dimensions of BlackBox matrix. Required by abstract base class.
|
|
|
|
Retreive row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.
|
|
|
|
|
|
|
|
|