using Newton's method with starting guess x0=2.
The derivative of f(x) was calculated using the Reduce Computer Algebra System, which we ran by typing some commands into a terminal window as follows:
$ /nfs/home/ejolson/opt/bin/reduce Reduce (Free PSL version), 19-Sep-2014 ... 1: load_package gentran; 2: gentranlang!* := 'c; gentranlang* := c 3: f:=x*exp(-x)-1/5; x - e + 5*x f := ------------- x 5*e 4: gentran r:=eval(f); r=(-exp((double)(x))+5.0*x)/(5.0*exp((double)(x))); t 5: gentran r:=eval(df(f,x)); r=(-x+1.0)/exp((double)(x)); t 6: quit; QuittingNote that the output for f(x) and its derivative f '(x) was copied into our C program using the mouse. The derivative is easy to calculate by hand; however, using a computer algebra system to automate the generation of the necessary C code helps eliminate typographic errors that could lead to wrong answers. Further automation is also possible.
The resulting C program produces the output
x= 2.522188780213870e+00 x= 2.542569166682001e+00 x= 2.542641356856976e+00 x= 2.542641357773527e+00 x= 2.542641357773526e+00 x= 2.542641357773527e+00 x= 2.542641357773526e+00 x= 2.542641357773527e+00 x= 2.542641357773526e+00 x= 2.542641357773527e+00Note that the approximation has converged after 4 itterations of Newton's method.
We can verify our answer by plugging the approximation back into f(x). Here is how to check the approximation by again using reduce.
$ /nfs/home/ejolson/opt/bin/reduce Reduce (Free PSL version), 19-Sep-2014 ... 1: x:=2.542641357773527; 2542641357773527 x := ------------------ 1000000000000000 2: evalf(x*exp(-x)); 0.2 3: quit; Quitting