[PYTHON] Ich habe Strangs lineare Algebra gelesen

[World Standard MIT Lehrbuch Strang: Einführung in die lineare Algebra](https://www.amazon.co.jp/s?k=%E3%82%B9%E3%83%88%E3%83%A9%E3%83] % B3% E3% 82% B0 +% E7% B7% 9A% E5% BD% A2% E4% BB% A3% E6% 95% B0 & __ mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & crid = 2C5QCY8N0F5B9 & sprefix =% E3% 82% B9% E3% 83% 88% E3% 83% A9% E3% 83% B3% E3% 82% B0% 2Caps% 2C236 & ref = nb_sb_ss_i_1_5) image.png

Von 21:00 bis 20:30 Uhr am 21. Juli Einführung in die lineare Algebra 2. kostenlose Online-Lernsitzung Anfänger willkommen halten. Bitte tritt uns bei.

Einführung

Vektor

Der Vektor leitet sich vom lateinischen Wort vehere ab, was "tragen" bedeutet, und wurde erstmals von Astronomen des 18. Jahrhunderts verwendet.

Es wird im Bereich der Mathematik verwendet, und es wird in jedem Bereich verwendet.

Auf dem Gebiet der Computer werden Datenstrukturen betrachtet, die als eindimensionale Arrays und Sequenzen ausgedrückt werden. Es wird häufig in der Welt der Computergrafik verwendet.

Es ist auch auf dem Gebiet der Physik weit verbreitet. Es wird häufig bei Problemen im dreidimensionalen oder zweidimensionalen Raum eingesetzt und in einem weiten Bereich wie Elektromagnetik und Fluiddynamik eingesetzt.

In der Mathematik eine Größe mit Größe und Ausrichtung im geometrischen Raum. Es kann als gerichtetes Liniensegment angesehen werden. Vektor im weitesten Sinne im Allgemeinen. Es hat Linearität, das heißt, es ist ein Betrag, der Summen- und Skalarzeiten annehmen kann. Es wird durch eine Basis und eine Reihe von Komponenten dafür dargestellt.

Es gibt vertikale Vektoren und horizontale Vektoren als Notation.

Vertikaler Vektor\begin{bmatrix}1 \\ 20\end{bmatrix}
Horizontaler Vektor\begin{bmatrix}1 &20\end{bmatrix}

Es ist leicht zu verstehen, ob der Vektor in einer geometrischen Ebene erfasst wird.

a= \begin{bmatrix}2 \\ 1\end{bmatrix}\\

b=\begin{bmatrix}1 \\ 3\end{bmatrix}

Dann

a+b = \begin{bmatrix}2+1\\1+3\end{bmatrix} = \begin{bmatrix}3\\4\end{bmatrix}Ist
# coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
a = np.array([2, 1])
b = np.array([1, 3])
c = a + b
origin = [0, 0, 0] #Ursprung(0, 0)

d = np.array([a, b, c])
U = d.T[0] #Nehmen Sie die Inversion und nehmen Sie die x-Komponente heraus
V = d.T[1] #Nehmen Sie die Inversion und nehmen Sie die y-Komponente heraus
    
plt.quiver(origin, origin, U, V, angles='xy', scale=1, scale_units='xy', color=['r', 'g', 'b'])
plt.xlim([-1, 5])
plt.ylim([-1, 5])

plt.grid()
plt.show()

image.png Es ist jedoch einfacher zu verstehen, ob der rote Pfeil parallel zum grünen Pfeil bewegt wird, als diese Denkweise.

plt.quiver(origin, origin, U, V, angles='xy', scale=1, scale_units='xy', color=['r', 'g', 'b'])

b1=np.array([2,1])
origin1 = [1] #Ursprung(0, 0)
origin2 = [3]

d = np.array([b1])
U = d.T[0] #Nehmen Sie die Inversion und nehmen Sie die x-Komponente heraus
V = d.T[1] #Nehmen Sie die Inversion und nehmen Sie die y-Komponente heraus
    
plt.quiver(origin1, origin2, U, V, angles='xy', scale=1, scale_units='xy',color=['r'])

plt.xlim([-1, 5])
plt.ylim([-1, 5])

plt.grid()
plt.show()

image.png

Es wird ausgedrückt als.

Warteschlange

Eine Matrix ist eine rechteckige Anordnung von Zahlen, Symbolen, Ausdrücken usw. vertikal und horizontal. Horizontal angeordnete Zahlen, Symbole und Ausdrücke werden als Zeilen und vertikal angeordnete als Spalten bezeichnet. Zum Beispiel

\begin{bmatrix}1&9&-13\\20&5&-6\end{bmatrix}

Wird als Matrix vom Typ (2,3) oder vom Typ 2x3 bezeichnet, da sie aus zwei Zeilen und drei Spalten besteht.

Zum Lösen simultaner Gleichungen verwenden

Die Matrix hat eine lange Geschichte in der Lösung simultaner Gleichungen, und das erste Beispiel der Welt ist das chinesische Buch "Kapitel 9 Arithmetik" (10. Jahrhundert v. Chr. - 2. Jahrhundert v. Chr.).

Als Beispiel für eine gleichzeitige Gleichung zweier Variablen

\begin{cases}x+2y=5\\2x+3y=8\end{cases}

Und. In dieser Gleichung ist die Lösung (x, y) = (1, 2), was zwei lineare Gleichungen gleichzeitig erfüllt.

Wenn Sie bei einem Gleichungssystem die Anzahl der Variablen mit der Anzahl der Gleichungen vergleichen, ist die Lösung ungefähr

Wenn die Anzahl der Variablen größer ist, können die Variablen frei durch die Anzahl (Anzahl der Variablen) - (Anzahl der Gleichungen) definiert werden, und eine Lösung kann nicht bestimmt werden.

Wenn die Anzahl der Variablen und die Anzahl der Gleichungen übereinstimmen, gibt es eine Lösung und eine wird bestimmt.

Wenn es mehr Gleichungen gibt, gibt es zu viele Einschränkungen und es gibt keine Lösung.

Tun Sie dies mit einer Matrix

\begin{bmatrix}1&2\\2&3&\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}5\\8\end{bmatrix}

