Fermionensynthese
Dieses Modul stellt die Synthesemethoden vor, mit denen ein -Gatter Evolution in eine aus FermionicCircuit kleineren fermionischen Gattern zerlegt wird. Übergeben Sie ein Argument synthesis an das Gate, um festzulegen, wie dessen zeitliche Entwicklung zerlegt werden soll:
Evolution(num_modes, operator, time=1.0, synthesis=FermionicLieTrotter())Beide Seiten dieser Umformulierung befinden sich im fermionischen Raum, sodass diese Methoden die groups des entwickelten Operators nutzen können (siehe „Gruppenoperatorterme: Nutzung der Operatorstruktur“ ) – im Gegensatz zur nachfolgenden Fermion-zu-Qubit-Synthese, bei der nur der abgebildete Operator berücksichtigt wird und die Gruppierung nicht mehr zur Verfügung steht.
Dieser Schritt von Fermion zu Fermion ist optional. Ein Gate Evolution kann direkt an die Fermion-zu-Qubit-Stufe weitergeleitet werden, unabhängig davon, wie viele Terme sein Operator enthält; die vorherige Zerlegung im Fermionenraum ist eine Option, die gewählt wird, um kostengünstigere Faktoren zu erhalten oder Strukturen aufzudecken, die in der nachfolgenden Stufe genutzt werden können.
Kolumne „ 1 “ | Kolumne „ 2 “ |
|---|---|
FermionicEvolutionSynthesis() | Die Schnittstelle für die Fermion-zu-Fermion-Synthese eines Gatters Evolution . |
FermionicLieTrotter([reps]) | Die Lie-Trotter-Produktformel erster Ordnung, angewendet im fermionischen Raum. |
FermionicSuzukiTrotter([order, reps]) | Die Suzuki-Trotter-Produktformel höherer Ordnung, angewandt im fermionischen Raum. |