Newton's Method


Copyright 1994 by H. Edward Donley
Mathematics Department
Indiana University of PA

Internet: hedonley@grove.iup.edu

In[1]:=
  Off[General::spell1];
  Off[Plot::plnr];

In[2]:=

  Clear[newtonMap]
  
  newtonMap[f_,xMin_?NumberQ,xMax_?NumberQ,
    			 yMin_?NumberQ,yMax_?NumberQ,
    			 xGridPoints_?NumberQ,yGridPoints_?NumberQ] :=
     
    Module[{
      deltaX = N[(xMax-xMin)/xGridPoints],
  	deltaY = N[(yMax-yMin)/yGridPoints],
      },
      g[z_] = N[Simplify[z - f[z]/f'[z]]];
      
      table = Table[FixedPoint[g, x + y I],
  	  {y,yMin,yMax,deltaY}, {x,xMin,xMax,deltaX}];
  	  
  	tableMap = Map[rootPosition, table,{2}];
  
  	If[Max[tableMap] != 4,  tableMap[[1,1]] = 4];
  	If[Min[tableMap] != 0,  tableMap[[1,2]] = 0];
  
  	ListDensityPlot[tableMap, Mesh -> False,
        FrameTicks -> 
          {
  	     {{0,				 ToString[xMin]},
            {xGridPoints/4,	 ToString[xMin + (xMax-xMin)/4]},
            {xGridPoints/2,	 ToString[xMin + (xMax-xMin)/2]},
  	      {3 xGridPoints/4, ToString[xMin + 3 (xMax-xMin)/4]},
  	      {xGridPoints,	 ToString[xMax]}
  	     },
  	     {{0,				 ToString[yMin]},
  	      {yGridPoints/4,	 ToString[yMin + (yMax-yMin)/4]},
  	      {yGridPoints/2,	 ToString[yMin + (yMax-yMin)/2]},
  	      {3 yGridPoints/4, ToString[yMin + 3 (yMax-yMin)/4]},
  	      {yGridPoints,	 ToString[yMax]}
  	     }
          },
       ColorFunction -> colorMap]
  ]

Up to Newton's Method