Matrix transpose. More...
#include "cl_Matrix.hpp"Go to the source code of this file.
Namespaces | |
| namespace | belfem |
| USER GUIDES: | |
Functions | |
| template<typename T> | |
| auto | belfem::trans (Matrix< T > &aMatrix) -> decltype(trans(aMatrix.matrix_data())) |
| template<typename T> | |
| auto | belfem::trans (const Matrix< T > &aMatrix) -> decltype(trans(aMatrix.matrix_data())) |
Matrix transpose.
This header dispatches directly, because Armadillo and Blaze expose the operation under different names (arma::strans and blaze::trans). The overload accepts a generic expression type, so a caller can transpose an unevaluated backend expression as well as a materialised Matrix.
The result is the plain transpose, never the conjugate transpose. For the real matrices BELFEM uses almost everywhere the two coincide; for the complex Matrix<T> instantiations the LAPACK wrappers accept, trans does not conjugate.