mindquantum.core.gates.Givens

mindquantum.core.gates.Givens#

class mindquantum.core.gates.Givens(pr)#

Givens rotation gate.

\[\begin{split}{\rm G}(\theta)=\exp{\left(-i\frac{\theta}{2} (Y\otimes X - X\otimes Y)\right)} = \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & \cos{\theta} & -\sin{\theta} & 0\\ 0 & \sin{\theta} & \cos{\theta} & 0\\ 0 & 0 & 0 & 1\\ \end{pmatrix}\end{split}\]
Parameters:

pr (Union[int, float, str, dict, ParameterResolver]) – the parameters of parameterized gate, see above for detail explanation.

diff_matrix(pr=None, about_what=None)#

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.

get_cpp_obj()#

Construct cpp obj.

matrix(pr=None, full=False)#

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.