SyTen

◆ prod() [4/6]

template<Rank summed, Rank frank, Rank srank>
std::enable_if_t< frank+srank - 2 *summed !=0, Tensor< frank+srank - 2 *summed > > syten::prod ( Tensor< frank > const &  a,
Tensor< srank > const &  b,
std::string_view  prodspec,
Conj const  conj = Conj::n(),
EliminateZeros const  ezeros = EliminateZeros::No,
SourceLocation  location = SourceLocation::current() 
)
inline

Preferred form of the Tensor-Tensor-to-Tensor product.

Parameters
afirst tensor
bsecond tensor
prodspecEinstein summation specification, e.g. a,b,c|c,d,e|a,e,d,b
conjif Yes, complex-conjugate the second tensor
ezerosif EliminateZeroes::Yes, eliminate zeroes.
locationCallsite identifier.

References syten::CudaDenseTensorImpl::conj().

Referenced by syten::MPS::RDMs::OneParticleRDM::construct(), syten::MPS::ProjectedPurification::correlator(), syten::MPS::Snapshots::Workspace::decompose_sso(), syten::IPEPSv2::full_update_gauge_fix(), syten::MPS::ProjectedPurification::local_expectation(), syten::MPS::RDMs::TwoParticleRDM::matrix_element(), syten::MPS::Snapshots::Workspace::measure_sso(), overlap(), and trace().

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