Skip to main content
IBM Quantum Platform

Orientierung

class qiskit.transpiler.Layout(input_dict=None)

GitHub

Basen: object

Zwei-Wege-Diktat zur Darstellung eines Layouts.

ein Layout aus einem bijektiven Wörterbuch zu erstellen, das virtuelle Qubits auf physische Qubits abbildet


Methoden

add

add(virtual_bit, physical_bit=None)

GitHub

Fügt ein Zuordnungselement zwischen bit und physical_bit ein. Wenn physical_bit nicht definiert ist, wird das Bit auf ein neues physikalisches Bit abgebildet.

Parameter

  • virtual_bit (tuple) – Ein (Qu)bit. Zum Beispiel: ( QuantumRegister(3, 'qr'), 2).
  • physical_bit (int) – Ein physisches Stück. Zum Beispiel, 3.

add_register

add_register(reg)

GitHub

Fügt am Ende physical_qubits hinzu, die jedes Bit in reg abbilden.

Parameter

reg (Register) – Ein (Qu)bit-Register. Zum Beispiel: QuantumRegister(3, „qr“).

combine_into_edge_map

combine_into_edge_map(another_layout)

GitHub

Kombiniert self und another_layout zu einer "Edge Map".

Zum Beispiel:

   self       another_layout  resulting edge map
qr_1 -> 0        0 <- q_2         qr_1 -> q_2
qr_2 -> 2        2 <- q_1         qr_2 -> q_1
qr_3 -> 3        3 <- q_0         qr_3 -> q_0

Die Kantendarstellung wird z. B. für die Zusammenstellung von Dags mit compose verwendet.

Parameter

another_layout (Layout) – Das andere Layout zu kombinieren.

Rückgabe

Eine "Randkarte".

Rückgabetyp

dict

Erhöht

LayoutError – „another_layout“ kann größer als „self“ sein, aber nicht kleiner. Ansonsten: Gehaltserhöhungen.

compose

compose(other, qubits)

GitHub

Verbinden Sie dieses Layout mit einem anderen Layout.

Wenn dieses Layout eine Abbildung von den P-Qubits auf die Positionen der Q-Qubits darstellt, und das andere Layout eine Abbildung von den Q-Qubits auf die Positionen der R-Qubits darstellt, dann stellt das zusammengesetzte Layout eine Abbildung von den P-Qubits auf die Positionen der R-Qubits dar.

Parameter

  • other (Layout) – Die bestehenden Layout zu komponierenden Layout mit.
  • qubits (list[Qubit]) – Eine Liste von Qubit Objekten, über die other definiert ist, die dazu dient, die Entsprechung zwischen den Positionen der other Qubits und den tatsächlichen Qubits herzustellen.

Rückgabe

Ein neues Layout-Objekt, das dieses Layout zusammen mit dem Layout other darstellt.

Rückgabetyp

Layout

copy

copy()

GitHub

Gibt eine Kopie einer Layout-Instanz zurück.

from_dict

from_dict(input_dict)

GitHub

Füllt ein Layout aus einem Wörterbuch.

Das Wörterbuch muss eine bijektive Abbildung zwischen virtuellen Qubits (Tupel) und physischen Qubits (Int) sein.

Parameter

input_dict (dict) –

z. B.:

{(QuantumRegister(3, 'qr'), 0): 0,
 (QuantumRegister(3, 'qr'), 1): 1,
 (QuantumRegister(3, 'qr'), 2): 2}

Can be written more concisely as follows:

* virtual to physical::

    {qr[0]: 0,
     qr[1]: 1,
     qr[2]: 2}

* physical to virtual::

    {0: qr[0],
     1: qr[1],
     2: qr[2]}

from_intlist

static from_intlist(int_list, *qregs)

GitHub

Konvertiert eine Liste von Ganzzahlen in ein Layout, das virtuelle Qubits (Index der Liste) auf physikalische Qubits (die Listenwerte) abbildet.

Parameter

  • int_list (list) – Eine Liste von Ganzzahlen.
  • *qregs ( QuantumRegisters ) - Die Quantenregister, auf die das Layout angewendet werden soll.

Rückgabe

Das entsprechende Layout-Objekt.

Rückgabetyp

Orientierung

Erhöht

LayoutError – Ungültiges Eingabelayout.

from_qubit_list

static from_qubit_list(qubit_list, *qregs)

GitHub

Füllt ein Layout aus einer Liste mit virtuellen Qubits, Qubit oder None.

