%% File: rootsGuide.tex
%%
%% Study Guide for Numerical Methods with MATLAB
%% Root-Finding Chapter
%%
%% Gerald Recktenwald, gerry@me.pdx.edu
%% August 2000
\documentclass{article}
\usepackage{studyGuide}
\renewcommand{\guideName}{Study Guide for Root-Finding}
\title{Study Guide for Root Finding}
\author{Gerald Recktenwald}
\newcounter{enumSave}
\begin{document}
%\maketitle
% -------------------------
\section*{Bare Essentials}
At the end of this chapter you should be able to
\begin{enumerate}
\item Write any scalar equation in the form $f(x)=0$
\item Give a graphical interpretation of the location of a root on
the $x$ axis (when equation is written as $f(x)=0$).
\item Explain the role of bracketing.
% purpose is to find intervals that are likely to contain roots,
% not find an close estimate of the root
\item Write a simple equation that expresses the condition for finding a root
in a bracket interval.
% f(a)*f(b)<0
\item Manually perform a few steps of the bisection method
\item Identify the one situation where bisection will return an incorrect
value for $x$ as a root.
% when $x$ is at a singularity
\item Manually perform a few steps of the secant method
\item Identify situations that cause Newton's method to fail.
% when $f'(x)=0$ or $f'(x)\approx 0$
\item Manually perform a few steps of Newton's method
\item Identify situations that cause the secant method to fail.
% when $f'(x)=0$ or $f'(x)\approx 0$
\item Describe in words two complimentary convergence criteria.
% small $|f(x)|$ and root contained in a small interval
\item Write expressions for two complimentary convergence criteria.
% $|f(x)|<\delta_f$, and
% $|x_\mathrm{new}-x\mathrm{old}|< \delta_x$
\item List the methods used by the built in \texttt{fzero} command.
\item List reasons why simple root-finding schemes are not recommended
to search for roots of polynomials.
\item Name the procedure used by \texttt{roots} to find the roots of a
polynomial.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}
\bigskip
\noindent To perform basic root-finding with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
\item Plot any $f(x)$ as a means of graphically identifying the location of
roots.
\item Write an m-file that evaluates $y=f(x)$ for use with \texttt{bisect},
\texttt{secant}, and \texttt{fzero}
\item Write an m-file that evaluates $f(x)$ and $f'(x)$ for use with
the \texttt{newton} function
\item Find zeros of a function with the \texttt{bisect}, \texttt{newton},
and \texttt{fzero}.
\item Find roots of polynomials with the \texttt{roots} command.
\end{enumerate}
% -------------------------
\section*{An Expanded Core of Knowledge}
After mastering the bare essentials you should move on to a deeper understanding
of the fundamentals. Doing so involves being able to
\begin{enumerate}
\item Qualitatively compare the convergence rates of bisection, secant and
Newton's method
\item Describe the \texttt{fzero} command, and how it relates to bisection,
secant and reverse interpolation.
\item Specify convergence tolerance for any function so that excessive
(unnecessary) iterations of a root-finder are not performed.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}
\bigskip
\noindent To perform more advanced root-finding with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
\item Describe the role of global variables in finding the roots of
$f(x,a,b,\ldots) = 0$ where $a$, $b$, \ldots are parameters, and
the method returns the value of $x$ that gives $f=0$ for fixed
values of $a$, $b$, \ldots
\item Write m-files that use pass-through parameters $a$, $b$, \ldots,
to evaluates $y=f(x,a,b,\ldots)$ for use with the \texttt{fzero} command
\end{enumerate}
% -------------------------
\section*{Developing Mastery}
Working toward mastery of root-finding you will need to
\begin{enumerate}
\item Analyze the convergence rate of bisection.
\item Identify the behavior of Newton's method for repeated roots.
\item Connect the problem of root-finding of a scalar equation to the
the solution of nonlinear systems of equations.
\end{enumerate}
\end{document}