Die Lösung kann gefunden werden.

das ist

\begin{cases}x+2y=5\\2x+3y=8\end{cases}

Genau wie beim Lösen können Sie $ y $ in der Formel in der zweiten Zeile löschen. Sie können $ x $ erhalten, indem Sie die Formel in der ersten Zeile durch 2 teilen und mit 3 multiplizieren und von der Formel in der zweiten Zeile subtrahieren.

\begin{bmatrix}1&2\\2-3/2&0&\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}5\\8/3-5\cdot3/2\end{bmatrix}
\begin{bmatrix}1&2\\1/2&0&\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}5\\1/2\end{bmatrix}

Daher ist $ x = 1 $, das in die Formel in der ersten Zeile eingesetzt wird, um $ y = 2 $ zu erhalten.

Ähnlich

\begin{bmatrix}1&2\\2&3&\end{bmatrix}\begin{bmatrix}z\\w\end{bmatrix}=\begin{bmatrix}3\\8\end{bmatrix}

Das Lösen ergibt $ (x, y) = (2,1) $. Wenn Sie das alles zusammen schreiben

\begin{bmatrix}1&2\\2&3&\end{bmatrix}\begin{bmatrix}x&z\\y&w\end{bmatrix}=\begin{bmatrix}5&3\\8&8\end{bmatrix}

Kann geschrieben werden.

Matrixformel

\begin{bmatrix}a&b\\c&d&\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}e\\f\end{bmatrix}

Um $ d $ zu löschen, subtrahieren Sie die zweite Zeile multipliziert mit $ b $ von der ersten Zeile multipliziert mit $ d $

\begin{bmatrix}a&b\\ad-bd &0&\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}e\\de-bf\end{bmatrix}

Wird erhalten. Deshalb,

x=\frac{de-bf}{ad-bd}

Innenprodukt