Parameter

  • qubit_list (list) – e. g.: [ [qr0], Keine, [qr2], [qr3] ]
  • *qregs ( QuantumRegisters ) - Die Quantenregister, auf die das Layout angewendet werden soll.

Rückgabe

das entsprechende Layout-Objekt

Rückgabetyp

Orientierung

Erhöht

LayoutError – Wenn die Elemente weder „Qubit“ noch „None“ sind

generate_trivial_layout

static generate_trivial_layout(*regs)

GitHub

Erzeugt ein triviales ("eins-zu-eins") Layout mit den Registern und Qubits in regs.

Parameter

*regs* (Register, Qubits* ) - Register und Qubits, die in das Layout aufgenommen werden sollen.

Rückgabe

Ein Layout mit allen Registern in der angegebenen Reihenfolge.

Rückgabetyp

Orientierung

get_physical_bits

get_physical_bits()

GitHub

Gibt das Wörterbuch zurück, wobei die Schlüssel physische (Qu)Bits und die Werte virtuelle (Qu)Bits sind.

get_registers

get_registers()

GitHub

Gibt die Register im Layout zurück [QuantumRegister(2, ‘qr0’ ), QuantumRegister(3, ‘qr1’ )] :returns: Eine Reihe von Registern im Layout :rtype: Set

get_virtual_bits

get_virtual_bits()

GitHub

Gibt das Wörterbuch zurück, bei dem die Schlüssel virtuelle (Q)Bits und die Werte physische (Q)Bits sind.

inverse

inverse(source_qubits, target_qubits)

GitHub

Findet die Umkehrung dieses Layouts.

Dies ist möglich, wenn das Layout eine bijektive Abbildung ist, die Eingangs- und Ausgangsqubits jedoch unterschiedlich sein können (insbesondere kann dieses Layout die Abbildung von den erweiterten virtuellen Qubits auf physikalische Qubits sein). Wenn dieses Layout also eine Abbildung von den P-Qubits auf die Positionen der Q-Qubits darstellt, stellt das inverse Layout eine Abbildung von den Q-Qubits auf die Positionen der P-Qubits dar.

Parameter

  • source_qubits (list[Qubit]) – Eine Liste von Qubit Objekten, die den Bereich des Layouts darstellen.
  • target_qubits (list[Qubit]) – Eine Liste von Qubit Objekten, die das Layout darstellen.

Rückgabe

Ein neues Layout-Objekt, das die Umkehrung dieses Layouts darstellt.

order_based_on_type

static order_based_on_type(value1, value2)

GitHub

entscheidet anhand des Typs, ob es sich um eine physische oder virtuelle Datei handelt. Rückgabe (virtuell, physisch)

reorder_bits

reorder_bits(bits)

GitHub

Geben Sie eine geordnete Liste von Bits an und ordnen Sie sie nach diesem Schema neu.

Die Liste der Bits muss genau mit den virtuellen Bits in diesem Layout übereinstimmen.

Parameter

bits (list[Bit]) – die Teile, die neu angeordnet werden müssen.

Rückgabe

geordnete Bits.

Rückgabetyp

Liste

swap

swap(left, right)

GitHub

Tauscht die Karte zwischen links und rechts.

Parameter

  • left (tuple orint) – Gegenstand zum Tauschen mit rechts.
  • right (tuple orint) – Gegenstand zum Tauschen mit links.

Erhöht

LayoutError – Wenn „left“ und „right“ nicht denselben Typ haben.

to_permutation

to_permutation(qubits)

GitHub

Erzeugt eine Permutation, die diesem Layout entspricht.

Dies ist möglich, wenn das Layout eine bijektive Abbildung mit denselben Quell- und Ziel-Qubits ist (z. B. entspricht ein "final_layout" einer Permutation der physischen Schaltkreis-Qubits). Wenn dieses Layout eine Abbildung von Qubits auf ihre neuen Positionen ist, beschreibt die resultierende Permutation, welche Qubits die Positionen 0, 1, 2 usw. nach Anwendung der Permutation einnehmen.

Nehmen wir zum Beispiel an, dass die Liste der Qubits [qr_0, qr_1, qr_2] lautet und das Layout qr_0 auf 2, qr_1 auf 0 und qr_2 auf 1 abbildet. Bezogen auf die Positionen in qubits bedeutet dies, dass 0 auf 2, 1 auf 0 und 2 auf 1 abgebildet wird, wobei die entsprechende Permutation [1, 2, 0] lautet.

Parameter

qubits (list[Qubit])

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.