|
Hello,
To generate annihilation matrix (a) in matlab I use:
a = diag(sqrt([1:Nmax]),1)
and to generate creation matrix (a+)
a+ = a'
If I assign matrix dimension (Nmax) is 3, size of a and a+ will be 4 x 4.
As we know, commutator of [a,a+]=I means that if Nmax is 3 the size of I must be 3 x 3. But with Nmax = 3, this commutator [a,a+] give me [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 -3] it is 4 x 4. So to get the correct result I have to truncated the result to 3 x 3 so that I can get the right result I with 3 x 3.
My problem is, I want to compute Hamiltonian (H):
H=alfa*(a+*a \otimes 1 \otimes 1) + beta*(1 \otimes b+*b \otimes 1) + gamma*(1 \otimes 1 \otimes c+*c) + lambda*[a \otimes (b+)^2 \otimes 1] + conj(lambda)*(a+ \otimes b^2 \otimes 1) + tau*(1 \otimes b+ \otimes c^2) + conj(tau)*[1 \otimes b \otimes (c+)^2]
where a,b,c are annihilation matrix and a+,b+,c+ are creation matrix.
The question: I have to truncate the last result or I have to truncate every operation of creation and annihilation or anybody know the easier way to compute this hamiltonian?
Thanks
Bahari
|