SyTen

◆ gemm_transpose()

template<Rank summed, Rank frank, Rank srank, Rank rrank, typename Scalar >
void syten::DenseProduct::gemm_transpose ( DenseTensor< frank, Scalar > const &  a,
DenseTensor< srank, Scalar > const &  b,
DenseTensor< rrank, Scalar > &  r,
std::array< int, frank > const &  c_a,
std::array< int, srank > const &  c_b 
)
inline

Product of two trivial-order tensors with subsequent transpose to obtain the desired order in the output.

Remarks
for NRVO in impl(), this function takes its output tensor as a reference parameter r.

References syten::DenseTensor< rank, Scalar >::begin(), syten::DynArray< Type >::begin(), syten::DenseTensor< rank, Scalar >::dim(), syten::DenseTensor< rank, Scalar >::get_data(), syten::DenseTensor< rank, Scalar >::getDims(), mm_cm(), syten::No, syten::LimVec< Type, max, MaxType, type >::push_back(), and syten::DenseTensor< rank, Scalar >::size().

+ Here is the call graph for this function: