Skip to content

System found in Nonlinear Response and Crosstalk of Electrically Driven Silicon Spin Qubits 10.1103/PhysRevApplied.19.044078

# Imports from sympt
from sympt import *
# imports from sympy
import sympy as sp

Setup

# ---------------- Defining the symbols ------------------
# Order 0
omega0 = RDSymbol('omega0', real=True, positive=True)
theta = RDSymbol(r'\theta', real=True)
n = sp.Matrix([0, sp.cos(theta), sp.sin(theta)])

# Order 1
omega = RDSymbol('omega', real=True, positive=True, order=1)
Eac = RDSymbol(r'\tilde{E}_{\mathrm{ac}}', real=True, order=1)
Ez = RDSymbol(r'E_{z}', real=True, order=1)
bsl = RDSymbol(r'\tilde{b}_{\mathrm{SL}}', real=True, order=1)


# ----------------- Defining the basis -------------------
# Spin basis: Finite 2x2 Hilbert space
Spin = RDBasis('sigma', 2)
s0, sx, sy, sz = Spin.basis # Pauli operators
s_vec = sp.Matrix([sx, sy, sz]) # Spin vector
# Boson basis: Infinite bosonic Hilbert space
a = BosonOp('a')
ad = Dagger(a)

# -------------- Defining the Hamiltonian ----------------
# Unperturbed Hamiltonian H0
H0 = hbar * omega0 * (ad*a + sp.Rational(1,2))
# Perturbation Hamiltonians
HE = Eac * sp.sin(omega * t) * (ad + a)
HB = -sp.Rational(1,2) * Ez * sz
V = bsl * (ad + a) * n.dot(s_vec)

display_dict({
    sp.Symbol('H_0'): H0,
    sp.Symbol('H_E'): HE,
    sp.Symbol('H_B'): HB,
    sp.Symbol(r'V'): V,
})

\(\displaystyle H_{0} : \hbar \omega_{0} \left(\frac{1}{2} + {a^\dagger} a\right)\)

\(\displaystyle H_{E} : \tilde{E}_{\mathrm{ac}} \sin{\left(\omega t \right)} \left({a^\dagger} + a\right)\)

\(\displaystyle H_{B} : - \frac{E_{z} \sigma_{3}}{2}\)

\(\displaystyle V : \tilde{b}_{\mathrm{SL}} \left({a^\dagger} + a\right) \left(\sin{\left(\theta \right)} \sigma_{3} + \cos{\left(\theta \right)} \sigma_{2}\right)\)

# Deffining Effective Hamiltonian Object
Eff_Frame = EffectiveFrame(H=H0 + HB, V=HE + V, subspaces=[Spin])
The EffectiveFrame object has been initialized successfully.

Time Dependent Schrieffer-Wolff Transformation

# Calculate the effective model using the Schrieffer-Wolff transformation up to the second order
Eff_Frame.solve(max_order=5, method="SW")
# Obtaining the result in the matrix form
H_eff = Eff_Frame.get_H(return_form='matrix')
Computing the effective Hamiltonian: 100%|██████████| 5/5 [00:08<00:00,  1.70s/it]
The Hamiltonian has been solved successfully. Please use the get_H method to get the result in the desired form.
Converting to matrix form: 100%|██████████| 6/6 [00:00<00:00, 47.09it/s]
# Corrections to the Hamiltonian for each order
H0, H1, H2, H3, H4, H5 = [H_correction for H_correction in Eff_Frame.corrections.values()]

Simplifying corrections

# Expectation Values for the bosonic operators
# <n=0|a|n=0> = 0
# <n=0|ad|n=0> = 0
# <n=0|ad*a|n=0> = 0
subs_expvals = {
    ad*a: 0,
    a : 0,
    ad : 0,
}
# Projecting first order correction in spin subspace
H1_op = Spin.project(H1.expand())
H1_op.expand()

\(\displaystyle - \frac{E_{z} \sigma_{3}}{2}\)

# Projecting second order correction in spin subspace
H2_op = Spin.project(sp.expand_complex(H2.expand()).trigsimp())
H2_op.expand()

\(\displaystyle - \frac{\tilde{E}_{\mathrm{ac}}^{2} \sin^{2}{\left(\omega t \right)} \sigma_{0}}{\hbar \omega_{0}} - \frac{2 \tilde{E}_{\mathrm{ac}} \tilde{b}_{\mathrm{SL}} \sin{\left(\theta \right)} \sin{\left(\omega t \right)} \sigma_{3}}{\hbar \omega_{0}} - \frac{2 \tilde{E}_{\mathrm{ac}} \tilde{b}_{\mathrm{SL}} \sin{\left(\omega t \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar \omega_{0}} - \frac{\tilde{b}_{\mathrm{SL}}^{2} \sigma_{0}}{\hbar \omega_{0}}\)

# Projecting third order correction in spin subspace
H3_op = Spin.project(H3.expand().subs(subs_expvals))
H3_op.expand()

\(\displaystyle - \frac{E_{z} \tilde{b}_{\mathrm{SL}}^{2} \sin{\left(\theta \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar^{2} \omega_{0}^{2}} + \frac{E_{z} \tilde{b}_{\mathrm{SL}}^{2} \cos^{2}{\left(\theta \right)} \sigma_{3}}{\hbar^{2} \omega_{0}^{2}}\)

# Projecting fourth order correction in spin subspace
H4_op = Spin.project(sp.expand_complex(H4.xreplace(subs_expvals).expand())).collect(-2*bsl*Eac*sp.cos(theta)*sp.sin(omega*t))
H4_op.expand()
\[\displaystyle - \frac{E_{z}^{2} \tilde{E}_{\mathrm{ac}} \tilde{b}_{\mathrm{SL}} \sin{\left(\omega t \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar^{3} \omega_{0}^{3}} - \frac{E_{z}^{2} \tilde{b}_{\mathrm{SL}}^{2} \cos^{2}{\left(\theta \right)} \sigma_{0}}{\hbar^{3} \omega_{0}^{3}} + \frac{\tilde{E}_{\mathrm{ac}}^{2} \omega^{2} \cos{\left(2 \omega t \right)} \sigma_{0}}{2 \hbar \omega_{0}^{3}} - \frac{\tilde{E}_{\mathrm{ac}}^{2} \omega^{2} \sigma_{0}}{2 \hbar \omega_{0}^{3}} - \frac{\tilde{E}_{\mathrm{ac}} \tilde{b}_{\mathrm{SL}} \omega^{2} \sin{\left(\theta \right)} \sin{\left(\omega t \right)} \sigma_{3}}{\hbar \omega_{0}^{3}} - \frac{\tilde{E}_{\mathrm{ac}} \tilde{b}_{\mathrm{SL}} \omega^{2} \sin{\left(\omega t \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar \omega_{0}^{3}}\]
# Projecting fifth order correction in spin subspace
H5_op = Spin.project(sp.expand_complex(H5.xreplace(subs_expvals).expand())).trigsimp()
H5_op.expand()
\[\displaystyle - \frac{E_{z}^{3} \tilde{b}_{\mathrm{SL}}^{2} \sin{\left(\theta \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar^{4} \omega_{0}^{4}} + \frac{E_{z}^{3} \tilde{b}_{\mathrm{SL}}^{2} \cos^{2}{\left(\theta \right)} \sigma_{3}}{\hbar^{4} \omega_{0}^{4}} - \frac{4 E_{z} \tilde{E}_{\mathrm{ac}}^{2} \tilde{b}_{\mathrm{SL}}^{2} \sin{\left(\theta \right)} \sin^{2}{\left(\omega t \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar^{4} \omega_{0}^{4}} + \frac{4 E_{z} \tilde{E}_{\mathrm{ac}}^{2} \tilde{b}_{\mathrm{SL}}^{2} \sin^{2}{\left(\omega t \right)} \cos^{2}{\left(\theta \right)} \sigma_{3}}{\hbar^{4} \omega_{0}^{4}} + \frac{E_{z} \tilde{b}_{\mathrm{SL}}^{4} \sin{\left(\theta \right)} \cos{\left(\theta \right)} \sigma_{2}}{\hbar^{4} \omega_{0}^{4}} - \frac{E_{z} \tilde{b}_{\mathrm{SL}}^{4} \cos^{2}{\left(\theta \right)} \sigma_{3}}{\hbar^{4} \omega_{0}^{4}}\]

License

SymPT is licensed under the MIT License. See the LICENSE file for details.


Citation

If you use SymPT in your research, please cite the following paper:

BibTeX Entry:

@misc{diotallevi2024symptcomprehensivetoolautomating,
      title={SymPT: a comprehensive tool for automating effective Hamiltonian derivations}, 
      author={Giovanni Francesco Diotallevi and Leander Reascos and Mónica Benito},
      year={2024},
      eprint={2412.10240},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      url={https://arxiv.org/abs/2412.10240}, 
}

APA Citation:

Diotallevi, G. F., Reascos, L., & Benito, M. (2024). SymPT: a comprehensive tool for automating effective Hamiltonian derivations. arXiv preprint arXiv:2412.10240.

IEEE Citation:

G. F. Diotallevi, L. Reascos, and M. Benito, "SymPT: a comprehensive tool for automating effective Hamiltonian derivations," arXiv preprint arXiv:2412.10240, 2024.


References