Tensor product

Suppose that you have two basis in 2 different Hilbert spaces (each of them with dimension 2). Suppose that the vectors of the basis are (1,0) and (0,1 ), belonging to the Hilbert Space H1, and (1,0) and (0,1 ), belonging to the Hilbert Space H2. You want to obtain the tensor product among these vectors to create a new Hilbert space with dimension 4. For example, I want that the tensor product between (1,0) from H1, and (1,0) from H2 give me the vector (1,0,0,0) in (H1 x H2) and so on, in such a way that

(1,0) x (1,0)= (1,0,0,0)

(1,0) x (0,1)= (0,1,0,0)

(0,1) x (1,0)= (0,0,1,0)

(0,1) x (0,1)= (0,0,0,1)

where the “x” here would be the tensor product between the vectors on the original basis. In thyis way I can create the new basis in the new 4 dimension Hilbert space from the basis in the old two different Hilbert spaces with dimension 2. Somebody knows how can one define this operation? Or is there any operation in Mathematica that do this directly?

Hi Rafael, here is one way to do it:

tensorProd.png

Regards – Henrik

Hi Henrik!!!

Thanks in advance for the answer. You say I can try the typical trensor product symbol… How do you write in mathematica the tensor product symbol… I mean, the symbol you have written in the middle of {1,0} and {0,1}…

Bests!!!

Rafa.

Hi Rafael,

I just took that symbol, because it seems appropriate for this. The symbols name is CircleTimes, it has no build in meaning and you are free to define it as you like – so I did. The keyboard shortcut is c* , see documentation.

Regards – Henrik