Das innere Produkt wird auch als Skalarprodukt bezeichnet, da es sich um eine Binomialoperation handelt, die eine bestimmte Zahl (Skalar) für zwei Vektoren bestimmt. Das Punktprodukt ist eine Art Vektoroperation, die einen numerischen Wert aus zwei Sequenzen gleicher Länge zurückgibt.

Nehmen wir zum Beispiel an, Sie haben einen Apfel für 100 Yen gekauft und für 200 Yen verkauft. Wenn die Menge der Transaktion $ (q_1, q_2) = (-1,1) $ und der Preis $ (p_1, p_2) = (100.200) $ ist, beträgt der Gewinn

(q_1,q_2)\cdot(p_1,p_2)=q_1p_1+q_2p_2=-1\cdot100+1\cdot 200=100

Wird sein.

q=np.array([-1,1])
p=np.array([100,200])
np.dot(p,q)

#100

Projektion

Gerade Passform

Betrachten Sie als nächstes den Fall, in dem es viele Ausdrücke gibt.

\begin{bmatrix}1&-2\\1&0&\\1&2\end{bmatrix}\begin{bmatrix}\alpha\\ \beta\end{bmatrix}=\begin{bmatrix}1\\2\\4\end{bmatrix}

Dies ist ein Typ, der sowohl im Finanz- als auch im Ingenieurwesen häufig anzutreffen ist. Es ist eine gerade Passform.

Die rechte Seite ist die erklärte Variable und die linke Seite ist die erklärende Variable und der Regressionskoeffizient. Oft hat $ Ax = b $ keine Lösung. Ein häufiger Grund ist, dass es zu viele Ausdrücke gibt. Der Grund, warum dies nicht gelöst werden kann, ist, dass die erklärte Variable Rauschen enthält. Wenn der Fehler $ e = b-Ax $ ist, darf der Fehler nicht Null sein. Wenn $ e = 0 $ ist, kann die Lösung gefunden werden. Wenn $ e $ anstelle von Null minimiert wird, wird $ \ hat {x} $ als Lösung mit dem kleinsten Quadrat bezeichnet. Diese Lösung ist

A^TA\hat{x}=A^Tb

Es wird durch Lösen erhalten. $ ^ T $ repräsentiert eine Translokationsmatrix. $ Ax $ liegt auf einer Ebene, die aus den Spalten (1,1,1) und (0,1,2) besteht. Suchen Sie den Punkt, der $ b $ in dieser Ebene am nächsten liegt. Der nächste Punkt ist die Projektion $ p $. Dies ist die Methode der kleinsten Quadrate unter Verwendung der Projektion.

Wenn Sie einen gemessenen Wert mit einer bestimmten Funktion wie einer linearen Funktion, einer quadratischen Funktion, einer Dreiecksfunktion oder einer Bikurve approximieren, die von einem geeigneten Modell angenommen wird, sollte die angenommene Funktion eine gute Annäherung an den gemessenen Wert sein. Das Modell kann bestimmt werden, um die Summe der Quadrate der Residuen zu minimieren.

Eindeutiger Wert, eindeutiger Vektor

In der linearen Algebra gibt es Eigenwerte und Eigenvektoren als Indizes, die die Eigenschaften der linearen Transformation darstellen. Es ist wichtig für die Analyse dynamischer Probleme, die auftreten, wenn wir einen stabilen Zustand (stationären Zustand) diskutieren möchten.

Ax=\lambda x

$ A $ ist eine Matrix, $ x $ ist der Eigenvektor und $ \ lambda $ ist der Eigenwert. Wenn wir uns diese Grundgleichung ansehen, können wir sehen, dass es auf der rechten und linken Seite Eigenvektoren gibt. Außerdem befindet sich auf der rechten Seite ein eindeutiger Wert $ \ lambda $. Der eindeutige Wert ist nicht immer einer.

\begin{bmatrix}4\\2\end{bmatrix}=2\cdot\begin{bmatrix}2\\1\end{bmatrix}\\
\begin{bmatrix}2\\1\end{bmatrix}=1\cdot\begin{bmatrix}2\\1\end{bmatrix} \\
\begin{bmatrix}-2\\-1\end{bmatrix}=-1\cdot \begin{bmatrix}2\\1\end{bmatrix} 

