qml.math.scatter_element_add¶
- scatter_element_add(tensor, index, value, like=None)[source]¶
In-place addition of a multidimensional value over various indices of a tensor.
- Parameters
tensor (tensor_like[float]) – Tensor to add the value to
index (tuple or list[tuple]) – Indices to which to add the value
value (float or tensor_like[float]) – Value to add to
tensor
like (str) – Manually chosen interface to dispatch to.
- Returns
The tensor with the value added at the given indices.
- Return type
tensor_like[float]
Example
>>> tensor = torch.tensor([[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]) >>> index = (1, 2) >>> value = -3.1 >>> qml.math.scatter_element_add(tensor, index, value) tensor([[ 0.1000, 0.2000, 0.3000], [ 0.4000, 0.5000, -2.5000]])
If multiple indices are given, in the form of a list of tuples, the
k
th tuple is interpreted to contain thek
th entry of all indices:>>> indices = [(1, 0), (2, 1)] # This will modify the entries (1, 2) and (0, 1) >>> values = torch.tensor([10, 20]) >>> qml.math.scatter_element_add(tensor, indices, values) tensor([[ 0.1000, 20.2000, 0.3000], [ 0.4000, 0.5000, 10.6000]])
code/api/pennylane.math.scatter_element_add
Download Python script
Download Notebook
View on GitHub