|
MOOCHO (Single Doxygen Collection)
Version of the Day
|
Abstract interface to permutation matrices. More...
#include <AbstractLinAlgPack_Permutation.hpp>
Public Member Functions | |
| virtual | ~Permutation () |
Vector space | |
| virtual const VectorSpace & | space () const =0 |
| Return a reference to a vector space object that this permutation is compatible with. More... | |
Information | |
| virtual size_type | dim () const =0 |
| Return the dimension of the permutation. More... | |
| virtual bool | is_identity () const =0 |
Returns true if this is the identity permutation I. More... | |
| virtual std::ostream & | output (std::ostream &out) const =0 |
| Prints debug type of information. More... | |
Vector permutations | |
| virtual void | permute (BLAS_Cpp::Transp P_trans, const Vector &x, VectorMutable *y) const =0 |
Permute a vector op(P)*x -> y More... | |
| virtual void | permute (BLAS_Cpp::Transp P_trans, VectorMutable *y) const =0 |
Permute a vector op(P)*y -> y More... | |
Abstract interface to permutation matrices.
A Permutation object is used to permute the elements within a vector. It is not a general linear operator since it does not map between vector spaces. It only permutes elements within the same vector space.
Definition at line 56 of file AbstractLinAlgPack_Permutation.hpp.
|
inlinevirtual |
Definition at line 60 of file AbstractLinAlgPack_Permutation.hpp.
|
pure virtual |
Return a reference to a vector space object that this permutation is compatible with.
|
pure virtual |
Return the dimension of the permutation.
|
pure virtual |
Returns true if this is the identity permutation I.
|
pure virtual |
Prints debug type of information.
|
pure virtual |
Permute a vector op(P)*x -> y
| P_trans | [in] op(P) = P for P_trans == BLAS_Cpp::no_trans or op(P) = P' for P_trans == BLAS_Cpp::trans. |
| x | [in] Vector. |
| y | [out] Vector. |
Preconditions:
y != NULL (throw std::invalid_argument) x.space().is_compatible(this->space()) == true (throw VectorSpace::IncompatibleVectorSpaces) y->space().is_compatible(this->space()) == true (throw VectorSpace::IncompatibleVectorSpaces)
|
pure virtual |
Permute a vector op(P)*y -> y
| P_trans | [in] op(P) = P for P_trans == BLAS_Cpp::no_trans or op(P) = P' for P_trans == BLAS_Cpp::trans. |
| y | [in/out] Vector. |
Preconditions:
y != NULL (throw std::invalid_argument) y->space().is_compatible(this->space()) == true (throw VectorSpace::IncompatibleVectorSpaces)
1.8.6