Dann ist der Eigenvektor

\begin{bmatrix}2\\1\end{bmatrix} 

Und die Eigenwerte sind 2,1, -1 von oben. Im Flugzeug ausgedrückt

# coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
a = np.array([4, 2])
b = np.array([2, 1])
c = np.array([-2, -1])
origin = [0, 0, 0] #Ursprung(0, 0)

d = np.array([a, b, c])
U = d.T[0] #Nehmen Sie die Inversion und nehmen Sie die x-Komponente heraus
V = d.T[1] #Nehmen Sie die Inversion und nehmen Sie die y-Komponente heraus
    
plt.quiver(origin, origin, U, V, angles='xy', scale=1, scale_units='xy', color=['r', 'g', 'b'])
plt.xlim([-3, 5])
plt.ylim([-3, 5])

plt.grid()

image.png

Wird sein. Zum Beispiel

\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix}x=\lambda x

Und. Bewegen Sie die rechte Seite zur linken Seite

\begin{bmatrix}0.8-\lambda&0.3\\0.2&0.7-\lambda\end{bmatrix}x=0

$ x \ ne 0 $. Deshalb

\begin{cases}(0.8-\lambda)x_1+0.3x_2=0\\0.2x_1+(0.7-\lambda)x_2=0\end{cases}

Lösen. Teilen Sie 1 Formel durch 0,3 und 2 Formeln durch $ 0,7- \ lambda $ und subtrahieren Sie davon

\begin{bmatrix}0.8-\lambda&0.3\\0.2/(0.7-\lambda)-(0.8-\lambda)/0.3 &0 \end{bmatrix}x=0

Weil es $ x \ ne 0 $ ist

0.2/(0.7-\lambda)-(0.8-\lambda)/0.3 =0

Daher ist $ \ lambda = 1,0,5 $.

Dann $ x_1 = -x_2 $ oder $ 1.5 \ cdot x_1 = 1 \ cdot x_2 $.

das ist Wenn $ \ lambda = 1 $

x=\begin{bmatrix}0.6\\0.4\end{bmatrix}

Wenn $ \ lambda = 0,5 $

x=\begin{bmatrix}1\\-1\end{bmatrix}

Wird sein.

Dies erfolgt durch mehrmaliges Multiplizieren der Matrix $ A $ mit einem positiven Vektor $ u_0 $, wie z. B. $ u_1 = Au_0 $, $ u_2 = Au_1 = A ^ 2u_0 . $Au_{\infty}=u_{\infty}$$ werden. Versuchen wir $ u_0 = [0.9,0.1] ^ T $.

\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix}\begin{bmatrix}0.9\\0.1\end{bmatrix}=
\begin{bmatrix}0.72+0.03\\0.18+0.07\end{bmatrix}=
\begin{bmatrix}0.75\\0.25\end{bmatrix}
\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix}\begin{bmatrix}0.75\\0.25\end{bmatrix}=
\begin{bmatrix}0.6+0.075\\0.15+0.175\end{bmatrix}=
\begin{bmatrix}0.675\\0.325\end{bmatrix}
\begin{bmatrix}0.8&0.3\\0.2&0.7\end{bmatrix}\begin{bmatrix}0.675\\0.325\end{bmatrix}=
\begin{bmatrix}0.54+0.0975\\0.135+0.2275\end{bmatrix}=
\begin{bmatrix}0.6375\\0.3625\end{bmatrix}

Stück für Stück

x=\begin{bmatrix}0.6\\0.4\end{bmatrix}

Auf etwas oder jemanden zukommen.

Im Finanzbeispiel ist es leicht vorstellbar, dass $ u_1 = Au_0 + \ epsilon_1 $ mit $ u $ als Preis.

Recommended Posts

Ich habe Strangs lineare Algebra gelesen
Ich habe SHAPs Zeitung gelesen
Ich habe PEP 613 (Explicit Type Aliases) gelesen.
Ich habe PEP 612 (Parameter Specification Variables) gelesen.