SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches
Utilities

Modules

 Constructor functions
 Useful functions for SLATE's "lambda" constructors.
 

Functions

template<typename MatrixType >
MatrixType slate::transpose (MatrixType &A)
 Transpose a Tile or any type of Matrix object, changing op flag from NoTrans to Trans, or from Trans to NoTrans.
 
template<typename MatrixType >
MatrixType slate::conj_transpose (MatrixType &A)
 Conjugate-transpose a Tile or any type of Matrix object, changing op flag from NoTrans to ConjTrans, or from ConjTrans to NoTrans.
 
template<typename T >
slate::internal::next_power2 (T x)
 

Detailed Description

Function Documentation

◆ conj_transpose()

template<typename MatrixType >
MatrixType slate::conj_transpose ( MatrixType &  A)

Conjugate-transpose a Tile or any type of Matrix object, changing op flag from NoTrans to ConjTrans, or from ConjTrans to NoTrans.

Returns shallow copy of op(A) that is conjugate-transpose.

Returns
copy of Tile, etc. with updated op flag.
See also
transpose()

◆ next_power2()

template<typename T >
T slate::internal::next_power2 ( x)
Returns
Next higher power of 2 >= x, i.e., 2^ceil( log2( x ) ). See http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2Float

◆ transpose()

template<typename MatrixType >
MatrixType slate::transpose ( MatrixType &  A)

Transpose a Tile or any type of Matrix object, changing op flag from NoTrans to Trans, or from Trans to NoTrans.

Returns shallow copy of op(A) that is transposed.

Returns
copy of Tile, etc. with updated op flag.

Making this a template avoids repeating the code ad nauseam in each class. Tile and BaseMatrix make this a friend, to change op.