einsum2_into

Function einsum2_into 

Source
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<()>
where OpA: ElementOp<T> + 'static, OpB: ElementOp<T> + 'static,
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)