pub fn einsum2_into<T: Scalar, OpA, OpB, ID: AxisId>(
c: StridedViewMut<'_, T>,
a: &StridedView<'_, T, OpA>,
b: &StridedView<'_, T, OpB>,
ic: &[ID],
ia: &[ID],
ib: &[ID],
alpha: T,
beta: T,
) -> Result<()>Expand description
Binary einsum contraction: C = alpha * contract(A, B) + beta * C.
ic, ia, ib are axis labels for C, A, B respectively.
Axes are classified as:
- batch: in A, B, and C
- lo (left-output): in A and C, not B
- ro (right-output): in B and C, not A
- sum (contraction): in A and B, not C
- left_trace: only in A (summed out before contraction)
- right_trace: only in B (summed out before contraction)