assumptions in solve()



Although the term sqrt(ma-Ea) is purely imaginary, for some parameters the solution is purely real:

(%i26) sol:solve([pasquare*pbsquare*costhetavkv=((-ma^2-mb^2+mc^2)/2 + Ea*Eb)^2,pasquare=Ea^2-ma^2,pbsquare=Eb^2-mb^2],
        [Eb,pbsquare,pasquare])$

(%i29) subst([Ea=2,ma=1,costhetavkv=0],sol);

(%o29) [[Eb=(-2*mc^2+2*mb^2+2)/8,pbsquare=-(-4*mc^4+(8*mb^2+8)*mc^2-4*mb^4+56*mb^2-4)/64,pasquare=3],[Eb=-(2*mc^2-2*mb^2-2)/8,pbsquare=-(-4*mc^4+(8*mb^2+8)*mc^2-4*mb^4+56*mb^2-4)/64,pasquare=3]]

That looks real to me. You might try using the function 'rootscontract.' 

The Maxima function radcan does sqrt(a*b) --> sqrt(a)*sqrt(b), but the
general simplifier does not (maybe some option variables control this).

--Barton

-----maxima-bounces at math.utexas.edu wrote: -----

>Hello??list,??i?am?solving?the?simple?system?of?the?equations:
>#
>(%i2)??solve([pasquare*pbsquare*costhetavkv=((-ma^2-mb^2+mc^2)/2?+
>Ea*Eb)^2,pasquare=Ea^2-ma^2,pbsquare=Eb^2-mb^2],[Eb,pbsquare,pasquare]);
>#
>In?the?output?there?is?the?factor?sqrt(ma-Ea),?but?in?my?task?Ea>ma,?so
>this?factor?does?not?have?any?sense.?It?seems?that??when?maxima?encounters
>expression?sqrt(a*b)?it?returns?sqrt(a)*sqrt(b).?But?in?case?of?a<0?and
>b<0?the?answer?is?sqrt(-a)*sqrt(-b).
>Is?it?possible?to?make?maxima?to?hold?sqrt(a*b)?and?not?divide?in?into
>sqrt(a)*sqrt(b)?
>P.S.?sorry?for?my?rough?english
>
>
>_______________________________________________
>Maxima?mailing?list
>Maxima at math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima