MyraMath
Classes | Functions
Permutation.h File Reference

Aggregates a (perm, iperm, swaps) triple into a vocabulary type. More...

#include <myramath/utility/detail/LIBPUBLIC.h>
#include <myramath/utility/Number.h>
#include <vector>
#include <iosfwd>
Include dependency graph for Permutation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  myra::VectorRange< Number >
 Represents a mutable VectorRange. More...
 
class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::SparseMatrix< Number >
 Stores an IxJ matrix A in compressed sparse column format. More...
 
class  myra::Permutation
 Represents a Permutation matrix, used to reorder rows/columns/etc of various numeric containers. More...
 
class  myra::Permutation::permTag
 
class  myra::Permutation::ipermTag
 
class  myra::Permutation::swapsTag
 

Functions

std::ostream & myra::operator<< (std::ostream &out, const Permutation &P)
 For inspecting a Permutation on a std::ostream.
 
Permutation myra::inverse (const Permutation &P)
 Returns the inverse of a Permutation P.
 
void myra::gemm_inplace (const Permutation &P, char op, const MatrixRange< NumberS > &X)
 Applies a Permutation P to a Matrix X from the left, permuting rows. Overwrites X with op(P)*X.
 
void myra::gemm_inplace (const Permutation &P, char op, const MatrixRange< NumberD > &X)
 
void myra::gemm_inplace (const Permutation &P, char op, const MatrixRange< NumberC > &X)
 
void myra::gemm_inplace (const Permutation &P, char op, const MatrixRange< NumberZ > &X)
 
void myra::gemm_inplace (const Permutation &P, const MatrixRange< NumberS > &X)
 Applies a Permutation P to a Matrix X from the left, permuting rows. Overwrites X with P*X.
 
void myra::gemm_inplace (const Permutation &P, const MatrixRange< NumberD > &X)
 
void myra::gemm_inplace (const Permutation &P, const MatrixRange< NumberC > &X)
 
void myra::gemm_inplace (const Permutation &P, const MatrixRange< NumberZ > &X)
 
void myra::gemm_inplace (const MatrixRange< NumberS > &X, const Permutation &P, char op)
 Applies a Permutation P to a Matrix X from the right, permuting columns. Overwrites X with X*op(P).
 
void myra::gemm_inplace (const MatrixRange< NumberD > &X, const Permutation &P, char op)
 
void myra::gemm_inplace (const MatrixRange< NumberC > &X, const Permutation &P, char op)
 
void myra::gemm_inplace (const MatrixRange< NumberZ > &X, const Permutation &P, char op)
 
void myra::gemm_inplace (const MatrixRange< NumberS > &X, const Permutation &P)
 Applies a Permutation P to a Matrix X from the right, permuting columns. Overwrites X with X*P.
 
void myra::gemm_inplace (const MatrixRange< NumberD > &X, const Permutation &P)
 
void myra::gemm_inplace (const MatrixRange< NumberC > &X, const Permutation &P)
 
void myra::gemm_inplace (const MatrixRange< NumberZ > &X, const Permutation &P)
 
void myra::gemv_inplace (const Permutation &P, char op, const VectorRange< NumberS > &x)
 Applies a Permutation P to a Vector x, permuting entries. Overwrites x with op(P)*x.
 
void myra::gemv_inplace (const Permutation &P, char op, const VectorRange< NumberD > &x)
 
void myra::gemv_inplace (const Permutation &P, char op, const VectorRange< NumberC > &x)
 
void myra::gemv_inplace (const Permutation &P, char op, const VectorRange< NumberZ > &x)
 
void myra::gemv_inplace (const Permutation &P, const VectorRange< NumberS > &x)
 Applies a Permutation P to a Vector x, permuting entries. Overwrites x with P*x.
 
void myra::gemv_inplace (const Permutation &P, const VectorRange< NumberD > &x)
 
void myra::gemv_inplace (const Permutation &P, const VectorRange< NumberC > &x)
 
void myra::gemv_inplace (const Permutation &P, const VectorRange< NumberZ > &x)
 
Permutation myra::multiply (const Permutation &P, const Permutation &Q)
 Given two Permutation's P and Q, returns their product P*Q.
 
Permutation myra::operator* (const Permutation &P, const Permutation &Q)
 

Detailed Description

Aggregates a (perm, iperm, swaps) triple into a vocabulary type.