aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/extmod/ulab/tests/1d/numpy/optimize.py
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
commit4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch)
tree65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/extmod/ulab/tests/1d/numpy/optimize.py
parent0150f70ce9c39e9e6dd878766c0620c85e47bed0 (diff)
add circuitpython code
Diffstat (limited to 'circuitpython/extmod/ulab/tests/1d/numpy/optimize.py')
-rw-r--r--circuitpython/extmod/ulab/tests/1d/numpy/optimize.py28
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))