Template Function Pennylane::LightningQubit::Util::CFTranspose(const std::complex<T> *, std::complex<T> *, std::size_t, std::size_t, std::size_t, std::size_t, std::size_t, std::size_t)¶
Defined in File LinearAlgebra.hpp
Function Documentation¶
-
template<class T, std::size_t BLOCKSIZE = 16>
static inline void Pennylane::LightningQubit::Util::CFTranspose(const std::complex<T> *mat, std::complex<T> *mat_t, std::size_t m, std::size_t n, std::size_t m1, std::size_t m2, std::size_t n1, std::size_t n2)¶ Calculates transpose of a matrix recursively and Cache-Friendly using blocking and Cache-optimized techniques.
- Template Parameters
T – Floating point precision type.
BLOCKSIZE – Size of submatrices in the blocking techinque.
- Parameters
mat – Data array repr. a flatten (row-wise) matrix m * n.
mat_t – Pre-allocated data array to store the transpose of
mat
.m – Number of rows of
mat
.n – Number of columns of
mat
.m1 – Index of the first row.
m2 – Index of the last row.
n1 – Index of the first column.
n2 – Index of the last column.
api/function_LinearAlgebra_8hpp_1a1ae6636a71799134c92f92f6bae0ab09
Download Python script
Download Notebook
View on GitHub