Ok. let me take a look at it and fix the merge conflicts.

On Monday, August 27, 2012 3:52:34 PM UTC-5, Brian Granger wrote:
>
> This pull request definitely needs some attention.  I don't have any 
> time to work on it right now, but it shouldn't be too difficult to 
> finish. 
>
> On Mon, Aug 27, 2012 at 10:35 AM, Uğur Güney <[email protected]<javascript:>> 
> wrote: 
> > Dear Aaron, 
> > 
> > Thanks for your help on automation! Because I've a big operator in the 
> form: 
> > 
> > c_1*projUV_1* + c_2*projUV_2 + ... 
> > 
> > Now I can apply the Mul(*c)*qapply(tensor_product_simp(Mul(*nc))) on 
> each 
> > term in a loop. ^_^ I'll try it tonight. I think it would be better if 
> > qapply handles this stuff by itself but the workaround is fine with me. 
> > 
> > Have a good day! 
> > 
> > vug 
> > 
> > On Sat, Aug 25, 2012 at 2:29 PM, Aaron Meurer 
> > <[email protected]<javascript:>> 
> wrote: 
> >> 
> >> I'd say this is a bug.  It looks like it's been fixed at 
> >> https://github.com/sympy/sympy/pull/1053.  That PR seems to have been 
> >> stalled, so maybe you could see what needs to be done. 
> >> 
> >> An obvious work-around is to pull out the 2 from the qapply: 
> >> 
> >> In [19]: print 2*qapply(tensor_product_simp(projUV*vecUV)) # the 
> >> number stops the machinery 
> >> 2*<u1|u2>*<v1|v2>*|u1>x|v1> 
> >> 
> >> You can use args_cnc to help automate this: 
> >> 
> >> In [22]: a = (2*projUV*vecUV) 
> >> 
> >> In [24]: a.args_cnc() 
> >> Out[24]: [[2], [❘u₁⟩⟨u₁❘⨂ ❘v₁⟩⟨v₁❘, ❘u₂⟩⨂ ❘v₂⟩]] 
> >> 
> >> In [26]: c, nc = a.args_cnc() 
> >> 
> >> In [27]: Mul(*c)*qapply(tensor_product_simp(Mul(*nc))) 
> >> Out[27]: 2⋅⟨u₁❘u₂⟩⋅⟨v₁❘v₂⟩⋅❘u₁⟩⨂ ❘v₁⟩ 
> >> 
> >> (by the way, we should have an as_commutative_noncommutative method) 
> >> 
> >> I guess that won't work if you need to do factorization, but there are 
> >> other methods that can help you there too (like factor_terms). 
> >> 
> >> I hope someone who actually knows the quantum stuff will point it out 
> >> if something I said above is wrong. 
> >> 
> >> Aaron Meurer 
> >> 
> >> On Sat, Aug 25, 2012 at 9:13 AM, Uğur Güney 
> >> <[email protected]<javascript:>> 
> wrote: 
> >> > Hi All! 
> >> > 
> >> > I am working on a research problem and wanted to use sympy's quantum 
> >> > module 
> >> > to do the calculations, because sympy has abstract Ket objects on 
> which 
> >> > one 
> >> > can do many operations without assigning them actual values. I come 
> up 
> >> > with 
> >> > a difficulty 
> >> > 
> >> > Say I have two Hilbert spaces U and V and on each space I have two 
> >> > vectors 
> >> > 
> >> > from sympy import * 
> >> > from sympy.physics.quantum import * 
> >> > 
> >> > u1=Ket('u1') 
> >> > u2=Ket('u2') 
> >> > v1=Ket('v1') 
> >> > v2=Ket('v2') 
> >> > 
> >> > projU = u1*u1.dual # a projection operator on u1 
> >> > print qapply(2*projU*u2) # qapply works as expected 
> >> > projV = v1*v1.dual # an operator on V 
> >> > projUV = TensorProduct(projU, projV) # operator on UV 
> >> > vecUV = TensorProduct(u2,v2) # vector in UV 
> >> > print qapply(tensor_product_simp(projUV*vecUV)) # works as expected 
> >> > again 
> >> > print qapply(tensor_product_simp(2*projUV*vecUV)) # the number stops 
> the 
> >> > machinery 
> >> > 
> >> > outputs: 
> >> > 2*<u1|u2>*|u1> 
> >> > <u1|u2>*<v1|v2>*|u1>x|v1> 
> >> > 2*(|u1><u1|*|u2>)x(|v1><v1|*|v2>) 
> >> > 
> >> > I'll be glad if you can tell me how I can qapply on expressions in 
> the 
> >> > form 
> >> > x*projUV*vecUV. 
> >> > 
> >> > Have a good day! 
> >> > ugur 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "sympy" group. 
> >> > To post to this group, send email to 
> >> > [email protected]<javascript:>. 
>
> >> > To unsubscribe from this group, send email to 
> >> > [email protected] <javascript:>. 
> >> > For more options, visit this group at 
> >> > http://groups.google.com/group/sympy?hl=en. 
> >> 
> >> -- 
> >> You received this message because you are subscribed to the Google 
> Groups 
> >> "sympy" group. 
> >> To post to this group, send email to [email protected]<javascript:>. 
>
> >> To unsubscribe from this group, send email to 
> >> [email protected] <javascript:>. 
> >> For more options, visit this group at 
> >> http://groups.google.com/group/sympy?hl=en. 
> >> 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sympy" group. 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:>. 
> > 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] <javascript:> and [email protected] <javascript:> 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sympy/-/WqYIwB0KwS4J.
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