This section is dedicated to explain what Numerical Analysis is. First of all, we refer the reader to Nick Trefethen's point of view: Numerical Analysis is the study of algorithms to approximate solutions of problems of continuous mathematics. We refer the reader to his 1992 quite readable article The definition of Numerical Analysis for more details and examples. Explaining by examples is often the most effective way to illustrate new concepts. In this chapter we help the reader figuring out what Numerical Analysis is by presenting elementary algorithms to solve two basic numerical problems: evaluating the value of a function (Section 2.1) and of its derivative (Section 2.2) at a given point. These two cases show that there can be many inequivalent algorithms to evaluate numerically the same "continuous" quantity and how critical is the choice of the appropriate one depending on the goals one needs to reach. Numerical Analysis is the part of Mathematics that studies and analyzes these algorithms. One fact that becomes clear from the last of the two examples is that the numerical error of every numerical algorithm is the sum of two contributions: one due to "truncation" (due to the necessary conversion from continuous to discrete) and one to due to round-off (due to the fact that we are bound to use finitely many digits to represent numbers). We conclude the chapter by illustrating how the error in a numerical solution of a problem is also affected by the sensisitivity of the problem on the input (Section 2.3).
Programming. We introduce for loops, NumPy arrays and MatPlotLib plots.