mindquantum.core.gates.Givens

View Source On Gitee
class mindquantum.core.gates.Givens(pr)[source]

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)[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.

get_cpp_obj()[source]

Construct cpp obj.

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.