AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
AbstractLinAlgPack::Permutation Class Referenceabstract

Abstract interface to permutation matrices. More...

#include <AbstractLinAlgPack_Permutation.hpp>

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. 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...
 

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 ( )
inlinevirtual

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: