diff options
Diffstat (limited to 'circuitpython/extmod/ulab/tests/1d/numpy/optimize.py')
| -rw-r--r-- | circuitpython/extmod/ulab/tests/1d/numpy/optimize.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/circuitpython/extmod/ulab/tests/1d/numpy/optimize.py b/circuitpython/extmod/ulab/tests/1d/numpy/optimize.py new file mode 100644 index 0000000..fce8672 --- /dev/null +++ b/circuitpython/extmod/ulab/tests/1d/numpy/optimize.py @@ -0,0 +1,28 @@ +import math + +try: + from ulab import scipy as spy +except ImportError: + import scipy as spy + +def f(x): + return x**2 - 2.0 + +ref_result = 1.4142135623715149 +result = (spy.optimize.bisect(f, 1.0, 3.0)) +print(math.isclose(result, ref_result, rel_tol=1E-6, abs_tol=1E-6)) + +ref_result = -7.105427357601002e-15 +result = spy.optimize.fmin(f, 3.0, fatol=1e-15) +print(math.isclose(result, ref_result, rel_tol=1E-6, abs_tol=1E-6)) + +ref_result = -7.105427357601002e-15 +result = spy.optimize.fmin(f, 3.0, xatol=1e-8, fatol=1e-15, maxiter=500) +print(math.isclose(result, ref_result, rel_tol=1E-6, abs_tol=1E-6)) + +ref_result = 1.41421826342255 +result = (spy.optimize.newton(f, 3.0, tol=0.001, rtol=0.01)) +print(math.isclose(result, ref_result, rel_tol=1E-6, abs_tol=1E-6)) + +result = (spy.optimize.newton(f, 3.0, tol=0.001, rtol=0.01, maxiter=100)) +print(math.isclose(result, ref_result, rel_tol=1E-6, abs_tol=1E-6)) |
