Die lineare Algebra, die Sie auf jeden Fall an einer naturwissenschaftlichen Universität lernen werden, ist leicht verständlich und logisch zusammengefasst. Ich habe es übrigens in Python implementiert. Gelegentlich kann es in Julia implementiert werden. .. .. ・ Lerne mit Python! Neues Mathematiklehrbuch - Grundkenntnisse für maschinelles Lernen und tiefes Lernen erforderlich - ・ Weltstandard MIT Lehrbuch Strang lineare Algebra Einführung Verstehen Sie die lineare Algebra basierend auf und implementieren Sie sie in Python.
・ Jupyter-Notizbuch ・ Sprache: Python3, Julia 1.4.0
Die Eigenwerte und Eigenvektoren werden in einer Hauptkomponentenanalyse verwendet, die Daten mit künstlicher Intelligenz zusammenfasst.
Betrachten Sie eine quadratische Matrix A. Für diese Matrix A.
A\vec{x}=λ\vec{x}
Beim Treffen
λ ist der Eigenwert der Matrix A.\\
\vec{x}Der Eigenvektor der Matrix A.\\
Das ist.
Multiplizieren Sie die obige Gleichung mit der Einheitsmatrix E, die den Vektor nicht beeinflusst.
A\vec{x}=λE\vec{x}
Übertragen und organisieren Sie die rechte Seite
(A-λE)\vec{x} = \vec{0}
Dies stellt einen Vektor mit allen 0 *** Elementen dar. Andererseits ist die inverse Matrix, selbst wenn sie berücksichtigt wird, Null. Es ist ein Vektor. Diese Gleichung heißt *** Eigengleichung ***.
(A-λE)\vec{x} = \vec{0}
entlang,
A=\begin{pmatrix}3 & 1\\2 & 4\end{pmatrix}
Als konkretes Beispiel. Dann
det(A-λE)\vec{x} = 0\\
⇔
det(\begin{pmatrix}3 & 1\\2 & 4\end{pmatrix}-λ\begin{pmatrix}1 & 0\\0 & 1\end{pmatrix})\vec{x} = 0\\
⇔
det\begin{pmatrix}3-λ & 1\\2 & 4-λ\end{pmatrix} = 0\\
⇔(λ-2)(λ-5)= 0\\
Dies macht den *** eindeutigen Wert 2 oder 5 ***. Denn der Eigenvektor ändert sich auch abhängig vom Eigenwert. Denken Sie an jeden der Fälle 2 und 5.
\vec{x} = \begin{pmatrix}p\\q\end{pmatrix}
Wenn Sie mit λ = 2 rechnen,
det(A-λE)\vec{x} = 0\\
\begin{align}
det(A-λE)\vec{x}&=
det(A-2E)\begin{pmatrix}p\\q\end{pmatrix} \\
&=\begin{pmatrix}1 & 1\\2 & 2\end{pmatrix}\begin{pmatrix}p\\q\end{pmatrix}\\
&=\begin{pmatrix}p+q\\2p+2q\end{pmatrix} \\
&= \vec{0}
\end{align}
Daraus kann gesagt werden, dass p + q = 0 ist. Wenn Sie also eine beliebige reelle Zahl t setzen, ist der x-Vektor
\vec{x}=\begin{pmatrix}t\\-t\end{pmatrix}
Und der Eigenvektor wird erhalten.
Wenn λ = 5,
\vec{x}=\begin{pmatrix}t\\2t\end{pmatrix}
Wird sein.
python
7pythoneigenvaluevector
import numpy as np
A = np.array([[3, 1],[2, 4]])
ev = np.linalg.eig(A)
print(ev[0])
print(ev[1])
[2. 5.]
[[-0.70710678 -0.4472136 ]
[ 0.70710678 -0.89442719]]
Hier verwenden wir die Funktion linag.eig
. Dies liegt daran, dass der eindeutige Wert in Englisch ist und *** Eigenwert *** ist.
Lassen Sie uns ein Prinzipprogramm machen. Diesmal wird der Eigenwert berechnet.
7pythoneigenvaluevector2
import numpy as np
import sympy
#A = [[a, b],
# [c, d]]
a = int(input())
b = int(input())
c = int(input())
d = int(input())
#=>3
#=>1
#=>2
#=>4
x = sympy.Symbol('x')
eigenequa = x**2 - (a + d)*x + (a * d) - (b * c)```
print(eigenequa)
factorization = sympy.factor(eigenequa)
print(factorization)
solve = sympy.solve(eigenequa)
print(solve)
=>x**2 - 7*x + 10
=>[2, 5]
Julia ist so einfach, dass ich es anziehen werde.
7juliaigenvaluevector
using LinearAlgebra
F = eigen([3 1; 2 4;])
=>Eigen{Float64,Float64,Array{Float64,2},Array{Float64,1}}
=>values:
=>2-element Array{Float64,1}:
=> 2.0
=> 5.0
=>vectors:
=>2×2 Array{Float64,2}:
=> -0.707107 -0.447214
=> 0.707107 -0.894427
Nur 2 Zeilen! Beeindruckend...
Das ist alles für heute