MyraMath
|
Routines related to swap sequences, often used during pivoting. More...
#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
#include <myramath/utility/eprintf.h>
#include <myramath/utility/detail/ssize.h>
#include <myramath/utility/detail/sdistance.h>
#include <myramath/dense/intRange.h>
#include <vector>
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::Matrix< Number > |
Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More... | |
Functions | |
void | myra::swap_vector (const intCRange &swaps, const intRange &x) |
Applies swaps to an intRange. | |
void | myra::iswap_vector (const intCRange &swaps, const intRange &x) |
Inverts swaps on an intRange. | |
template<class T > | |
void | myra::swap_range (const intCRange &swaps, T *begin, T *end) |
Applies swaps on a range of T*. | |
template<class T > | |
void | myra::iswap_range (const intCRange &swaps, T *begin, T *end) |
Inverts swaps on a range of T*. | |
template<class T > | |
void | myra::swap_vector (const intCRange &swaps, std::vector< T > &v) |
Applies swaps to a std::vector<T> | |
template<class T > | |
void | myra::iswap_vector (const intCRange &swaps, std::vector< T > &v) |
Inverts swaps on a std::vector<T> | |
void | myra::inverse_perm (const intCRange &perm, const intRange &iperm) |
Returns the inverse of a given permutation. | |
std::vector< int > | myra::inverse_perm (const intCRange &perm) |
Returns the inverse of a given permutation. | |
void | myra::swaps2iswaps (const intCRange &swaps, const intRange &iswaps) |
Returns the inverse of a given swap sequence. | |
std::vector< int > | myra::swaps2iswaps (const intCRange &swaps) |
Returns the inverse of a given swap sequence. | |
void | myra::perm2swaps (const intCRange &perm, const intRange &swaps) |
Returns a sequence of swaps that applies the given permutation. | |
std::vector< int > | myra::perm2swaps (const intCRange &perm) |
Returns a sequence of swaps that applies the given permutation. | |
void | myra::swaps2perm (const intCRange &swaps, const intRange &perm) |
Returns a permutation that applies the given sequence of swaps. | |
std::vector< int > | myra::swaps2perm (const intCRange &swaps) |
Returns a permutation that applies the given sequence of swaps. | |
void | myra::swaps2iperm (const intCRange &swaps, const intRange &perm) |
Returns a permutation that inverts the given sequence of swaps. | |
std::vector< int > | myra::swaps2iperm (const intCRange &swaps) |
Returns a permutation that inverts the given sequence of swaps. | |
template<class Number > | |
Matrix< Number > | myra::swaps2Matrix (const intCRange &swaps) |
Given a swaps sequence, returns an equivalent permutation Matrix, P. | |
template<> | |
Matrix< NumberS > | myra::swaps2Matrix< NumberS > (const intCRange &swaps) |
Given a swaps sequence, returns an equivalent permutation Matrix, P. | |
template<> | |
Matrix< NumberD > | myra::swaps2Matrix< NumberD > (const intCRange &swaps) |
Given a swaps sequence, returns an equivalent permutation Matrix, P. | |
template<> | |
Matrix< NumberC > | myra::swaps2Matrix< NumberC > (const intCRange &swaps) |
Given a swaps sequence, returns an equivalent permutation Matrix, P. | |
template<> | |
Matrix< NumberZ > | myra::swaps2Matrix< NumberZ > (const intCRange &swaps) |
Given a swaps sequence, returns an equivalent permutation Matrix, P. | |
void | myra::swap_rows (const intCRange &swaps, const MatrixRange< NumberS > &X) |
Applies swaps along the rows of a MatrixRange (think P*X) | |
void | myra::swap_rows (const intCRange &swaps, const MatrixRange< NumberD > &X) |
Applies swaps along the rows of a MatrixRange (think P*X) | |
void | myra::swap_rows (const intCRange &swaps, const MatrixRange< NumberC > &X) |
Applies swaps along the rows of a MatrixRange (think P*X) | |
void | myra::swap_rows (const intCRange &swaps, const MatrixRange< NumberZ > &X) |
Applies swaps along the rows of a MatrixRange (think P*X) | |
void | myra::iswap_rows (const intCRange &swaps, const MatrixRange< NumberS > &X) |
Inverts swaps along the rows of a MatrixRange (think P'*X) | |
void | myra::iswap_rows (const intCRange &swaps, const MatrixRange< NumberD > &X) |
Inverts swaps along the rows of a MatrixRange (think P'*X) | |
void | myra::iswap_rows (const intCRange &swaps, const MatrixRange< NumberC > &X) |
Inverts swaps along the rows of a MatrixRange (think P'*X) | |
void | myra::iswap_rows (const intCRange &swaps, const MatrixRange< NumberZ > &X) |
Inverts swaps along the rows of a MatrixRange (think P'*X) | |
void | myra::swap_columns (const intCRange &swaps, const MatrixRange< NumberS > &X) |
Applies swaps along the columns of a MatrixRange (think X*P) | |
void | myra::swap_columns (const intCRange &swaps, const MatrixRange< NumberD > &X) |
Applies swaps along the columns of a MatrixRange (think X*P) | |
void | myra::swap_columns (const intCRange &swaps, const MatrixRange< NumberC > &X) |
Applies swaps along the columns of a MatrixRange (think X*P) | |
void | myra::swap_columns (const intCRange &swaps, const MatrixRange< NumberZ > &X) |
Applies swaps along the columns of a MatrixRange (think X*P) | |
void | myra::iswap_columns (const intCRange &swaps, const MatrixRange< NumberS > &X) |
Inverts swaps along the columns of a MatrixRange (think X*P') | |
void | myra::iswap_columns (const intCRange &swaps, const MatrixRange< NumberD > &X) |
Inverts swaps along the columns of a MatrixRange (think X*P') | |
void | myra::iswap_columns (const intCRange &swaps, const MatrixRange< NumberC > &X) |
Inverts swaps along the columns of a MatrixRange (think X*P') | |
void | myra::iswap_columns (const intCRange &swaps, const MatrixRange< NumberZ > &X) |
Inverts swaps along the columns of a MatrixRange (think X*P') | |
void | myra::swap_vector (const intCRange &swaps, const VectorRange< NumberS > &x) |
Applies swaps to a VectorRange (think P*x) | |
void | myra::swap_vector (const intCRange &swaps, const VectorRange< NumberD > &x) |
Applies swaps to a VectorRange (think P*x) | |
void | myra::swap_vector (const intCRange &swaps, const VectorRange< NumberC > &x) |
Applies swaps to a VectorRange (think P*x) | |
void | myra::swap_vector (const intCRange &swaps, const VectorRange< NumberZ > &x) |
Applies swaps to a VectorRange (think P*x) | |
void | myra::iswap_vector (const intCRange &swaps, const VectorRange< NumberS > &x) |
Inverts swaps on a VectorRange (think P'*x) | |
void | myra::iswap_vector (const intCRange &swaps, const VectorRange< NumberD > &x) |
Inverts swaps on a VectorRange (think P'*x) | |
void | myra::iswap_vector (const intCRange &swaps, const VectorRange< NumberC > &x) |
Inverts swaps on a VectorRange (think P'*x) | |
void | myra::iswap_vector (const intCRange &swaps, const VectorRange< NumberZ > &x) |
Inverts swaps on a VectorRange (think P'*x) | |
Routines related to swap sequences, often used during pivoting.