In [32]:
from numpy import sqrt,linspace,exp
from qutip import *
import matplotlib.pyplot as plt
%matplotlib inline
In [9]:
N = 40 # size of the Hilbert space.
# N needs to be large enough that matrix is not truncated
a = destroy(N)
n = a.dag()*a
Define a coherent state with $\alpha = 2:$
In [17]:
psi = coherent(N,1)
In [18]:
psi
Out[18]:
Expectation value $\langle n\rangle$:
In [19]:
psi.dag()*n*psi
Out[19]:
In [20]:
# Convert to a density matrix:
psi_dm = ket2dm(psi)
In [21]:
psi*psi.dag()
Out[21]:
In [22]:
# Fock state distribution of the coherent state:
plot_fock_distribution(psi_dm)
Out[22]:
Also look at other coherent states:
In [25]:
# With larger N and α:
plot_fock_distribution(coherent_dm(100,6))
Out[25]:
And some other density matrices, like a fock-state (or n eigenstate):
In [26]:
# With a Fock state (number state):
plot_fock_distribution(fock_dm(20,2))
Out[26]:
In [27]:
fock(20,2)
Out[27]:
And a thermal state:
In [16]:
# A thermal state has decaying amplitudes
plot_fock_distribution(thermal_dm(20,2))
Out[16]:
In [41]:
xvec = linspace(-10,10,200) # Create an array for the phase space coordinates.
plt.imshow(wigner(coherent(40,5j)+coherent(40,-5j),xvec,xvec), extent=[-10,10,-10,10]) # contour plot of Wigner function
Out[41]:
In [42]:
In [ ]: