|
linbox
|
Lapack-style permutation. More...
#include <permutation-matrix.h>
Public Member Functions | |
| BlasPermutation< _UnsignedInt > & | operator= (const BlasPermutation< _UnsignedInt > &P) |
| copy operator (with copy) | |
| _UnsignedInt | getSize () const |
| Returns the size of the permuation. More... | |
| _UnsignedInt | getOrder () const |
| Returns the order of the permuation. | |
| std::vector< _UnsignedInt > | getStorage () const |
| returns a copy of the raw storage. | |
| MatrixPermutation< _UnsignedInt > & | Convert (MatrixPermutation< _UnsignedInt > &P) |
Converts a BlasPermutation to a MatrixPermutation. More... | |
| _UnsignedInt | operator[] (const _UnsignedInt i) const |
More... | |
| const _UnsignedInt * | getPointer () const |
col i and col j are swapped More... | |
| void | Compress () |
compresses BlasPermutation to a smaller r_. | |
| std::ostream & | write (std::ostream &o, bool Lapack=true) const |
writes on output stream o | |
Friends | |
| template<class _Uint > | |
| std::ostream & | operator<< (std::ostream &o, BlasPerm &P) |
writes P on output stream o | |
Lapack-style permutation.
A Lapack permutation is represented with a vector
such that
. Converting it to a classic representation of a permutation corresponds to taking an identity permutation and then successively permuting
. Example : if P=[1,4,4] and V=[1,2,3,4,5], then P.V=[1,4,2,3,5].
| _Uint getSize | ( | ) | const |
Returns the size of the permuation.
If given, we return n as we see P in
. We default to the order of the permutation (minimal such n)
| MatrixPermutation< _Uint > & Convert | ( | MatrixPermutation< _Uint > & | P | ) |
Converts a BlasPermutation to a MatrixPermutation.
| [out] | P | MatrixPermutation to be created. Need not be initialized. |
|
inline |


|
inline |
col i and col j are swapped
row i and row j are swapped
1.8.13