#include <AbstractLinAlgPack_Permutation.hpp>
Vector space | |
| virtual const VectorSpace & | space () const =0 |
| Return a reference to a vector space object that this permutation is compatible with. | |
Information | |
| virtual size_type | dim () const =0 |
| Return the dimension of the permutation. | |
| virtual bool | is_identity () const =0 |
Returns true if this is the identity permutation I. | |
| virtual std::ostream & | output (std::ostream &out) const =0 |
| Prints debug type of information. | |
Vector permutations | |
| virtual void | permute (BLAS_Cpp::Transp P_trans, const Vector &x, VectorMutable *y) const =0 |
Permute a vector op(P)*x -> y. | |
| virtual void | permute (BLAS_Cpp::Transp P_trans, VectorMutable *y) const =0 |
Permute a vector op(P)*y -> y. | |
Public Member Functions | |
| virtual | ~Permutation () |
| | |
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 43 of file AbstractLinAlgPack_Permutation.hpp.
| virtual AbstractLinAlgPack::Permutation::~Permutation | ( | ) | [inline, virtual] |
| virtual const VectorSpace& AbstractLinAlgPack::Permutation::space | ( | ) | const [pure virtual] |
Return a reference to a vector space object that this permutation is compatible with.
| virtual size_type AbstractLinAlgPack::Permutation::dim | ( | ) | const [pure virtual] |
Return the dimension of the permutation.
| virtual bool AbstractLinAlgPack::Permutation::is_identity | ( | ) | const [pure virtual] |
Returns true if this is the identity permutation I.
| virtual std::ostream& AbstractLinAlgPack::Permutation::output | ( | std::ostream & | out | ) | const [pure virtual] |
Prints debug type of information.
| virtual void AbstractLinAlgPack::Permutation::permute | ( | BLAS_Cpp::Transp | P_trans, | |
| const Vector & | x, | |||
| VectorMutable * | y | |||
| ) | const [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. |
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) | virtual void AbstractLinAlgPack::Permutation::permute | ( | BLAS_Cpp::Transp | P_trans, | |
| VectorMutable * | y | |||
| ) | const [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. |
y != NULL (throw std::invalid_argument) y->space().is_compatible(this->space()) == true (throw VectorSpace::IncompatibleVectorSpaces)
1.4.7