We have three different implementation methodologies to deal with interpolation problems:

A

**procedural**mode that computes a set of data points (in the form of`ndarray`

with the required dimension) representing the actual solution.In a few special cases, a

**functional**mode that provides us with`numpy`

functions representing the solutions.An object-oriented mode that creates classes for interpolation problems. Different classes have different methods, depending on the operations that the particular kinds of interpolants enjoy. The advantage of this mode is that, through these methods, we can request more information from the solutions: not only evaluation or representation, but also relevant operations like searching for roots, computing derivatives and antiderivatives, error checking, and calculating coefficients and knots.

The choice of mode to represent our interpolants is up to us, depending mostly on how much accuracy we require, and the information/operations that we need afterwards...