This repository contains tools for math numerical computation such as numerical integration and interpolation. The current implementation contains:
-
numerical integration using Gauss formula
import numpy as np from numerical.integration import gauss def f(x): return np.power(x[0], 2) gauss.integrate(f, 0., 1.) # 0.3333333
-
spline functions and theirs derivatives
import numpy as np from numerical import splines import matplotlib.pyplot as plt x = np.arange(0, 4., 0.05) y = splines.schoenberg(x) yd1 = splines.schoenberg.deriv(x, order=1) # first derivative yd2 = splines.schoenberg.deriv(x, order=2) # second derivative # visualize results plt.plot(x, y) plt.plot(x, yd1) plt.plot(x, yd2) plt.show()
-
function interpolation
import numpy as np from numerical import interpolate import matplotlib.pyplot as plt def fun(x): return 1 - np.power(x[0] - 0.5, 2) grid = np.array([np.arange(0, 1.0001, 0.25)]) values = fun(grid) itp_fun = interpolate(values, grid) x = np.arange(0., 1.00001, 0.001).reshape(1, -1) y_intp = itp_fun(x) y_true = fun(x) plt.plot(x[0], y_intp) plt.plot(x[0], y_true) plt.show()