Re: ComplexExpand in Mathematica 5.2 and 6
- To: mathgroup at smc.vnet.net
- Subject: [mg77988] Re: [mg77955] ComplexExpand in Mathematica 5.2 and 6
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 21 Jun 2007 05:34:42 -0400 (EDT)
- References: <200706200939.FAA10222@smc.vnet.net>
On 20 Jun 2007, at 18:39, Jepessen wrote:
> Hi to all.
>
> I'm working with the new version of Mathematica, and I've noticed that
> ComplexExpand works in a different way.
>
> I've used this code, that allows me to find center and radius of a
> circle mappend by a bilinear transformation from plane X to plane Y
>
> -----------------------
>
> moebius = y == (a + b*x)/(c + d*x);
> cirX = Abs[x - cen] == rad;
> t1 = Solve[moebius, x][[1, 1]];
> cirY = cirX /. t1;
> t2 = Abs[Together[cirY[[1, 1]]]] == rad;
> t3 = Abs[a + b*cen - c*y - cen*d*y] == rad*Abs[-b + d*y];
> t4 = t3[[1]]^2 - t3[[2]]^2;
>
> (* Use of ComplexExpand *)
> t5 = ComplexExpand[t4 /. Abs[q_]^2 -> Re[q]^2 + Im[q]^2,{a, b, c, d,
> cen, y}] /. {Re[y] -> U, Im[y] -> V}
>
> ------------------------
>
> What I obtain is an expression stored in t5, with unknowns U and V,
> that are coordinates of the Y plane of the mapped circle. What I
> obtain is t5, that's the equation of this mapped circle.
>
> In Mathematica 5.2, I obtain a result that's is a conic expression, in
> U and V, and I can use Collect to extract coefficients of U, V, U^2
> and V^2.
>
> In Mathematica 6.0, instead, I obtain the same equation, but in a
> different form, that contains Re, Im and Abs function with aurgments
> with U and V variables; in this way, I can't use Collect to extract
> coefficient of the expression.
>
> I'd like to have the old behavior of ComplexExpand, because this
> allows me to extract coefficient. How can I obtain the same result
> with the 6.0 version?
>
> Thanks for answers
>
> Daniele
>
>
Try:
Collect[ComplexExpand[t4 /. Abs[q_]^2 -> Re[q]^2 + Im[q]^2,
{a, b, c, d, cen, y}, TargetFunctions -> {Re, Im}] /.
{Re[y] -> U, Im[y] -> V}, {U, V}, Simplify]
or, if you do not ming waiting longer
Collect[ComplexExpand[t4 /. Abs[q_]^2 -> Re[q]^2 + Im[q]^2,
{a, b, c, d, cen, y}, TargetFunctions -> {Re, Im}] /.
{Re[y] -> U, Im[y] -> V}, {U, V}, FullSimplify]
will give you a much shorter answer.
- References:
- ComplexExpand in Mathematica 5.2 and 6
- From: Jepessen <jepessen@gmail.com>
- ComplexExpand in Mathematica 5.2 and 6