Re: R: Problem with circles in complex plane
- To: mathgroup at smc.vnet.net
- Subject: [mg61128] Re: R: [mg61095] Problem with circles in complex plane
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 11 Oct 2005 03:20:21 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 10 Oct 2005, at 19:05, Daniele Lupo wrote:
>>
>>
>
> The fact is that I must to find a symbolic solution: for every P,
> Q, G that
> satisfy myu conditions (absolute value, real number and so on), I
> want to
> find the g value that define the tangent circle.
>
> I hope that's more clear...
>
What is not clear is how you managed to get a symbolic formula, if
you did. I have not tried it very hard, but on quick glance I do not
think there is any way to do so "reliably". Solve will only give you
reliable general solutions for algebraic equations: basically
polynomial and rational functions. It can also solve equations with
radicals but this is much harder and time consuming and may produce
extraneous solutions. Now, the equation that you get if you apply
Solve without any massaging is transcendental (it involves the
function Abs) and when Mathematica solves such equations it can fail
to find all solutions. This is normal. So if you want to get all
solutions you need to convert the equation to a basically algebraic
form. This can be done, if you make some assumptions. I will assume
that we know that there exists an real solution between 0 and 1. Once
we do that we can proceed as follows.
We start with your definitions:
In[1]:=
CF = G/(Q + 1);
In[2]:=
RF = Sqrt[Q^2 + (1 - Abs[G]^2)*Q]/(Q + 1);
In[3]:=
Cg = (g*Conjugate[P])/(1 - Abs[P]^2*(1 - g));
In[4]:=
Rg = (Sqrt[1 - g]*(1 - Abs[P]^2))/(1 - Abs[P]^2*(1 - g));
In[5]:=
rul = {G -> -0.4608904699810983 + 0.11491290040984217*I, Q -> 0.3,
P -> -0.8363463602974097 + 0.16256926406081632*I}
Out[5]=
{G -> -0.4608904699810983 + 0.11491290040984217*I, Q -> 0.3,
P -> -0.8363463602974097 + 0.16256926406081632*I}
Now, I am assuming that g is a solution of the equation
Abs[CF - Cg]^2 - (RF + Rg)^2==0 (I am trying to minimize the number
of square roots)
and moreover than it is a real solution and that it lies between 0
and 1. This makes it possible to transform the equation as follows:
eq = Simplify[ComplexExpand[Abs[CF - Cg]^2 - (RF + Rg)^2,
{P, G}, TargetFunctions -> {Re, Im}], 0 < g < 1] /.
rul
((0.16256926406081632*g)/(0.7259040000000001*(g - 1) +
1) + 0.08839453877680166)^2 +
((0.8363463602974097*g)/(0.7259040000000001*(g - 1) +
1) - 0.35453113075469095)^2 +
(0.07512861721599995*(g - 1))/
(0.7259040000000001*(g - 1) + 1)^2 -
(0.2394020778504835*((g - 1)^2)^(1/4))/
(0.7259040000000001*(g - 1) + 1) - 0.19071745562130174
As you can see this is now an algebraic equation. We can now use
NSolve:
In[7]:=
NSolve[eq == 0, g]
Out[7]=
{{g -> 0.9136201753885588}}
> but, as I said, but I think that a symbolic solution
> must exist. In this case, I don't understand why with FindRoot I
> find the
> solution (considering numeric approximation), while with Solve, that's
> symbolic method, I obtain wrong values, because Solve gives me
> solutions.
> Maybe I think that Solve gives a wrong result in this case? A Solve
> bug? I
> don't want to think this.
>
Solve does not find all solutions because it can't reliably solve
transcendental equations. It gives you some solutions, which may be
actually extraneous.
> equations cannot be solved, I use FindRoot but, if Solve gives me
> solutions,
> I don't understand why these don't match my problem. If solution is
> symbolic, why I don't obtain the right solution? It's not a numeric
> problem...
>
>
You are right, it is not a problem with numerical stability, it is
just a problem with transcendental equations. You have ot be able to
produce an algebraic equation first before you can use Solve reliably.
Andrzej Kozlowski