std::tuple< STensor, SBasis > syten::STensorImpl::expand | ( | STensor const & | a, |
STensor const & | b | ||
) |
Constructs an expanded tensor in which a
is placed first and b
is placed second.
All shared bases of a
and b
are taken to be identical and only one other basis is allowed in a
and b
each. Those legs are matched together.
References syten::STensorImpl::STensor::autodiff_enabled(), syten::STensorImpl::STensor::b(), expand(), syten::STensorImpl::STensor::get_bases(), std::move(), syten::STensorImpl::STensor::rank(), and SYTEN_ASSERT_MSG.