Theory of numerical methods