Industrial Math - Alexiades
Lab 2
Newton rootfinder 
(always read the entire Lab before you start working on it...)

1. Implement Newton's method to find a root of a given function F(x), i.e. solve F(x)=0.
  The main program should read in:
    x0 = initial guess for the root,
    maxIT = maximum number of iterations to be performed,
    TOL = tolerance for testing convergence.
  and should call the Newton rootfinder (see below).
  Your program should output the input values, and then the iterates (neatly, in columns):
    n    xn    F(xn)
  and, upon convergence, the root.

The values of F(x) and F'(x) should be computed in a subprogram FCN( xn, Fn, DFn ) called by the rootfinder.

[ A good way to code Newton rootfinder and decide convergence is something like this (pseudocode):
   subprogram Newton1D( x0, TOL, maxIT )
	xn = x0
	dx = 1000.0 		[something big]
	print '# n      xn      Fn'		[labels for values]
     for n=1:maxIT
        call FCN( xn, Fn, DFn )		[returns Fn=F(xn), DFn=F'(xn)]
	print: n      xn      Fn	[use formated printing, in columns]
       if( ABS(dx) < TOL ) then
       	  if( ABS(Fn) < TOL ) then
	     print: 'DONE: root=',xn,' F=',Fn,' in ',n,' iters'
	     break out of the loop	[how depends on the language...]
      	     print: 'STUCK: dx < TOL BUT residual =', Fn,' > TOL'
	     break out of the loop
	 dx = −Fn/DFn		[take Newton step]
	 xn = xn + dx
      print: 'BAD: reached maxIT'
   END subprogram ]  
2. Debug your code by finding SQRT(3) as root of F(x) = x2 − 3.
  Try a couple of different x0's, with maxIT=10, TOL=1.e-6.

3. Create a PLAIN TEXT file "lab2.txt" containing:
	 M475 Lab2: Name, Date
	======================================== (separation line)
	 the input and output of ONE run of your code.
	======================================== (separation line)
	 your code			(may copy with the mouse, but indent appropriately)
Email it to and Cc: to yourself, with Subject: M475 lab2 .