Skip to main content
IBM Quantum Platform

groups_have_uniform_coeffs

groups_have_uniform_coeffs(op, *, atol=1e-08, abs=True)

Gibt für jede Gruppe zurück, ob alle ihre Koeffizienten numerisch gleich sind.

Bei abs (der Standardeinstellung) werden die Koeffizientengrößen verglichen; dies entspricht der Annahme, die group_coeff_means() trifft, wenn es den Mittelwert von berechnet abs(coeff). Ohne diese müssen die Koeffizienten exakt übereinstimmen. Beachten Sie, dass eine hermitische Gruppe die strengere Form durchaus nicht erfüllen kann, da ein konjugiertes Paar mit komplexen Koeffizienten zwar gleiche Beträge, aber ungleiche Koeffizienten aufweist. Wenn der Betreiber keine Gruppen verfolgt, wird hier. zurückgegeben None.

Eine leere oder aus einem einzigen Element bestehende Gruppe ist trivialerweise homogen.

Anmerkung

Dies ist keine abgeschwächte Form von groups_are_hermitian(): Das eine impliziert das andere nicht. Einheitliche Koeffizienten machen eine Gruppe noch nicht hermitisch, und eine hermitische Gruppe kann unterschiedliche Größenordnungen enthalten.

>>> from qiskit_fermions.operators import FermionOperator
>>> from qiskit_fermions.operators.terms.grouping import groups_have_uniform_coeffs
>>> op = FermionOperator.from_dict(
...     {
...         ((True, 0), (False, 1)): 1.0j,
...         ((True, 1), (False, 0)): -1.0j,
...     }
... )
>>> op.groups = [0, 0]
>>> groups_have_uniform_coeffs(op)  # equal magnitudes
[True]
>>> groups_have_uniform_coeffs(op, abs=False)  # but not equal coefficients
[False]

Parameter

  • op – der Operator, dessen Gruppen überprüft werden sollen.
  • atol – Die numerische Genauigkeit, bis zu der Koeffizienten als gleich angesehen werden. Dieser Wert ist standardmäßig auf 1e-8. gesetzt.
  • abs – Gibt an, ob die Größen der Koeffizienten statt der Koeffizienten selbst verglichen werden sollen. Dieser Wert ist standardmäßig auf True. gesetzt.

Rückgabe

Ein Flag pro Gruppenindex oder None falls der Operator keine Gruppen verfolgt.

Erhöhungen

TypeError – wenn kein unterstützter Operatortyp op ist (siehe OperatorTrait).

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