|
| | ComposeOwner (const Blackbox1 &A, const Blackbox2 &B) |
| | Constructor of C := A*B from blackbox matrices A and B.
|
| |
| | ComposeOwner (const Blackbox1 *A_data, const Blackbox2 *B_data) |
| | Constructor of C := (A_data)(*B_data).
|
| |
| | ComposeOwner (const ComposeOwner< Blackbox1, Blackbox2 > &Mat) |
| | Copy constructor.
|
| |
| | ~ComposeOwner () |
| | Destructor.
|
| |
| template<class OutVector, class InVector> |
| OutVector & | apply (OutVector &y, const InVector &x) const |
| | Matrix * column vector product.
|
| |
| template<class OutVector, class InVector> |
| OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
| | row vector * matrix product \(y= (A \times B)^T \cdot x\).
|
| |
| template<typename _BBt1, typename _BBt2, typename Field> |
| | ComposeOwner (const Compose< _BBt1, _BBt2 > &Mat, const Field &F) |
| |
| template<typename _BBt1, typename _BBt2, typename Field> |
| | ComposeOwner (const ComposeOwner< _BBt1, _BBt2 > &Mat, const Field &F) |
| |
| size_t | rowdim (void) const |
| | The number of rows.
|
| |
| size_t | coldim (void) const |
| | The number of columns.
|
| |
| const Field & | field () const |
| | The field.
|
| |
| const Blackbox1 & | getLeftData () const |
| |
| Blackbox1 & | getLeftData () |
| |
| const Blackbox2 & | getRightData () const |
| |
| Blackbox2 & | getRightData () |
| |
template<class _Blackbox1, class _Blackbox2>
class LinBox::ComposeOwner< _Blackbox1, _Blackbox2 >
Blackbox of a product: \(C = AB\), i.e \(Cx \gets A(Bx)\).
This is a class that multiplies two matrices by implementing an apply method that calls the apply methods of both of the consituent matrices, one after the other.
This class, like the Black Box archetype from which it is derived, is templatized by the vector type to which the matrix is applied. Both constituent matrices must also use this same vector type. For specification of the blackbox members see BlackboxArchetype.
Template parameter: must meet the vector requirement. General case
template<class _Blackbox1, class _Blackbox2>
template<class OutVector, class InVector>
| OutVector & apply |
( |
OutVector & | y, |
|
|
const InVector & | x ) const |
|
inline |
Matrix * column vector product.
\( y= (A\cdot B) \cdot x.\) Applies B, then A.
- Returns
- reference to vector y containing output.
- Parameters
-
| x | constant reference to vector to contain input |
| y | result |