Hamiltonian and quantization#

[1]:
import scqubits as scq
import numpy as np

zp_yaml = """# zero-pi
branches:
- ["JJ", 1,2, EJ = 10, 20]
- ["JJ", 3,4, EJ, 20]
- ["L", 2,3, 0.008]
- ["L", 4,1, 0.008]
- ["C", 1,3, 0.02]
- ["C", 2,4, 0.02]
"""

zero_pi = scq.Circuit(zp_yaml, from_file=False)

Circuit Hamiltonian: symbolic#

[2]:
zero_pi.sym_hamiltonian()
$ \left(40.0 Q_{3}^{2} + 0.03996 n_{1}^{2} + 0.03996 n_{g1}^{2} + 0.01 Q_{2}^{2} + 0.07992 n_{1} n_{g1}\right) - \left(- 0.008 θ_{3}^{2} - 0.032 θ_{2}^{2} + EJ \cos{\left(θ_{1} - 1.0 θ_{3} \right)} + EJ \cos{\left(θ_{1} + θ_{3} - (2πΦ_{1}) \right)}\right) $
  • The circuit Hamiltonian is expressed in terms of the transformed coordinates \(\theta_i\).

  • Conjugate charge numbers are given by \(Q_i\) for extended degrees of freedom, and by \(n_i\) for periodic degrees of freedom.

  • Offset charges are denoted by \(n_{gi}\).

  • External loop fluxes are denoted by \(\Phi_i\).

For more information on external fluxes and offset charges, see External magnetic flux, offset charges.

Circuit Hamiltonian: matrix representation#

[3]:
zero_pi.hamiltonian()
[3]:
<9900x9900 sparse matrix of type '<class 'numpy.complex128'>'
        with 138780 stored elements in Compressed Sparse Column format>

scqubits performs quantization and selects a Hilbert-space basis. The method hamiltonian() returns a matrix representation of the resulting Hamiltonian operator.