{"payload":{"allShortcutsEnabled":false,"fileTree":{"qiskit/circuit/library/generalized_gates":{"items":[{"name":"__init__.py","path":"qiskit/circuit/library/generalized_gates/__init__.py","contentType":"file"},{"name":"diagonal.py","path":"qiskit/circuit/library/generalized_gates/diagonal.py","contentType":"file"},{"name":"gms.py","path":"qiskit/circuit/library/generalized_gates/gms.py","contentType":"file"},{"name":"gr.py","path":"qiskit/circuit/library/generalized_gates/gr.py","contentType":"file"},{"name":"isometry.py","path":"qiskit/circuit/library/generalized_gates/isometry.py","contentType":"file"},{"name":"linear_function.py","path":"qiskit/circuit/library/generalized_gates/linear_function.py","contentType":"file"},{"name":"mcg_up_to_diagonal.py","path":"qiskit/circuit/library/generalized_gates/mcg_up_to_diagonal.py","contentType":"file"},{"name":"mcmt.py","path":"qiskit/circuit/library/generalized_gates/mcmt.py","contentType":"file"},{"name":"pauli.py","path":"qiskit/circuit/library/generalized_gates/pauli.py","contentType":"file"},{"name":"permutation.py","path":"qiskit/circuit/library/generalized_gates/permutation.py","contentType":"file"},{"name":"rv.py","path":"qiskit/circuit/library/generalized_gates/rv.py","contentType":"file"},{"name":"uc.py","path":"qiskit/circuit/library/generalized_gates/uc.py","contentType":"file"},{"name":"uc_pauli_rot.py","path":"qiskit/circuit/library/generalized_gates/uc_pauli_rot.py","contentType":"file"},{"name":"ucrx.py","path":"qiskit/circuit/library/generalized_gates/ucrx.py","contentType":"file"},{"name":"ucry.py","path":"qiskit/circuit/library/generalized_gates/ucry.py","contentType":"file"},{"name":"ucrz.py","path":"qiskit/circuit/library/generalized_gates/ucrz.py","contentType":"file"},{"name":"unitary.py","path":"qiskit/circuit/library/generalized_gates/unitary.py","contentType":"file"}],"totalCount":17},"qiskit/circuit/library":{"items":[{"name":"arithmetic","path":"qiskit/circuit/library/arithmetic","contentType":"directory"},{"name":"basis_change","path":"qiskit/circuit/library/basis_change","contentType":"directory"},{"name":"boolean_logic","path":"qiskit/circuit/library/boolean_logic","contentType":"directory"},{"name":"data_preparation","path":"qiskit/circuit/library/data_preparation","contentType":"directory"},{"name":"generalized_gates","path":"qiskit/circuit/library/generalized_gates","contentType":"directory"},{"name":"n_local","path":"qiskit/circuit/library/n_local","contentType":"directory"},{"name":"standard_gates","path":"qiskit/circuit/library/standard_gates","contentType":"directory"},{"name":"templates","path":"qiskit/circuit/library/templates","contentType":"directory"},{"name":"__init__.py","path":"qiskit/circuit/library/__init__.py","contentType":"file"},{"name":"blueprintcircuit.py","path":"qiskit/circuit/library/blueprintcircuit.py","contentType":"file"},{"name":"fourier_checking.py","path":"qiskit/circuit/library/fourier_checking.py","contentType":"file"},{"name":"graph_state.py","path":"qiskit/circuit/library/graph_state.py","contentType":"file"},{"name":"grover_operator.py","path":"qiskit/circuit/library/grover_operator.py","contentType":"file"},{"name":"hamiltonian_gate.py","path":"qiskit/circuit/library/hamiltonian_gate.py","contentType":"file"},{"name":"hidden_linear_function.py","path":"qiskit/circuit/library/hidden_linear_function.py","contentType":"file"},{"name":"iqp.py","path":"qiskit/circuit/library/iqp.py","contentType":"file"},{"name":"overlap.py","path":"qiskit/circuit/library/overlap.py","contentType":"file"},{"name":"pauli_evolution.py","path":"qiskit/circuit/library/pauli_evolution.py","contentType":"file"},{"name":"phase_estimation.py","path":"qiskit/circuit/library/phase_estimation.py","contentType":"file"},{"name":"phase_oracle.py","path":"qiskit/circuit/library/phase_oracle.py","contentType":"file"},{"name":"quantum_volume.py","path":"qiskit/circuit/library/quantum_volume.py","contentType":"file"}],"totalCount":21},"qiskit/circuit":{"items":[{"name":"classical","path":"qiskit/circuit/classical","contentType":"directory"},{"name":"classicalfunction","path":"qiskit/circuit/classicalfunction","contentType":"directory"},{"name":"controlflow","path":"qiskit/circuit/controlflow","contentType":"directory"},{"name":"library","path":"qiskit/circuit/library","contentType":"directory"},{"name":"random","path":"qiskit/circuit/random","contentType":"directory"},{"name":"tools","path":"qiskit/circuit/tools","contentType":"directory"},{"name":"__init__.py","path":"qiskit/circuit/__init__.py","contentType":"file"},{"name":"_classical_resource_map.py","path":"qiskit/circuit/_classical_resource_map.py","contentType":"file"},{"name":"_standard_gates_commutations.py","path":"qiskit/circuit/_standard_gates_commutations.py","contentType":"file"},{"name":"_utils.py","path":"qiskit/circuit/_utils.py","contentType":"file"},{"name":"add_control.py","path":"qiskit/circuit/add_control.py","contentType":"file"},{"name":"annotated_operation.py","path":"qiskit/circuit/annotated_operation.py","contentType":"file"},{"name":"barrier.py","path":"qiskit/circuit/barrier.py","contentType":"file"},{"name":"bit.py","path":"qiskit/circuit/bit.py","contentType":"file"},{"name":"classicalregister.py","path":"qiskit/circuit/classicalregister.py","contentType":"file"},{"name":"commutation_checker.py","path":"qiskit/circuit/commutation_checker.py","contentType":"file"},{"name":"commutation_library.py","path":"qiskit/circuit/commutation_library.py","contentType":"file"},{"name":"controlledgate.py","path":"qiskit/circuit/controlledgate.py","contentType":"file"},{"name":"delay.py","path":"qiskit/circuit/delay.py","contentType":"file"},{"name":"duration.py","path":"qiskit/circuit/duration.py","contentType":"file"},{"name":"equivalence.py","path":"qiskit/circuit/equivalence.py","contentType":"file"},{"name":"equivalence_library.py","path":"qiskit/circuit/equivalence_library.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/circuit/exceptions.py","contentType":"file"},{"name":"gate.py","path":"qiskit/circuit/gate.py","contentType":"file"},{"name":"instruction.py","path":"qiskit/circuit/instruction.py","contentType":"file"},{"name":"instructionset.py","path":"qiskit/circuit/instructionset.py","contentType":"file"},{"name":"measure.py","path":"qiskit/circuit/measure.py","contentType":"file"},{"name":"operation.py","path":"qiskit/circuit/operation.py","contentType":"file"},{"name":"parameter.py","path":"qiskit/circuit/parameter.py","contentType":"file"},{"name":"parameterexpression.py","path":"qiskit/circuit/parameterexpression.py","contentType":"file"},{"name":"parametertable.py","path":"qiskit/circuit/parametertable.py","contentType":"file"},{"name":"parametervector.py","path":"qiskit/circuit/parametervector.py","contentType":"file"},{"name":"quantumcircuit.py","path":"qiskit/circuit/quantumcircuit.py","contentType":"file"},{"name":"quantumcircuitdata.py","path":"qiskit/circuit/quantumcircuitdata.py","contentType":"file"},{"name":"quantumregister.py","path":"qiskit/circuit/quantumregister.py","contentType":"file"},{"name":"register.py","path":"qiskit/circuit/register.py","contentType":"file"},{"name":"reset.py","path":"qiskit/circuit/reset.py","contentType":"file"},{"name":"singleton.py","path":"qiskit/circuit/singleton.py","contentType":"file"},{"name":"store.py","path":"qiskit/circuit/store.py","contentType":"file"}],"totalCount":39},"qiskit":{"items":[{"name":"assembler","path":"qiskit/assembler","contentType":"directory"},{"name":"circuit","path":"qiskit/circuit","contentType":"directory"},{"name":"compiler","path":"qiskit/compiler","contentType":"directory"},{"name":"converters","path":"qiskit/converters","contentType":"directory"},{"name":"dagcircuit","path":"qiskit/dagcircuit","contentType":"directory"},{"name":"passmanager","path":"qiskit/passmanager","contentType":"directory"},{"name":"primitives","path":"qiskit/primitives","contentType":"directory"},{"name":"providers","path":"qiskit/providers","contentType":"directory"},{"name":"pulse","path":"qiskit/pulse","contentType":"directory"},{"name":"qasm","path":"qiskit/qasm","contentType":"directory"},{"name":"qasm2","path":"qiskit/qasm2","contentType":"directory"},{"name":"qasm3","path":"qiskit/qasm3","contentType":"directory"},{"name":"qobj","path":"qiskit/qobj","contentType":"directory"},{"name":"qpy","path":"qiskit/qpy","contentType":"directory"},{"name":"quantum_info","path":"qiskit/quantum_info","contentType":"directory"},{"name":"result","path":"qiskit/result","contentType":"directory"},{"name":"scheduler","path":"qiskit/scheduler","contentType":"directory"},{"name":"synthesis","path":"qiskit/synthesis","contentType":"directory"},{"name":"transpiler","path":"qiskit/transpiler","contentType":"directory"},{"name":"utils","path":"qiskit/utils","contentType":"directory"},{"name":"visualization","path":"qiskit/visualization","contentType":"directory"},{"name":"VERSION.txt","path":"qiskit/VERSION.txt","contentType":"file"},{"name":"__init__.py","path":"qiskit/__init__.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/exceptions.py","contentType":"file"},{"name":"user_config.py","path":"qiskit/user_config.py","contentType":"file"},{"name":"version.py","path":"qiskit/version.py","contentType":"file"}],"totalCount":26},"":{"items":[{"name":".azure","path":".azure","contentType":"directory"},{"name":".binder","path":".binder","contentType":"directory"},{"name":".cargo","path":".cargo","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":"crates","path":"crates","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"qiskit","path":"qiskit","contentType":"directory"},{"name":"releasenotes","path":"releasenotes","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".local-spellings","path":".local-spellings","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".mergify.yml","path":".mergify.yml","contentType":"file"},{"name":".stestr.conf","path":".stestr.conf","contentType":"file"},{"name":"CITATION.bib","path":"CITATION.bib","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Cargo.lock","path":"Cargo.lock","contentType":"file"},{"name":"Cargo.toml","path":"Cargo.toml","contentType":"file"},{"name":"DEPRECATION.md","path":"DEPRECATION.md","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MAINTAINING.md","path":"MAINTAINING.md","contentType":"file"},{"name":"MANIFEST.in","path":"MANIFEST.in","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"asv.conf.json","path":"asv.conf.json","contentType":"file"},{"name":"azure-pipelines.yml","path":"azure-pipelines.yml","contentType":"file"},{"name":"constraints.txt","path":"constraints.txt","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"qiskit_bot.yaml","path":"qiskit_bot.yaml","contentType":"file"},{"name":"requirements-dev.txt","path":"requirements-dev.txt","contentType":"file"},{"name":"requirements-optional.txt","path":"requirements-optional.txt","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"rust-toolchain.toml","path":"rust-toolchain.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"},{"name":"tox.ini","path":"tox.ini","contentType":"file"}],"totalCount":41}},"fileTreeProcessingTime":28.768079,"foldersToFetch":[],"repo":{"id":83821669,"defaultBranch":"main","name":"qiskit","ownerLogin":"Qiskit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-03T17:02:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30696987?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1710785011.0","canEdit":false,"refType":"branch","currentOid":"43381ae1b159c01b55159d2dc1e8a65970b72746"},"path":"qiskit/circuit/library/generalized_gates/diagonal.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 2017, 2020.","#","# This code is licensed under the Apache License, Version 2.0. You may","# obtain a copy of this license in the LICENSE.txt file in the root directory","# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.","#","# Any modifications or derivative works of this code must retain this","# copyright notice, and modified files need to carry a notice indicating","# that they have been altered from the originals.","","","\"\"\"Diagonal matrix circuit.\"\"\"","","from __future__ import annotations","from collections.abc import Sequence","","import cmath","import numpy as np","","from qiskit.circuit.gate import Gate","from qiskit.circuit.quantumcircuit import QuantumCircuit","from qiskit.circuit.exceptions import CircuitError","","from .ucrz import UCRZGate","","_EPS = 1e-10","","","class Diagonal(QuantumCircuit):"," r\"\"\"Diagonal circuit.",""," Circuit symbol:",""," .. parsed-literal::",""," ┌───────────┐"," q_0: ┤0 ├"," │ │"," q_1: ┤1 Diagonal ├"," │ │"," q_2: ┤2 ├"," └───────────┘",""," Matrix form:",""," .. math::"," \\text{DiagonalGate}\\ q_0, q_1, .., q_{n-1} ="," \\begin{pmatrix}"," D[0] & 0 & \\dots & 0 \\\\"," 0 & D[1] & \\dots & 0 \\\\"," \\vdots & \\vdots & \\ddots & 0 \\\\"," 0 & 0 & \\dots & D[n-1]"," \\end{pmatrix}",""," Diagonal gates are useful as representations of Boolean functions,"," as they can map from :math:`\\{0,1\\}^{2^n}` to :math:`\\{0,1\\}^{2^n}` space. For example a phase"," oracle can be seen as a diagonal gate with :math:`\\{1, -1\\}` on the diagonals. Such"," an oracle will induce a :math:`+1` or :math`-1` phase on the amplitude of any corresponding"," basis state.",""," Diagonal gates appear in many classically hard oracular problems such as"," Forrelation or Hidden Shift circuits.",""," Diagonal gates are represented and simulated more efficiently than a dense"," :math:`2^n \\times 2^n` unitary matrix.",""," The reference implementation is via the method described in"," Theorem 7 of [1]. The code is based on Emanuel Malvetti's semester thesis"," at ETH in 2018, supervised by Raban Iten and Prof. Renato Renner.",""," **Reference:**",""," [1] Shende et al., Synthesis of Quantum Logic Circuits, 2009"," `arXiv:0406176 `_"," \"\"\"",""," def __init__(self, diag: Sequence[complex]) -> None:"," r\"\"\""," Args:"," diag: List of the :math:`2^k` diagonal entries (for a diagonal gate on :math:`k` qubits).",""," Raises:"," CircuitError: if the list of the diagonal entries or the qubit list is in bad format;"," if the number of diagonal entries is not :math:`2^k`, where :math:`k` denotes the"," number of qubits."," \"\"\""," self._check_input(diag)"," num_qubits = int(np.log2(len(diag)))",""," circuit = QuantumCircuit(num_qubits, name=\"Diagonal\")",""," # Since the diagonal is a unitary, all its entries have absolute value"," # one and the diagonal is fully specified by the phases of its entries."," diag_phases = [cmath.phase(z) for z in diag]"," n = len(diag)"," while n >= 2:"," angles_rz = []"," for i in range(0, n, 2):"," diag_phases[i // 2], rz_angle = _extract_rz(diag_phases[i], diag_phases[i + 1])"," angles_rz.append(rz_angle)"," num_act_qubits = int(np.log2(n))"," ctrl_qubits = list(range(num_qubits - num_act_qubits + 1, num_qubits))"," target_qubit = num_qubits - num_act_qubits",""," ucrz = UCRZGate(angles_rz)"," circuit.append(ucrz, [target_qubit] + ctrl_qubits)",""," n //= 2"," circuit.global_phase += diag_phases[0]",""," super().__init__(num_qubits, name=\"Diagonal\")"," self.append(circuit.to_gate(), self.qubits)",""," @staticmethod"," def _check_input(diag):"," \"\"\"Check if ``diag`` is in valid format.\"\"\""," if not isinstance(diag, (list, np.ndarray)):"," raise CircuitError(\"Diagonal entries must be in a list or numpy array.\")"," num_qubits = np.log2(len(diag))"," if num_qubits < 1 or not num_qubits.is_integer():"," raise CircuitError(\"The number of diagonal entries is not a positive power of 2.\")"," if not np.allclose(np.abs(diag), 1, atol=_EPS):"," raise CircuitError(\"A diagonal element does not have absolute value one.\")","","","class DiagonalGate(Gate):"," \"\"\"Gate implementing a diagonal transformation.\"\"\"",""," def __init__(self, diag: Sequence[complex]) -> None:"," r\"\"\""," Args:"," diag: list of the :math:`2^k` diagonal entries (for a diagonal gate on :math:`k` qubits)."," \"\"\""," Diagonal._check_input(diag)"," num_qubits = int(np.log2(len(diag)))",""," super().__init__(\"diagonal\", num_qubits, diag)",""," def _define(self):"," self.definition = Diagonal(self.params).decompose()",""," def validate_parameter(self, parameter):"," \"\"\"Diagonal Gate parameter should accept complex"," (in addition to the Gate parameter types) and always return build-in complex.\"\"\""," if isinstance(parameter, complex):"," return complex(parameter)"," else:"," return complex(super().validate_parameter(parameter))",""," def inverse(self, annotated: bool = False):"," \"\"\"Return the inverse of the diagonal gate.\"\"\""," return DiagonalGate([np.conj(entry) for entry in self.params])","","","def _extract_rz(phi1, phi2):"," \"\"\""," Extract a Rz rotation (angle given by first output) such that exp(j*phase)*Rz(z_angle)"," is equal to the diagonal matrix with entires exp(1j*ph1) and exp(1j*ph2)."," \"\"\""," phase = (phi1 + phi2) / 2.0"," z_angle = phi2 - phi1"," return phase, z_angle"],"stylingDirectives":[[{"start":0,"end":30,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":31,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":72,"cssClass":"pl-c"}],[{"start":0,"end":49,"cssClass":"pl-c"}],[],[],[{"start":0,"end":30,"cssClass":"pl-s"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":34,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":16,"cssClass":"pl-s1"},{"start":17,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-k"},{"start":28,"end":36,"cssClass":"pl-v"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-k"},{"start":32,"end":36,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-k"},{"start":42,"end":56,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":30,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-k"},{"start":38,"end":50,"cssClass":"pl-v"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":26,"cssClass":"pl-v"}],[],[{"start":0,"end":4,"cssClass":"pl-s1"},{"start":5,"end":6,"cssClass":"pl-c1"},{"start":7,"end":12,"cssClass":"pl-c1"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":14,"cssClass":"pl-v"},{"start":15,"end":29,"cssClass":"pl-v"}],[{"start":4,"end":25,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":19,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":23,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":52,"cssClass":"pl-s"}],[{"start":0,"end":27,"cssClass":"pl-s"}],[{"start":0,"end":54,"cssClass":"pl-s"}],[{"start":0,"end":54,"cssClass":"pl-s"}],[{"start":0,"end":54,"cssClass":"pl-s"}],[{"start":0,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":25,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":70,"cssClass":"pl-s"}],[{"start":0,"end":98,"cssClass":"pl-s"}],[{"start":0,"end":87,"cssClass":"pl-s"}],[{"start":0,"end":95,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":76,"cssClass":"pl-s"}],[{"start":0,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":42,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":63,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":69,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":18,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":65,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":29,"end":37,"cssClass":"pl-v"},{"start":38,"end":45,"cssClass":"pl-s1"},{"start":48,"end":50,"cssClass":"pl-c1"},{"start":51,"end":55,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":101,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":97,"cssClass":"pl-s"}],[{"start":0,"end":97,"cssClass":"pl-s"}],[{"start":0,"end":33,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-en"},{"start":33,"end":36,"cssClass":"pl-en"},{"start":37,"end":41,"cssClass":"pl-s1"}],[],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":32,"cssClass":"pl-v"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":45,"end":49,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":50,"end":60,"cssClass":"pl-s"}],[],[{"start":8,"end":78,"cssClass":"pl-c"}],[{"start":8,"end":79,"cssClass":"pl-c"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":29,"end":34,"cssClass":"pl-en"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-k"},{"start":42,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-c1"},{"start":47,"end":51,"cssClass":"pl-s1"}],[{"start":8,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":12,"end":15,"cssClass":"pl-en"},{"start":16,"end":20,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-k"},{"start":14,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":26,"cssClass":"pl-en"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":30,"end":31,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":37,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":59,"cssClass":"pl-en"},{"start":60,"end":71,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-s1"},{"start":76,"end":87,"cssClass":"pl-s1"},{"start":88,"end":89,"cssClass":"pl-s1"},{"start":90,"end":91,"cssClass":"pl-c1"},{"start":92,"end":93,"cssClass":"pl-c1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-en"},{"start":33,"end":41,"cssClass":"pl-s1"}],[{"start":12,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":33,"end":35,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-en"},{"start":41,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-en"},{"start":31,"end":36,"cssClass":"pl-en"},{"start":37,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":64,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-c1"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":70,"end":80,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":54,"cssClass":"pl-s1"}],[],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":27,"cssClass":"pl-v"},{"start":28,"end":37,"cssClass":"pl-s1"}],[{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":34,"end":46,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":61,"cssClass":"pl-s1"}],[],[{"start":12,"end":13,"cssClass":"pl-s1"},{"start":14,"end":17,"cssClass":"pl-c1"},{"start":18,"end":19,"cssClass":"pl-c1"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":43,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-c1"}],[],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":16,"end":24,"cssClass":"pl-en"},{"start":25,"end":35,"cssClass":"pl-s1"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":42,"end":52,"cssClass":"pl-s"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-en"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":35,"cssClass":"pl-en"},{"start":39,"end":43,"cssClass":"pl-s1"},{"start":44,"end":50,"cssClass":"pl-s1"}],[],[{"start":4,"end":17,"cssClass":"pl-en"},{"start":5,"end":17,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":20,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-s1"}],[{"start":8,"end":51,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":42,"end":49,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":30,"cssClass":"pl-v"},{"start":31,"end":83,"cssClass":"pl-s"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-en"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":44,"end":54,"cssClass":"pl-en"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":30,"cssClass":"pl-v"},{"start":31,"end":93,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-s1"},{"start":18,"end":26,"cssClass":"pl-en"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":33,"cssClass":"pl-en"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":44,"end":48,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":49,"end":53,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":30,"cssClass":"pl-v"},{"start":31,"end":85,"cssClass":"pl-s"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":18,"cssClass":"pl-v"},{"start":19,"end":23,"cssClass":"pl-v"}],[{"start":4,"end":54,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":29,"end":37,"cssClass":"pl-v"},{"start":38,"end":45,"cssClass":"pl-s1"},{"start":48,"end":50,"cssClass":"pl-c1"},{"start":51,"end":55,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":101,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":16,"cssClass":"pl-v"},{"start":17,"end":29,"cssClass":"pl-en"},{"start":30,"end":34,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-en"},{"start":33,"end":36,"cssClass":"pl-en"},{"start":37,"end":41,"cssClass":"pl-s1"}],[],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":16,"end":24,"cssClass":"pl-en"},{"start":25,"end":35,"cssClass":"pl-s"},{"start":37,"end":47,"cssClass":"pl-s1"},{"start":49,"end":53,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":15,"cssClass":"pl-en"},{"start":16,"end":20,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":34,"cssClass":"pl-v"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":48,"end":57,"cssClass":"pl-en"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":33,"end":42,"cssClass":"pl-s1"}],[{"start":8,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":88,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-en"},{"start":22,"end":31,"cssClass":"pl-s1"},{"start":33,"end":40,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":26,"cssClass":"pl-en"},{"start":27,"end":36,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":26,"cssClass":"pl-en"},{"start":27,"end":32,"cssClass":"pl-en"},{"start":35,"end":53,"cssClass":"pl-en"},{"start":54,"end":63,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":15,"cssClass":"pl-en"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":22,"end":31,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":45,"cssClass":"pl-c1"}],[{"start":8,"end":54,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":27,"cssClass":"pl-v"},{"start":29,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"},{"start":37,"end":42,"cssClass":"pl-s1"},{"start":44,"end":47,"cssClass":"pl-k"},{"start":48,"end":53,"cssClass":"pl-s1"},{"start":54,"end":56,"cssClass":"pl-c1"},{"start":57,"end":61,"cssClass":"pl-s1"},{"start":62,"end":68,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":15,"cssClass":"pl-en"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":22,"end":26,"cssClass":"pl-s1"}],[{"start":4,"end":7,"cssClass":"pl-s"}],[{"start":0,"end":90,"cssClass":"pl-s"}],[{"start":0,"end":77,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-s1"},{"start":10,"end":11,"cssClass":"pl-c1"},{"start":13,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-c1"}],[{"start":4,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-s1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":16,"cssClass":"pl-s1"},{"start":18,"end":25,"cssClass":"pl-s1"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/Qiskit/qiskit/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"diagonal.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/circuit/library/generalized_gates/diagonal.py?raw=true","headerInfo":{"blobSize":"5.8 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"2653675","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Fcircuit%2Flibrary%2Fgeneralized_gates%2Fdiagonal.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"164","truncatedSloc":"127"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/Qiskit/qiskit/blob/main/qiskit/circuit/library/generalized_gates/diagonal.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/Qiskit/qiskit/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/Qiskit/qiskit/raw/main/qiskit/circuit/library/generalized_gates/diagonal.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"_EPS","kind":"constant","ident_start":797,"ident_end":801,"extent_start":797,"extent_end":809,"fully_qualified_name":"_EPS","ident_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":27,"utf16_col":4}},"extent_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":27,"utf16_col":12}}},{"name":"Diagonal","kind":"class","ident_start":818,"ident_end":826,"extent_start":812,"extent_end":4607,"fully_qualified_name":"Diagonal","ident_utf16":{"start":{"line_number":30,"utf16_col":6},"end":{"line_number":30,"utf16_col":14}},"extent_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":124,"utf16_col":86}}},{"name":"__init__","kind":"function","ident_start":2537,"ident_end":2545,"extent_start":2533,"extent_end":4034,"fully_qualified_name":"Diagonal.__init__","ident_utf16":{"start":{"line_number":78,"utf16_col":8},"end":{"line_number":78,"utf16_col":16}},"extent_utf16":{"start":{"line_number":78,"utf16_col":4},"end":{"line_number":113,"utf16_col":51}}},{"name":"_check_input","kind":"function","ident_start":4062,"ident_end":4074,"extent_start":4058,"extent_end":4607,"fully_qualified_name":"Diagonal._check_input","ident_utf16":{"start":{"line_number":116,"utf16_col":8},"end":{"line_number":116,"utf16_col":20}},"extent_utf16":{"start":{"line_number":116,"utf16_col":4},"end":{"line_number":124,"utf16_col":86}}},{"name":"DiagonalGate","kind":"class","ident_start":4616,"ident_end":4628,"extent_start":4610,"extent_end":5638,"fully_qualified_name":"DiagonalGate","ident_utf16":{"start":{"line_number":127,"utf16_col":6},"end":{"line_number":127,"utf16_col":18}},"extent_utf16":{"start":{"line_number":127,"utf16_col":0},"end":{"line_number":153,"utf16_col":70}}},{"name":"__init__","kind":"function","ident_start":4700,"ident_end":4708,"extent_start":4696,"extent_end":5026,"fully_qualified_name":"DiagonalGate.__init__","ident_utf16":{"start":{"line_number":130,"utf16_col":8},"end":{"line_number":130,"utf16_col":16}},"extent_utf16":{"start":{"line_number":130,"utf16_col":4},"end":{"line_number":138,"utf16_col":54}}},{"name":"_define","kind":"function","ident_start":5036,"ident_end":5043,"extent_start":5032,"extent_end":5110,"fully_qualified_name":"DiagonalGate._define","ident_utf16":{"start":{"line_number":140,"utf16_col":8},"end":{"line_number":140,"utf16_col":15}},"extent_utf16":{"start":{"line_number":140,"utf16_col":4},"end":{"line_number":141,"utf16_col":59}}},{"name":"validate_parameter","kind":"function","ident_start":5120,"ident_end":5138,"extent_start":5116,"extent_end":5463,"fully_qualified_name":"DiagonalGate.validate_parameter","ident_utf16":{"start":{"line_number":143,"utf16_col":8},"end":{"line_number":143,"utf16_col":26}},"extent_utf16":{"start":{"line_number":143,"utf16_col":4},"end":{"line_number":149,"utf16_col":65}}},{"name":"inverse","kind":"function","ident_start":5473,"ident_end":5480,"extent_start":5469,"extent_end":5638,"fully_qualified_name":"DiagonalGate.inverse","ident_utf16":{"start":{"line_number":151,"utf16_col":8},"end":{"line_number":151,"utf16_col":15}},"extent_utf16":{"start":{"line_number":151,"utf16_col":4},"end":{"line_number":153,"utf16_col":70}}},{"name":"_extract_rz","kind":"function","ident_start":5645,"ident_end":5656,"extent_start":5641,"extent_end":5938,"fully_qualified_name":"_extract_rz","ident_utf16":{"start":{"line_number":156,"utf16_col":4},"end":{"line_number":156,"utf16_col":15}},"extent_utf16":{"start":{"line_number":156,"utf16_col":0},"end":{"line_number":163,"utf16_col":25}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"V2UsoQhSc3HhflodV5gSLRYXQGVFMiKJgu7VHA_Yt7pzcUJBHDSXgYj3PsnWkEtaVNhslq6kBZBXPVyGxtHIoQ"},"/repos/preferences":{"post":"WGspqH33Mo5XXLpNZCian1dVbcGui9R5mdnhdVLj1z2U2KbHjLfmx3_ugdsUGkEgRDhaOzTQijDfU1mNrx-Skg"}}},"title":"qiskit/qiskit/circuit/library/generalized_gates/diagonal.py at main · Qiskit/qiskit"}