A project which aims at diagonalizing a Quadratic (Bosonic) Hamiltonian using known methods from literature.
The main goal is to obtain the energies (excited spectra) for the quadratic Hamiltonian (of bosonic type).
The quadratic Hamiltonian under study is of bosonic type (written in terms of bosonic creation and annihilation operators
Main goals of this project:
- Use the occupation number representation to diagonalize the Hamiltonian.
- Diagonalization of the Hamiltonian basically implies to get
$H$ under a matrix form, then find its eigenvalues and eigenvectors. - The eigenvalues of
$\mathcal{M}(H)$ will represent the possible states that the system can have. - Since the representation is given by the bosonic number states
$|0\rangle$ ,$|1\rangle$ , ...,$|n\rangle$ , with$n$ arbitrarily large, the matrix will have a size of$n\times n$ . - This present formalism is based on a numerical approach, so there must be a truncation order
$\eta$ for fixing the size of the matrix before implementing the diagonalization procedure. - Once
$\eta$ has been fixed, the bosonic states up to$|\eta\rangle$ will be used as basis for getting the matrix elements of$H$ (denoted by$H_{nm}$ , with$n,m$ representing the actual number states). - Having the basis ready, and knowing how the bosonic creation and annihilation operators act on these states, the procedure for finding the eigenvalues will be straightforward:
Solving the characteristic equation will give the eigenvalues of
$H$
The set
The eigenvectors for the solutions verify the equation:
Having
The process of diagonalization is done in:
- Mathematica (see Wolfram Mathematica
.nb
notebooks in the project tree) - Python (see python scripts attached in the project tree)
- (?optional) Javascript
The two parameters that define the Hamiltonian are encoded into a single parameter called q-ratio (
Every solution of the system will be a function of this ratio, so the values of
This page describes in detail how the numerical implementation works.
The latest updates fixed an inconsistency in the eigenvalue behavior with respect to the
This example shown below is for a Hamiltonian with
The evolution of
This implementation is used for a graphical representation (in a batch-manner) of the eigenvalues of the boson Hamiltonian.
[x] - Update the python implementation with a grid plot.
An example of grid plot can be seen below. Core implementation has been done. Source
Actual grid plot implementation can be seen in this commit. The data structure to be used for importing into the plot function has the following structure: