linbox
1
|
Blackbox of a difference: C := A - B, i.e. Cx = Ax - Bx. More...
#include <dif.h>
Public Member Functions | |
Dif (const Blackbox1 &A, const Blackbox2 &B) | |
Dif (const Blackbox1 *A_ptr, const Blackbox2 *B_ptr) | |
Dif (const Dif< Blackbox1, Blackbox2 > &M) | |
~Dif (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 |
Blackbox of a difference: C := A - B, i.e. Cx = Ax - Bx.
{ Template parameters:} Field is the class of the entry domain, Vector is a LinBox dense or sparse vector of field elements class.
Dif | ( | const Blackbox1 & | A, |
const Blackbox2 & | B | ||
) | [inline] |
Build this as A - B from blackboxes A, B. A and B must have the same shape and be over the same field. Their data is not copied. A subsequent change to one of them also changes this difference.
Dif | ( | const Blackbox1 * | A_ptr, |
const Blackbox2 * | B_ptr | ||
) | [inline] |
Build this as A - B from blackbox pointers A_ptr, B_ptr. The two matrices must have the same shape and be over the same field. Their data { is} copied. I don't know why.
Makes a deep copy. Creates new black box objects in dynamic memory.
M | constant reference to compose black box matrix |
OutVector& apply | ( | OutVector & | y, |
const InVector & | x | ||
) | const [inline] |
OutVector& applyTranspose | ( | OutVector & | y, |
const InVector & | x | ||
) | const [inline] |
size_t rowdim | ( | void | ) | const [inline] |
Retreive row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.
size_t coldim | ( | void | ) | const [inline] |
Retreive column dimensions of BlackBox matrix. Required by abstract base class.