fn

mul

Tensor
mul(input: Tensor, other: Tensor | Scalar)
source

Element-wise multiplication (Hadamard product) with broadcasting.

Computes input * other element-wise. For matrix multiplication see matmul / mm.

Parameters

inputTensor
Left operand.
otherTensor or scalar
Right operand. Broadcasts against input following the standard broadcasting rules; Python scalars are promoted to a tensor of matching dtype.

Returns

Tensor

Element-wise result with shape broadcast(input.shape, other.shape) and dtype determined by the usual type-promotion rules.

Notes

Mathematical definition:

outi=inputiotheri\text{out}_i = \text{input}_i \cdot \text{other}_i

Autograd: out/input=other\partial \text{out}/\partial \text{input} = \text{other}, out/other=input\partial \text{out}/\partial \text{other} = \text{input}.

Examples

>>> import lucid
>>> a = lucid.tensor([1.0, 2.0, 3.0])
>>> b = lucid.tensor([4.0, 5.0, 6.0])
>>> lucid.mul(a, b)
Tensor([...])