System found in Subharmonic transitions and Bloch-Siegert shift in electrically driven spin resonance: 10.1103/PhysRevB.92.054422
omega0 = RDSymbol('omega0', real=True, positive=True)
omega = RDSymbol('omega', real=True, positive=True, order=1)
Eac = RDSymbol(r'\tilde{E}_{\mathrm{ac}}', real=True, order=1)
B = RDSymbol(r'\tilde{B}', real=True, order=1)
alpha = RDSymbol(r'\tilde{\alpha}', real=True, order=1)
theta = RDSymbol(r'\theta', real=True)
nso = sp.Matrix([0, sp.cos(theta), sp.sin(theta)])
Spin = RDBasis('sigma', 2)
s0, sx, sy, sz = Spin.basis
s_vec = sp.Matrix([sx, sy, sz])
a = BosonOp('a')
ad = Dagger(a)
H0 = hbar * omega0 * (ad*a + sp.Rational(1,2))
HE = Eac * sp.sin(omega * t) * (ad + a)
HB = -sp.Rational(1,2) * B * sz
Hso = I * alpha * (ad - a) * nso.dot(s_vec)
display_dict({
sp.Symbol('H_0'): H0,
sp.Symbol('H_E'): HE,
sp.Symbol('H_B'): HB,
sp.Symbol(r'H_{\mathrm{so}}'): Hso,
})
\(\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{\tilde{B} \sigma_{3}}{2}\)
\(\displaystyle H_{\mathrm{so}} : i \tilde{\alpha} \left({a^\dagger} - a\right) \left(\sin{\left(\theta \right)} \sigma_{3} + \cos{\left(\theta \right)} \sigma_{2}\right)\)
[32mThe EffectiveFrame object has been initialized successfully.[0m
Standard Schrieffer-Wolff Transformation
Eff_Frame.solve(max_order=5, method="SW")
H_eff = Eff_Frame.get_H('matrix')
H2_corrections = Eff_Frame.corrections
Computing the effective Hamiltonian: 100%|██████████| 5/5 [00:07<00:00, 1.54s/it]
[32mThe Hamiltonian has been solved successfully. Please use the get_H method to get the result in the desired form.[0m
Converting to matrix form: 100%|██████████| 6/6 [00:00<00:00, 58.80it/s]
# Corrections to the Hamiltonian for each order
H0, H1, H2, H3, H4, H5 = [H_correction for H_correction in Eff_Frame.corrections.values()]
\(\displaystyle \hbar \omega_{0} {a^\dagger} a \sigma_{0} + \frac{\hbar \omega_{0} \sigma_{0}}{2}\)
\(\displaystyle - \frac{\tilde{B} \sigma_{3}}{2}\)
# projecting H2 correction into spin basis
Spin.project(sp.expand_complex(H2).trigsimp()).expand().cancel()
\(\displaystyle - \frac{\tilde{E}_{\mathrm{ac}}^{2} \sin^{2}{\left(\omega t \right)} \sigma_{0} + \tilde{\alpha}^{2} \sigma_{0}}{\hbar \omega_{0}}\)
# projecting H3 correction into spin basis
H3_ = Spin.project(sp.expand_complex(H3.expand().subs({ad:0, a:0})).trigsimp())
display_dict({k:sp.factor_terms(v.cancel()) for k,v in group_by_operators(H3_).items()})
\(\displaystyle \sigma_{1} : - \frac{\tilde{B} \tilde{E}_{\mathrm{ac}} \tilde{\alpha} \sin{\left(\omega t \right)} \cos{\left(\theta \right)}}{\hbar^{2} \omega_{0}^{2}}\)
\(\displaystyle \sigma_{2} : - \frac{\tilde{\alpha} \left(\tilde{B} \tilde{\alpha} \sin{\left(\theta \right)} + \tilde{E}_{\mathrm{ac}} \hbar \omega \cos{\left(\omega t \right)}\right) \cos{\left(\theta \right)}}{\hbar^{2} \omega_{0}^{2}}\)
\(\displaystyle \sigma_{3} : \frac{\tilde{\alpha} \left(\tilde{B} \tilde{\alpha} \cos^{2}{\left(\theta \right)} - \tilde{E}_{\mathrm{ac}} \hbar \omega \sin{\left(\theta \right)} \cos{\left(\omega t \right)}\right)}{\hbar^{2} \omega_{0}^{2}}\)
# projecting H4 correction into spin basis
H4_ = Spin.project(sp.expand_complex(H4.expand().subs({ad:0, a:0})).trigsimp())
display_dict(group_by_operators(H4_))
\(\displaystyle \sigma_{0} : - \frac{\tilde{B}^{2} \tilde{\alpha}^{2} \cos^{2}{\left(\theta \right)}}{\hbar^{3} \omega_{0}^{3}} + \frac{\tilde{E}_{\mathrm{ac}}^{2} \omega^{2} \cos^{2}{\left(\omega t \right)}}{\hbar \omega_{0}^{3}} - \frac{\tilde{E}_{\mathrm{ac}}^{2} \omega^{2}}{\hbar \omega_{0}^{3}}\)
# projecting H5 correction into spin basis
H5 = Spin.project(sp.expand_complex(H5.expand().subs({ad:0, a:0}).expand()).trigsimp())
display_dict(group_by_operators(H5))
\(\displaystyle \sigma_{1} : - \frac{\tilde{B}^{3} \tilde{E}_{\mathrm{ac}} \tilde{\alpha} \sin{\left(\omega t \right)} \cos{\left(\theta \right)}}{\hbar^{4} \omega_{0}^{4}} + \frac{2 \tilde{B} \tilde{E}_{\mathrm{ac}} \tilde{\alpha}^{3} \sin{\left(\omega t \right)} \cos{\left(\theta \right)}}{\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.