|
linbox
|
Blackbox of a product: \(C = AB\), i.e \(Cx \gets A(Bx)\). More...
#include <block-compose.h>
Inheritance diagram for BlockCompose< _Blackbox1, _Blackbox2 >:Public Types | |
| typedef _Blackbox1 | Blackbox1 |
| typedef _Blackbox2 | Blackbox2 |
| typedef Blackbox2::Field | Field |
| typedef Field::Element | Element |
Public Member Functions | |
| BlockCompose (const Blackbox1 &A, const Blackbox2 &B) | |
| Constructor of C := A*B from blackbox matrices A and B. | |
| size_t | rowdim () const |
| size_t | coldim () const |
| const Field & | field () const |
| template<class Matrix> | |
| Matrix & | applyLeft (Matrix &Y, const Matrix &X) const |
| template<class Matrix> | |
| Matrix & | applyRight (Matrix &Y, const Matrix &X) const |
Protected Attributes | |
| Blackbox1 | _A |
| Blackbox2 | _B |
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.
| typedef _Blackbox1 Blackbox1 |
| typedef _Blackbox2 Blackbox2 |
| typedef Blackbox2::Field Field |
| typedef Field::Element Element |
|
inline |
Constructor of C := A*B from blackbox matrices A and B.
Build the product A*B of any two black box matrices of compatible dimensions.
A.coldim() == B.rowdim(). | A | blackbox |
| B | blackbox |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |