Synthèse fermionique
Ce module présente les méthodes de synthèse permettant de décomposer une porte Evolution en un ensemble de FermionicCircuit portes fermioniques plus petites. Passez un argument synthesis à la porte pour choisir la manière dont son évolution temporelle sera décomposée :
Evolution(num_modes, operator, time=1.0, synthesis=FermionicLieTrotter())Les deux côtés de cette réécriture se situent dans l'espace fermionique; ces méthodes peuvent donc exploiter la de groups l'opérateur évolué (voir « Termes d'opérateurs de groupe : utiliser la structure de l'opérateur ») – contrairement à la synthèse « fermion-vers-qubit » qui suit, qui ne prend en compte que l'opérateur mis en correspondance, pour lequel le regroupement n'est plus disponible.
Cette étape de conversion de fermion en fermion est facultative. Une porte Evolution peut être transmise directement à l'étape de conversion des fermions en qubits, quel que soit le nombre de termes que comporte son opérateur; la décomposer d'abord dans l'espace fermionique est un choix qui vise à obtenir des facteurs moins coûteux ou à mettre en évidence une structure que l'étape suivante pourra exploiter.
Chronique « 1 » | Chronique « 2 » |
|---|---|
FermionicEvolutionSynthesis() | L'interface pour la synthèse fermion-fermion d'une porte Evolution . |
FermionicLieTrotter([reps]) | La formule du produit de Lie-Trotter du premier ordre, appliquée à l'espace fermionique. |
FermionicSuzukiTrotter([order, reps]) | La formule du produit de Suzuki-Trotter d'ordre supérieur, appliquée dans l'espace fermionique. |