dwave.optimization.mathematical.multiply#

multiply(*args, **kwargs)[source]#

Return an element-wise multiplication on the given symbols.

In the underlying directed acyclic expression graph, produces a Multiply node if two array nodes are provided and a NaryMultiply node otherwise.

Returns:

A symbol that multiplies the given symbols element-wise.

Examples

This example multiplies two integer symbols of size \(1 \times 2\). Equivalently, you can use the * operator (e.g., i * j).

>>> from dwave.optimization import Model
>>> from dwave.optimization.mathematical import multiply
...
>>> model = Model()
>>> i = model.integer(2)
>>> j = model.integer(2)
>>> k = multiply(i, j)   # alternatively: k = i * j
>>> with model.lock():
...     model.states.resize(1)
...     i.set_state(0, [3, 5])
...     j.set_state(0, [7, 2])
...     print(k.state(0))
[21. 10.]