Thread Subject: creation and annihilation matrix

Subject: creation and annihilation matrix

From: Bahari

Date: 4 Jun, 2009 18:26:25

Message: 1 of 3

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

Subject: creation and annihilation matrix

From: Steven Lord

Date: 4 Jun, 2009 20:07:21

Message: 2 of 3


"Bahari" <baid69@yahoo.co.uk> wrote in message
news:9413000.1181.1244140016007.JavaMail.jakarta@nitrogen.mathforum.org...
> 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.

Correct. You're specifying a 3-element vector as the diagonal immediately
above the main diagonal in a. That "superdiagonal" has length one less than
the number of rows/columns in the matrix, so your matrix will be 4-by-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.

Changing the result is like putting a band-aid on the problem. Fix the
underlying cause -- that is, fix your a matrix.

If Nmax is 3, do you want your matrix to be:

a = [0 1 0; 0 0 sqrt(2); 0 0 0];

or:

a = [0 1 0;0 0 sqrt(2); sqrt(3) 0 0]; % wrap-around

or something else (and if so, what?)

*snip*

--
Steve Lord
slord@mathworks.com

Subject: creation and annihilation matrix

From: Bahari

Date: 4 Jun, 2009 22:53:41

Message: 3 of 3

Right, if Nmax=3 it will give a=[0 1 0 0;0 0 sqrt(2) 0;0 0 0 sqrt(3);0 0 0 0] and if I take a=[0 1 0;0 0 sqrt(2);0 0 0] then the commutator [a,a+] = [1 0 0;0 1 0;0 0 -2] whereas the answer should be [1 0 0;0 1 0;0 0 1]. So how to do because the important is to compute the Hamiltonian.

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com