Skip to main content
IBM Quantum Platform

LinearPauliRotations

class qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')

GitHub

Basen: FunctionalPauliRotations

Linear gesteuerte X-, Y- oder Z-Drehung.

Für ein Register von Zustands-Qubits ∣x⟩|x\rangle, ein Ziel-Qubit ∣0⟩|0\rangle und die Basis 'Y' funktioniert diese Schaltung wie folgt:

    q_0: ─────────────────────────■───────── ... ──────────────────────
                                  │
                                  .
                                  │
q_(n-1): ─────────────────────────┼───────── ... ───────────■──────────
          ┌────────────┐  ┌───────┴───────┐       ┌─────────┴─────────┐
    q_n: ─┤ RY(offset) ├──┤ RY(2^0 slope) ├  ...  ┤ RY(2^(n-1) slope) ├
          └────────────┘  └───────────────┘       └───────────────────┘

Dies kann zum Beispiel verwendet werden, um lineare Funktionen zu approximieren, mit a=a = slope /2/2 und b=b = offset /2/2 und der Basis 'Y':

∣x⟩∣0⟩↦cos⁡(ax+b)∣x⟩∣0⟩+sin⁡(ax+b)∣x⟩∣1⟩|x\rangle |0\rangle \mapsto \cos(ax + b)|x\rangle|0\rangle + \sin(ax + b)|x\rangle |1\rangle

Da dieser Operator für kleine Argumente sin⁡(x)≈x\sin(x) \approx x verwendet werden kann, um lineare Funktionen zu approximieren.

Parameter

  • num_state_qubits (int | None) – Die Anzahl der Qubits, die den Zustand ∣x⟩|x\rangle darstellen.
  • slope (float) – Die Steigung der kontrollierten Drehung.
  • offset (float) – Der Offset der kontrollierten Drehung.
  • basis (str) – Die Art der Pauli-Drehung ('X', 'Y', 'Z').
  • name (str) – Der Name des Schaltkreisobjekts.

Attribute

offset

Der Winkel der Offset-Drehung des einzelnen Qubits auf dem Ziel-Qubit.

Vor der Anwendung der kontrollierten Drehungen wird eine einzelne Drehung des Winkels offset auf das Ziel-Qubit angewendet.

Rückgabe

Der Versatzwinkel.

slope

Der Multiplikationsfaktor im Drehwinkel der kontrollierten Drehungen.

Die Drehwinkel sind slope * 2^0, slope * 2^1,..., slope * 2^(n-1) , wobei n die Anzahl der Zustands-Qubits ist.

Rückgabe

Der für alle kontrollierten Drehungen gemeinsame Drehwinkel.

name

Typ: str

Ein von Menschen lesbarer Name für den Stromkreis.

Beispiel

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.