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

MathGroup Archive 2007

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

Search the Archive

Re: FindRoot can NOT handle mixed real and complex variables

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79938] Re: [mg79899] FindRoot can NOT handle mixed real and complex variables
  • From: Curtis Osterhoudt <cfo at lanl.gov>
  • Date: Thu, 9 Aug 2007 05:19:29 -0400 (EDT)
  • References: <200708080853.EAA05884@smc.vnet.net>
  • Reply-to: cfo at lanl.gov

I may be misunderstanding what you want. At least with 

      $Version

      "6.0 for Linux x86 (32-bit) (June 19, 2007)"

the following works, though it homes in on the same roots for every (tested)  
starting value of "DN" between -10^6 and +10^6:

solns = ({#1, FindRoot[{u*BesselJ[1, u]*BesselK[0, w] == 
                w*BesselK[1, w]*BesselJ[0, u], u^2 + w^2 == g, 
       Re[g] == input\[Breve]value, 
              
       Re[w] == 0}, {{u, -2.39 + 0.17*I}, {w, 
        14.34*I}, {g, -200 + 0.8*I}, 
              {input\[Breve]value, #1}}]} & ) /@ 
  Range[-10^6, 10^6, 10^4]


Perhaps things will converge to different root values for radically different 
starting values, but this seems to handle the system adequately. 



   

On Wednesday 08 August 2007 02:53:08 AES wrote:
> I'm (re)posting this as an assertion, not a question, hoping to rouse a
> little more interest, since it appears to be a significant weakness in
> FindRoot, and a previous post, rather unusually, brought no satisfactory
> resolution;
>
> The problem is to find the roots of two complex equations
>
>    u * BesselJ[1, u] * BesselK[0, w] == w * BesselK[1, w] * BesselJ[0, u]
>
>    u^2 + w^2 == g
>
> with constraints
>
>    Re[g] == <an input value, DN>
>
>    Re[w] ==  0
>
> So that's two complex (or four real) equations; four real numbers in the
> desired output; and at least one solution exists in general for any
> choice of DN and can be found using other methods -- but there appears
> to be NO WAY (no straightforward way, anyway) to find it using FindRoot,
> -- or even to get FindRoot to tackle the basic problem.
>
> Right????????
>
> ------
>
> [For testing purposes, a sample starting point close to but not exactly
> one particular solution, would be  DN = -200,  g0 = DN + 0.8 I = -200 +
> 0.8 I,  u0 = 2.39 + 0.17 I,  w0 = 0 + 14.34 I  ]



-- 
==========================================================
Curtis Osterhoudt
cfo at remove_this.lanl.and_this.gov
PGP Key ID: 0x4DCA2A10
Please avoid sending me Word or PowerPoint attachments
See http://www.gnu.org/philosophy/no-word-attachments.html
==========================================================


  • Prev by Date: Re: why DateListPlot is so slow?
  • Next by Date: Re: Beta function, Integral
  • Previous by thread: FindRoot can NOT handle mixed real and complex variables
  • Next by thread: Re: FindRoot can NOT handle mixed real and complex variables