qrisp.Operation.get_unitary#

Operation.get_unitary(decimals=- 1)[source]#

Returns the unitary matrix (if applicable) of the Operation as a numpy array.

Parameters
decimalsint, optional

Amount of decimals to return. By default, the full precision is returned.

Returns
numpy.ndarray

The unitary matrix of the Operation.

Raises
Exception

Could not calculate the unitary.

Examples

>>> from qrisp import CPGate
>>> import numpy as np
>>> CPGate(np.pi/2).get_unitary(decimals = 3)
array([[1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 0.+1.j]], dtype=complex64)