multiply function

Tensor<Scalar> multiply(
  1. Tensor<Scalar> a,
  2. Tensor<Scalar> b
)

Implementation

Tensor<Scalar> multiply(Tensor<Scalar> a, Tensor<Scalar> b) {
  Tensor<Scalar> out = Tensor<Scalar>(a.data[0] * b.data[0]);

  out.creator = Node(
    [a, b],
        () {
      a.grad[0] = a.grad[0] + out.grad[0] * b.data[0];
      b.grad[0] = b.grad[0] + out.grad[0] * a.data[0];
    },
    opName: 'multiply_scalar',
    cost: 1,
  );
  return out;
}