Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem with circles in complex plane

  • To: mathgroup at smc.vnet.net
  • Subject: [mg61141] Re: [mg61095] Problem with circles in complex plane
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Tue, 11 Oct 2005 03:21:20 -0400 (EDT)
  • References: <200510100639.CAA26851@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Daniele Lupo wrote:
> Hi to all the Mathematica's Masters.
> 
> I've a problem working with circles in the Complex Plane.
> 
> I hope that someone of you can help me.
> 
> I've these values of centers and rays
> 
> CF = G/(1 + Q); 
> RF = (1/(1 + Q))*Sqrt[Q^2 + Q*(1 - Abs[G]^2)]; 
> 
> Cg = (g*Conjugate[P])/(1 - Abs[P]^2*(1 - g)); 
> Rg = (Sqrt[1 - g]*(1 - Abs[P]^2))/(1 - Abs[P]^2*(1 - g)); 
> 
> I want to find the g parameter, to find a circle of the family (Cg,Rg)
> that's tangent to the first circle.
> 
> G, P are complexes, with absolute value less than 1, while Q is a positive
> real number.
> 
> To do this, I use this formula:
> 
> tangentray = Abs[CF - Cg] - RF
> 
> to find the ray of the tangent circle that depends of parameter. Then I use
> 
> sol = Solve[tangentray == Rg, g]
> 
> to find the g value that make these two rays equals. In this way I should
> to find the value of g that identifies the tangent circle, right? I think
> yes, but maybe I'm wrong... Probably it's so, but I don't know why.
> 
> The problem is that Mathematica returns me a list of four values, that are
> complexes, whike I know that there MUST be a real value of g for which this
> tangent circle exist. You can see this example:
> 
> rul = {G -> -0.4608904699810983 + 0.11491290040984217*I, Q -> 0.3, P ->
> -0.8363463602974097 + 0.16256926406081632*I}
> 
> Show[
>   Graphics[
>     {
>       (* Family of Circles depending on g *)
>       Red, Circle[{Re[Cg /. rul], Im[Cg /. rul]}, Rg /. rul] /. {{g -> .8},
> {
>       g -> 0.9}, {g -> 0.94}},
>       (* Fixed Circle *)
>       Blue, Circle[{Re[CF /. rul], Im[CF /. rul]}, RF /. rul]
>       }
>     ], AspectRatio -> Automatic]
> 
> 
> In this case you can see that, for a value of g between 0.9 and 0.94 there
> must be a tangent circle.
> 
> Then, I find the g value
> 
> sol = Solve[ray == Rg, g]
> 
> and, with the same values, I obtain
> 
> sol /. rul
> 
> that returns
> 
> {{g -> -0.19317892523624003 + 0.14313227060687864*
>      I}, {g -> 0.9584729373799866 - 
>     0.44878073249387535*I}, 
>  {g -> 0.22609724512769427 - 0.07178705469686383*
>      I}, {g -> -0.36357640440949757 + 
>     0.07475060907387349*I}}
> 
> As you can see, noone of g values is real, around 0.9.
> 
> So, what's wrong in things that I do? How can I find the correct value og g
> parameter?
> 
> Thanks for your answers
> 
> Daniele
> 
> PS: I'm using Mathematica 5.1 on WinXP Home

If you split your complex coordinates into pairs of reals the 
computation works fine.

cen1 = 1/(1+q) * {reg,img};
rad1 = 1/(1+q)*Sqrt[q^2+q*(1-(reg^2+img^2))];

cen2 = g/(1-(rep^2+imp^2)*(1-g)) * {rep,-imp};
rad2 = Sqrt[1-g]*(1-(rep^2+imp^2))/(1-(rep^2+imp^2)*(1-g));

rul = {reg -> -0.4608904699810983, img-> 0.11491290040984217, q -> 0.3,
   rep -> -0.8363463602974097, imp -> 0.16256926406081632};

norm[{a_,b_}] := Sqrt[a^2+b^2]

In[7]:= NSolve[(norm[cen1-cen2] == rad1+rad2) /. rul, g]
Out[7]= {{g -> 0.91362}}


Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: Skipping Elements in Sum
  • Next by Date: Re: Wick like theorem and "symbolic" compilation
  • Previous by thread: Problem with circles in complex plane
  • Next by thread: Re: Problem with circles in complex plane