SyTen

◆ prodS() [2/3]

template<Rank summed, Rank frank, Rank srank, typename Scalar >
SparseTensor<frank + srank - 2 * summed, Scalar> syten::prodS ( SparseTensor< frank, Scalar > const &  a,
SparseTensor< srank, Scalar > const &  b,
std::array< int, frank > const &  c_a,
std::array< int, srank > const &  c_b,
bool  conjugate = false,
bool  calc_abs = true 
)
inline

Product of two sparse tensors, see syten::prodD for a detailed discussion of the arguments.

References abs(), std::vector< T >::begin(), conj(), syten::SparseTensor< rank, Scalar >::dim(), std::vector< T >::emplace_back(), std::vector< T >::end(), syten::SparseTensor< rank, Scalar >::isSingleton(), std::make_pair(), normSqd(), overThreshold(), std::partition_point(), std::vector< T >::push_back(), syten::SparseTensor< rank, Scalar >::reserve(), std::vector< T >::reserve(), std::vector< T >::resize(), syten::SparseTensor< rank, Scalar >::size(), std::vector< T >::size(), std::sort(), SYTEN_EZERO_THRESHOLD, SYTEN_ZNORM_THRESHOLD_SQD, std::to_string(), std::transform(), underThreshold(), and syten::SparseTensor< rank, Scalar >::valSingleton().

Referenced by syten::SVD::svd(), and validateCGCTensor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: