MOOCHO (Single Doxygen Collection) Version of the Day
Public Member Functions
AbstractLinAlgPack::Permutation Class Reference

Abstract interface to permutation matrices. More...

#include <AbstractLinAlgPack_Permutation.hpp>

List of all members.

Public Member Functions

virtual ~Permutation ()
 

Vector space

virtual const VectorSpacespace () 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

Detailed Description

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.


Constructor & Destructor Documentation

virtual AbstractLinAlgPack::Permutation::~Permutation ( ) [inline, virtual]

Definition at line 60 of file AbstractLinAlgPack_Permutation.hpp.


Member Function Documentation

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

Parameters:
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:

virtual void AbstractLinAlgPack::Permutation::permute ( BLAS_Cpp::Transp  P_trans,
VectorMutable y 
) const [pure virtual]

Permute a vector op(P)*y -> y

Parameters:
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:


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines