def right_product

bendtorch-core@0.1.0.0 · src/autograd/tensor_backward.bend:334

import bendtorch-core@0.1.0.0/src/autograd/tensor_backward.bend as TensorBackward
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
import bendtorch-core@0.1.0.0/src/tensor/matmul.bend as Matrix
import bendtorch-core@0.1.0.0/src/tensor/transforms.bend as Transforms

334# left^T @ g for the right operand.
335def right_product(+target: Nat, +shape: Shape.Shape, copy: Core.Dynamic,
336  pair: Core.Dynamic & Result<&2, &1, Transforms.Error, Core.Dynamic>) -> Core.Dynamic & Result<&2, &1, Error, Contribution>:
337  (left, transposed) = pair
338  match transposed:
339    case Fail{error}:
340      (left, Fail{TransformError{error}})
341    case Done{flipped}:
342      (left, multiplied(target, shape, Matrix.matmul(flipped, copy)))

Uses (11)

Used by (2)