Site Tools


scqubits-hamiltonian

Hamiltonian Construction

Hamiltonian construction in scqubits involves specifying the qubit type and parameters, then scqubits automatically computes the quantum Hamiltonian. For standard qubits (transmon, fluxonium, etc.), this is automatic. For custom circuits, you can build composite Hamiltonians from qubit objects.

from scqubits import Transmon, Fluxonium
 
# Standard qubits: scqubits handles quantization
transmon = Transmon(EJ=15.0, EC=0.3, ng=0.0, ncut=30)
print(transmon.hamiltonian())  # Returns the full H
 
# Matrix representation
H_matrix = transmon.hamiltonian().full()
 
# Expectation value of an operator
n_op = transmon.n_operator()
print(transmon.expectation_value(n_op))

Composite Systems

For coupled qubits, scqubits provides a Hilbert space that combines multiple qubits and couplings:

from scqubits import Transmon, HilbertSpace, InteractionTerm
 
qubit1 = Transmon(EJ=15.0, EC=0.3, ncut=30)
qubit2 = Transmon(EJ=15.0, EC=0.3, ncut=30)
 
# Hilbert space for two qubits
hilbert = HilbertSpace([qubit1, qubit2])
 
# Add coupling: interaction Hamiltonian
g = 0.01  # Coupling strength (GHz)
interaction = InteractionTerm(
    g=g,
    op1=qubit1.n_operator(),
    op2=qubit2.n_operator()
)
hilbert.add_interaction(interaction)
 
# Full Hamiltonian
H_total = hilbert.hamiltonian()

scqubits automates the tedious parts (quantization, basis transformations) so you focus on physics.

scqubits-hamiltonian.md · Last modified: by 127.0.0.1