Letzte Nacht habe ich die Grundlagen von Numpy als Grundlage für die Verwendung wissenschaftlicher Berechnungen, Datenverarbeitung und Grafikzeichnungsbibliothek zusammengefasst (https://qiita.com/MuAuan/items/d4d3859bdc01f84b623c), aber heute Abend Ich werde die Grundlagen von Scipy zusammenfassen. Scipy ist jedoch enorm, da es schwer zu verstehen ist, selbst wenn es stillschweigend kopiert wird. Deshalb werde ich die Erklärung in diesem Buch ergänzen. 【Hinweis】 ["Data Scientist Training Course an der Universität von Tokio"](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3 % 81% AE% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% B5% E3% 82% A4% E3% 82% A8% E3% 83% B3% E3% 83 % 86% E3% 82% A3% E3% 82% B9% E3% 83% 88% E8% 82% B2% E6% 88% 90% E8% AC% 9B% E5% BA% A7-Python% E3% 81 % A7% E6% 89% 8B% E3% 82% 92% E5% 8B% 95% E3% 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6 % E3% 83% 87% E2% 80% 95% E3% 82% BF% E5% 88% 86% E6% 9E% 90-% E5% A1% 9A% E6% 9C% AC% E9% 82% A6% Ich werde E5% B0% 8A / dp / 4839965250 / ref = tmm_pap_swatch_0? _ Encoding = UTF8 & qid = & sr =) lesen und die Teile zusammenfassen, an denen ich einige Zweifel habe oder die ich nützlich finde. Daher denke ich, dass die Zusammenfassung unkompliziert sein wird, aber bitte lesen Sie sie und denken Sie, dass der Inhalt nichts mit diesem Buch zu tun hat.
Scipy ist eine Bibliothek für wissenschaftliche und technologische Berechnungen und kann verschiedene mathematische Prozesse ausführen (Berechnung der linearen Algebra, Fourier-Transformation usw.). Hier finden wir die inverse Matrix aus linearer Algebra, Eigenwerten, Gleichungslösungen usw.
>>> import scipy as sp
>>> import scipy.linalg as linalg
>>> from scipy.optimize import minimize_scalar
>>> matrix = np.array([[1,-1,-1],[-1,1,-1],[-1,-1,1]])
>>> matrix
array([[ 1, -1, -1],
[-1, 1, -1],
[-1, -1, 1]])
>>> print('Matrixformel', linalg.det(matrix))
Matrixformel-4.0
>>> print('Inverse Matrix','\n', linalg.inv(matrix))
Inverse Matrix
[[ 0. -0.5 -0.5]
[-0.5 -0. -0.5]
[-0.5 -0.5 0. ]]
>>> print('Matrix Produkt','\n',matrix.dot(linalg.inv(matrix)))
Matrix Produkt
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
>>> matrix*linalg.inv(matrix) #Elementprodukt von numpy
array([[ 0. , 0.5, 0.5],
[ 0.5, -0. , 0.5],
[ 0.5, 0.5, 0. ]])
>>> [email protected](matrix) #Produkt von numpy
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
>>> eig_value, eig_vector = linalg.eig(matrix)
>>> print('Eigenwert','\n',eig_value)
Eigenwert
[-1.+0.j 2.+0.j 2.+0.j]
>>> print('Einzigartiger Vektor','\n',eig_vector)
Einzigartiger Vektor
[[ 0.57735027 -0.81649658 0.42755853]
[ 0.57735027 0.40824829 -0.81618716]
[ 0.57735027 0.40824829 0.38862863]]
>>> eig_value, eig_vector = np.linalg.eig(matrix) #Gleiches gilt für Numpy
>>> print('Einzigartiger Vektor','\n',eig_vector)
Einzigartiger Vektor
[[ 0.57735027 -0.81649658 0.42755853]
[ 0.57735027 0.40824829 -0.81618716]
[ 0.57735027 0.40824829 0.38862863]]
>>> print('Eigenwert','\n',eig_value) #Eigenwertは実数表記
Eigenwert
[-1. 2. 2.]
Über scipy.linalg vs numpy.linalg 【Referenz】 Linear Algebra (scipy.linalg) "Scipy.linalg enthält alle Funktionen von numpy.linalg. Außerdem enthält es einige weitere fortgeschrittene Inhalte, die nicht in numpy.linalg enthalten sind."
"Verwenden Sie daher scipy.linalg anstelle von numpy.linalg, es sei denn, Sie möchten scipy nicht als Abhängigkeit vom numpy-Programm hinzufügen."
>>> def my_function(x):
... return (x**2 + 2*x + 1)
...
>>> from scipy.optimize import newton
>>> newton(my_function,0)
-0.9999999852953906
Verwenden Sie die Brent-Methode Und finden Sie den Mindestwert von my_function ().
>>> minimize_scalar(my_function, method = 'Brent')
fun: 0.0
nfev: 9
nit: 4
success: True
x: -1.0000000000000002
>>> def my_function2(x):
... return (x**3 + 2*x + 1)
...
>>> newton(my_function2,0)
-0.45339765151640365
SciPy Tutorial Für einen Moment kann ich nur schreiben, wie man den Eingang benutzt, deshalb möchte ich ihn bald kopieren. SciPy Tutorial Introduction Basic functions Special functions (scipy.special) Integration (scipy.integrate) Optimization (scipy.optimize) Interpolation (scipy.interpolate) Fourier Transforms (scipy.fft) Signal Processing (scipy.signal) Linear Algebra (scipy.linalg) Sparse eigenvalue problems with ARPACK Compressed Sparse Graph Routines (scipy.sparse.csgraph) Spatial data structures and algorithms (scipy.spatial) Statistics (scipy.stats) Multidimensional image processing (scipy.ndimage) File IO (scipy.io)
・ Fasst die Grundlagen von Scipy in diesem Buch zusammen ・ Scipy leidet oft an Numpy, aber Scipy scheint schneller zu sein.
・ Das SciPy-Tutorial hat viel Volumen, aber es gibt viele interessante Beispiele, daher möchte ich es zusammenfassen.
Recommended Posts