https://github.com/shaxov/scikit-numerical
Tools for numerical math calculations.
https://github.com/shaxov/scikit-numerical
integration interpolation python3 splines
Last synced: 11 months ago
JSON representation
Tools for numerical math calculations.
- Host: GitHub
- URL: https://github.com/shaxov/scikit-numerical
- Owner: shaxov
- License: mit
- Created: 2019-04-21T17:35:47.000Z (about 7 years ago)
- Default Branch: develop
- Last Pushed: 2023-07-06T21:32:20.000Z (almost 3 years ago)
- Last Synced: 2025-06-25T12:53:23.952Z (12 months ago)
- Topics: integration, interpolation, python3, splines
- Language: Python
- Homepage:
- Size: 180 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Tools for numerical math calculations
This repository contains tools for math numerical computation such as numerical integration and interpolation. The current implementation contains:
- numerical integration using Gauss formula
```python
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
```python
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
```python
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()
```
