Hi!
I just wanted some help regarding understanding the cut off dimension in the ‘fock’ backend. How can I determine what shoud be the minimum cut-off dimension for a given mean photon number?
Thanks in advance!
Hi!
I just wanted some help regarding understanding the cut off dimension in the ‘fock’ backend. How can I determine what shoud be the minimum cut-off dimension for a given mean photon number?
Thanks in advance!
Hi @Cheeranjiv_Pandey ,
If you start directly from a Fock state then you can just set the cutoff as n+1 where n is the number of photons in that mode. See for example the code below:
import numpy as np
from mrmustard.lab import Fock
state = Fock(4)
print('Mean photon number',state.number_means)
print('Sum of probabilities',np.sum(state.fock_probabilities(state.cutoffs), axis=0))
state
Note that I’m using MrMustard, which is a useful library for generating graphs which can help you choose a good cutoff.
If you start with a thermal state you can’t really specify a minimum cut-off dimension for a given mean photon number because the spread around the mean might be large and you risk losing information.
In the code below for example I generate a thermal state with mean photon number of four. You can see that the distribution is so flat that even a cutoff of 31 is not enough to capture all of the information.
from mrmustard.lab import Thermal
state = Thermal(nbar=4, modes=1)
print('Mean photon number',state.number_means)
print('Sum of probabilities',np.sum(state.fock_probabilities(state.cutoffs), axis=0))
state
Thank you very much for your reply!
No problem @Cheeranjiv_Pandey ! I’m glad it helped.