mindquantum.core.gates.RotPauliString
- class mindquantum.core.gates.RotPauliString(pauli_string: str, pr)[source]
Arbitrary pauli string rotation.
\[U(\theta)=e^{-i\theta P/2}, P=\otimes_i\sigma_i, \text{where } \sigma \in \{X, Y, Z\}\]- Parameters
Examples
>>> import numpy as np >>> from mindquantum.core.gates import RotPauliString >>> from mindquantum.core.operators import TimeEvolution, QubitOperator >>> from mindquantum.core.circuit import Circuit >>> g = RotPauliString('XYZ', 1.0).on([0, 1, 2]) >>> circ1 = Circuit() + g >>> circ2 = TimeEvolution(QubitOperator('X0 Y1 Z2'), 0.5).circuit >>> np.allclose(circ1.matrix(), circ2.matrix()) True
- diff_matrix(pr=None, about_what=None)[source]
Differential form of this parameterized gate.
- Parameters
pr (Union[ParameterResolver, dict]) – The parameter value for parameterized gate. Default:
None
.about_what (str) – calculate the gradient w.r.t which parameter.
- Returns
numpy.ndarray, the differential form matrix.
- matrix(pr=None, full=False)[source]
Get the matrix of this parameterized gate.
- Parameters
pr (Union[ParameterResolver, dict]) – The parameter value for parameterized gate. Default:
None
.full (bool) – Whether to get the full matrix of this gate (the gate should be acted on some qubits). Default:
False
.
- Returns
numpy.ndarray, the matrix of this gate.