2011/11/8 Uğur Güney <[email protected]>:
> I realized that when I try to multiply two objects, "a tensor product" and
> "a sum of tensor products", SymPy makes a wrong calculation.
> For example, say, this is what I am trying to
> compute: http://mathurl.com/cfj5zfc The answer must be zero at the end.
> This is what SymPy does at tensor_product_simp
> step: http://mathurl.com/cc5sxlz which is incorrect.
> Here is the code I am using:
> from sympy import *
> from sympy.physics.quantum import *
> from sympy.physics.quantum.qubit import *
> q0 = Qubit(0)
> q1 = Qubit(1)
> state = TensorProduct(q0,q0)+TensorProduct(q1,q0) # state as a sum of tensor
> products
> op = TensorProduct(1, q0*Dagger(q1)) # a operator as a tensor product
> print tensor_product_simp(op*state) # ?
> print " "
> print qapply(tensor_product_simp(op*state)) # operator applied to the state,
> answer must be 0 but it is not.
> What I understand is that tensor_product_simp() does this: (AxB)(CxD) ->
> ACxBD. But here, instead of (CxD) I have (CxD+ExF). And t_p_s() gives
> something like: A(CxD+ExF)xB(CxD+ExF), which is incorrect. It must be
> (AxB)(CxD)+(AxB)(ExF)=ACxBD+AExBF.
> Actually I am not sure whether this is my mistake or tensor_product_simp()'s
> mistake. :-) Maybe it is not intended to do this kind of calculations.

If I recall tensor_product_simp is designed to handle the
TensorProduct()*TensorProduct()  case only.  Try doing this:

 tensor_product_simp(expand(op*state))


> Regards,
> vug
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
[email protected] and [email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to