MathGroup Archive 2008

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

Search the Archive

Re: Real and Complex Roots presented in a single plot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg91896] Re: Real and Complex Roots presented in a single plot
  • From: magma <maderri2 at gmail.com>
  • Date: Fri, 12 Sep 2008 05:26:49 -0400 (EDT)
  • References: <ga5koj$r82$1@smc.vnet.net>

>
>          We can also recognize and see the real parts of all the
> complex roots of z where the curve is nearest to x -axis at  {1.4,
> 4.2, 6.6, 9.6, 12.3, 15.3, 17.7}. They are near to x-values where the
> local maxima/minima occur.But we cannot 'see' their complex parts, as
> they need to be computed.

Please note that your claim that the real part of the complex roots is
found at the local minima of the given function as the indipendent
variable moves on the real axis, is not valid in general and wrong in
this particular instance.

For example in the interval {1,2} there are 2 local extrema found
using the derivative:


f[z_] := 1.3 Sin[1.7 z] + 0.6 Sin[4 z]

The derivative:

In[43]:= fp[z_] := D[f[z], z]

In[44]:= fp[z]

Out[44]= 2.21 Cos[1.7 z] + 2.4 Cos[4 z]

In[73]:= extrema = z /. FindRoot[fp[z], {z, #}] & /@ {1.4, 1.6}

Out[73]= {1.33751, 1.69029}

The first is the local minimum (see the plot).
But the complex roots in interval {1,2} are

1.27946 + 0.374308 I and 1.27946 - 0.374308 I

The real part is 1.27946, while the minimum was at 1.33751

This can be  visualized on the complex plane using Presentations:

f[z_] := 1.3 Sin[1.7 z] + 0.6 Sin[4 z]

Needs["Presentations`Master`"]

fp[z_] := D[f[z], z]

extrema = z /. FindRoot[fp[z], {z, #}] & /@ {1.4, 1.6}

roots = z /.
      FindRoot[
       f[z], {z, ToComplex@#}] & /@ {{-0.005546, -0.02102}, {1.285,
      0.3771}, {1.279, -0.3678}, {2.081,
      0.01109}, {3.462, -0.008173}, {4.194, -0.3485}, {4.213,
      0.345}} // Chop;


In the following plot we see the roots (blu) and the extrema (red) in
the interval {1,2}

With[{zmin = -.5 - I, zmax = 5 + I,
  contourlist = {0, 0.1, 0.2, .5, .505, .5095, .51, .53, 0.55, 0.57,
    0.6, .61, .62, .6205, 1}},
 Draw2D[{ComplexCartesianContour[f[z], {z, zmin, zmax}, Abs,
    Contours -> contourlist, ColorFunctionScaling -> False,
    ColorFunction -> (ContourColors[contourlist,
         ColorData["SolarColors"]][#] &), PlotPoints -> {30, 15},
    MaxRecursion -> 3, PlotRange -> {0, 11}],
   ComplexCirclePoint[#, 3, Black, Blue] & /@ roots,
   ComplexCirclePoint[#, 3, Black, Red] & /@ extrema,
   ComplexLine[{-5, 5}]}, AspectRatio -> Automatic,
  PlotRange -> {{1, 2}, {-.7, .7}}, Frame -> True,
  FrameLabel -> {Re, Im}, RotateLabel -> False,
  PlotLabel -> Row[{"Modulus of ", f[z]}], ImageSize -> 900,
  Background -> Legacy@Linen]]




  • Prev by Date: Re: Text-based interface: Editing line input
  • Next by Date: Re: Alternating sums of large numbers
  • Previous by thread: Adding Legend to a ListDensityPlot
  • Next by thread: Re: Real and Complex Roots presented in a single plot