Echte Werte und Eigenvektoren: Lineare Algebra in Python <7>

Lineare Algebra

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.

Umgebung

・ Jupyter-Notizbuch ・ Sprache: Python3, Julia 1.4.0

Eindeutige Werte und eindeutige Vektoren

Die Eigenwerte und Eigenvektoren werden in einer Hauptkomponentenanalyse verwendet, die Daten mit künstlicher Intelligenz zusammenfasst.

Eindeutiger Wert, eindeutiger Vektor

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.

Intrinsische Gleichung

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 ***.

Eigenwerte und Eigenvektoren durch Eigengleichungen lösen

(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.

Programm

Programm zum Finden von Eigenwerten und Eigenvektoren

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.

Python (Prinzip)

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.

julia

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

Recommended Posts

Echte Werte und Eigenvektoren: Lineare Algebra in Python <7>
Lineare Unabhängigkeit und Basis: Lineare Algebra in Python <6>
Einheitsmatrix und inverse Matrix: Lineare Algebra in Python <4>
Inneres Produkt und Vektor: Lineare Algebra in Python <2>
Matrixberechnung und lineare Gleichungen: Lineare Algebra in Python <3>
Erste Computerphysik: Quantenmechanik und lineare Algebra mit Python.
Lineare Algebra zur Programmierung Kapitel 4 (eindeutige Werte, Eigenvektoren)
Einführung in Vektoren: Lineare Algebra in Python <1>
Finden Sie den Eigenwert / Eigenvektor
Lineare Suche in Python
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Finden Sie die Hermite-Matrix und ihre eindeutigen Werte in Python
Stapel und Warteschlange in Python
Einführung in die lineare Algebra mit Python: A = LU-Zerlegung
Unittest und CI in Python
Online lineare Regression in Python
Erfassen Sie lineare Algebra-Bilder mit Python (Translokation, inverse Matrix, Produkt von Matrizen)
Pakete, die MIDI mit Python Midi und Pretty_Midi verarbeiten
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Zeigen Sie Fotos in Python und HTML an
Sortieralgorithmus und Implementierung in Python
Bearbeiten Sie Dateien und Ordner in Python
Über Python und Cython dtype
Zuweisungen und Änderungen in Python-Objekten
Überprüfen und verschieben Sie das Verzeichnis in Python
Verschlüsselung mit Python: IND-CCA2 und RSA-OAEP
Hashing von Daten in R und Python
Funktionssynthese und Anwendung in Python
Exportieren und Ausgeben von Dateien in Python
Reverse Flat Pseudonym und Katakana in Python2.7
Lesen und Schreiben von Text in Python
[GUI in Python] PyQt5-Menü und Symbolleiste-
Erstellen und lesen Sie Messagepacks in Python
Liste der in Python verfügbaren Löser und Modellierer für lineares Design (LP)
Überlappende reguläre Ausdrücke in Python und Java
Unterschied in der Authentizität zwischen Python und JavaScript
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Module und Pakete in Python sind "Namespaces"
Vermeiden Sie verschachtelte Schleifen in PHP und Python
Lineare Regression in Python (Statmodelle, Scikit-Learn, PyMC3)
Unterschiede zwischen Ruby und Python im Umfang
AM-Modulation und Demodulation mit Python Part 2
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
Warteschlangen- und Python-Implementierungsmodul "deque"
Gefaltetes Liniendiagramm und Skalierungslinie in Python
Online lineare Regression in Python (Robuste Schätzung)
Implementieren Sie den FIR-Filter in Python und C.
Unterschiede zwischen Python- und Java-Syntax
Überprüfen und empfangen Sie die serielle Schnittstelle in Python (Portprüfung)
Suchen und spielen Sie YouTube-Videos mit Python
Unterschied zwischen @classmethod und @staticmethod in Python
Unterschied zwischen Anhängen und + = in der Python-Liste
Unterschied zwischen nicht lokal und global in Python
Schreiben Sie die O_SYNC-Datei in C und Python
Umgang mit "Jahren und Monaten" in Python
Lesen und schreiben Sie JSON-Dateien mit Python
Zeichnen Sie Daten einfach in Shell und Python