Re: R: Problem with circles in complex plane
- To: mathgroup at smc.vnet.net
- Subject: [mg61133] Re: R: [mg61095] Problem with circles in complex plane
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 11 Oct 2005 03:20:34 -0400 (EDT)
- References: <DFBFB541-1F25-4B4C-8967-7E467DBB59B4@mimuw.edu.pl>
- Sender: owner-wri-mathgroup at wolfram.com
I notice that there is an even simpler way:
Solve[(ComplexExpand[(Re[CF] - Re[Cg])^2 +
(Im[CF] - Im[Cg])^2, {P, G}] - (RF + Rg)^2 /.
rul) == 0, g]
Potential solution
-0.377592629328396048282835483011872267671725623879`32.97373448684384
(possibly discarded by verifier) should be checked by
hand. May require use of limits.
{{g -> 0.9136201753885568}}
This makes fewer assumptions than my earlier message but produces a
curious message that I have never seen before.
On 10 Oct 2005, at 22:09, Andrzej Kozlowski wrote:
>
> 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
>
>
>
>
>
>