Spin-Boson Model#

We employ the same Hamiltonian and naming conventions as in Tempelaar & Reichman 2019.

The quantum-classical Hamiltonian of the spin-boson model is:

\[\begin{split}\hat{H}_{\mathrm{q}} = \left(\begin{array}{cc} E & V \\ V & -E \end{array}\right)\end{split}\]
\[\hat{H}_{\mathrm{q-c}} = \sigma_{z} \sum_{\alpha}^{A} g_{\alpha}q_{\alpha}\]
\[H_{\mathrm{c}} = \sum_{\alpha}^{A} \frac{p_{\alpha}^{2}}{2m} + \frac{1}{2}m\omega_{\alpha}^{2}q_{\alpha}^{2}\]

where \(\sigma_{z}\) is the Pauli matrix, \(E\) is the diagonal energy, \(V\) is the off-diagonal coupling, and \(A\) is the number of bosons.

The couplings and frequencies are sampled from a Debye spectral density:

\[\omega_{\alpha} = \Omega\tan\left(\frac{\alpha - 1/2}{2A}\pi\right)\]
\[g_{\alpha} = \omega_{\alpha}\sqrt{\frac{2\lambda}{A}}\]

where \(\Omega\) is the characteristic frequency and \(\lambda\) is the reorganization energy.

The classical coordinates are sampled from a Boltzmann distribution.

\[P(\boldsymbol{p},\boldsymbol{q}) \propto \exp\left(-\frac{H_{\mathrm{c}}(\boldsymbol{p},\boldsymbol{q})}{k_{\mathrm{B}}T}\right)\]

Constants#

The following table lists all of the constants required by the SpinBosonModel class:

SpinBosonModel constants#

Parameter (symbol)

Description

Default Value

kBT \((kBT)\)

Thermal quantum

1

V \((V)\)

Off-diagonal coupling

0.5

E \((E)\)

Diagonal energy

0.5

A \((A)\)

Number of bosons

100

W \((\Omega)\)

Characteristic frequency

0.1

l_reorg \((\lambda)\)

Reorganization energy

0.005

boson_mass \((m)\)

Mass of the bosons

1

Example#

from qc_lab.models import SpinBoson
from qc_lab import Simulation
from qc_lab.algorithms import MeanField
from qc_lab.dynamics import serial_driver
import numpy as np

# instantiate a simulation
sim = Simulation()

# instantiate a model
sim.model = SpinBoson()

# instantiate an algorithm
sim.algorithm = MeanField()

# define an initial diabatic wavefunction
sim.state.wf_db = np.array([1, 0], dtype=complex)

# run the simulation
data = serial_driver(sim)