Hamiltonià

La classe Hamiltonian representa un Hamiltonià simbòlic com una suma d’operadors de Pauli ponderats. Podeu crear Hamiltonians fent servir els operadors de Pauli integrats i combinar-los amb operacions aritmètiques estàndard.

Construcció

Per construir un Hamiltonià amb un sol Pauli, podeu fer servir els constructors X(i), Y(i), Z(i), I(i). A partir d’aquests operadors d’un sol qubit, podeu construir Hamiltonians de múltiples qubits mitjançant operacions aritmètiques. Les operacions segueixen la sintaxi de Python; per exemple: 2 * Z(0) + Z(1) i Z(0) * Z(1) construeixen Hamiltonians de múltiples qubits.

Llista d’operacions

Operacions aritmètiques:

  • Suma: H1 + H2

  • Multiplicació escalar: 5 * H

  • Multiplicació: H0 * H1

  • Resta: H1 - H2

  • Divisió per escalar: H / 5

  • Negació: -H

Operadors simbòlics addicionals:

Exportació de Hamiltonians:

Importació de Hamiltonians:

Exemple: Hamiltonià d’Ising

Per definir un Hamiltonià d’Ising de la forma:

\[H_{\text{Ising}} = - \sum_{\langle i, j \rangle} J_{ij} \sigma^Z_i \sigma^Z_j - \sum_j h_j \sigma^Z_j\]

podeu fer servir els operadors de Pauli Z de la biblioteca:

from qilisdk.analog import Z

nqubits = 3
J = {(0, 1): 1, (0, 2): 2, (1, 2): 4}
h = {0: 1, 1: 2, 2: 3}

coupling = sum(weight * Z(i) * Z(j) for (i, j), weight in J.items())
fields = sum(weight * Z(i) for i, weight in h.items())

H = -(coupling + fields)
print(H)

Sortida:

- Z(0) Z(1) - 2 Z(0) Z(2) - 4 Z(1) Z(2) - Z(0) - 2 Z(1) - 3 Z(2)