Lineare Unabhängigkeit und Basis: Lineare Algebra in Python <6>

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

Lineare Unabhängigkeit

Lineares unabhängiges Bild

Ist eine lineare Verbindung

av + bw

Sprechen Sie basierend auf der Form von. Die Vektoren v und w müssen unterschiedliche Richtungsvektoren haben. Zum Beispiel

\vec{v}=\begin{pmatrix}2\\3\end{pmatrix}
,
\vec{w}=\begin{pmatrix}1\\-2\end{pmatrix}

Es ist eine Beziehung wie. Dies bedeutet, dass die beiden Vektoren wie beim letzten Mal einen Winkel bilden, der nπ nicht erfüllt (n = 0, 1, 2, ...). Das ist,

\vec{v}=\begin{pmatrix}2\\3\end{pmatrix}
,
\vec{w}=\begin{pmatrix}4\\6\end{pmatrix}
\\
\\
\vec{v}=α\vec{w}

Wie oben gezeigt, werden die "skalare Produktbeziehung und die Mehrfachbeziehung als lineare Abhängigkeit" bezeichnet. Es heißt "lineare Unabhängigkeit von Dingen, die nicht werden". Jeder muss unabhängig sein, sogar drei, nicht zwei. Auf dem Bild sollte es so aussehen.

Definition der linearen Unabhängigkeit

Definition </ font> Wenn Ax = 0 nur x = 0 ist, ist der Spaltenvektor eine lineare Algebra. Nichts anderes ist ein Nullvektor in der linearen Verbindung Ax der Spaltenvektoren. Die Vektorspalten v_1, v_2, ...., v_n haben eine lineare Verbindung, die ein Nullvektor ist.

0v_1+0v_2+...+0v_n

Wenn nur, ist es linear unabhängig.

Das ist,


Alle x_Nur wenn ich Null ist,\\
x_1v_1+x_2v_2+...+x_nv_n=0\\
Wird.

Wenn dies nicht geschieht, spricht man von linearer Abhängigkeit.

Programm

Ein Programm, das Spaltenvektoren mit zwei zwei Elementen beurteilt

6pythonlinearindependece


import numpy as np

v = list()
w = list()
for i in range(2):
    vbec = int(input())
    v.append(vbec)
for i in range(2):
    wbec = int(input())
    w.append(wbec)
v = np.array(v)
w = np.array(w)

sarrus = v[0]*v[1] - v[1]*v[0]
if sarrus == 0:
    print("Lineare Unterordnung")
else:
    print("Lineare Unabhängigkeit")

Ich habe mit Python (2) lineare Algebra ausprobiertにあるコードを少しだけ書き換えたものである。 Dies kann nur zwischen Vektoren mit zwei Elementen bestimmt werden. Das Programm, das zuerst die Anzahl der Elemente zählt und bestimmt, ob es unabhängig oder abhängig ist, lautet wie folgt.

Ein Programm, das Spaltenvektoren mit zwei n Elementen beurteilt

6pythonlinearindependece2


import numpy as np

n = int(input())
# =>3

v = list()
w = list()
for i in range(n):
    vbec = int(input())
    v.append(vbec)
for i in range(n):
    wbec = int(input())
    w.append(wbec)
v = np.array(v)
w = np.array(w)
# =>1
# =>2
# =>3
# =>3
# =>2
# =>1

x = list()
c = v[0]/w[0]

for i in range(n): 
    if v[i] == c*w[i]:
        x.append("True")
        continue
    else:
        break

if len(x) == n:
    print("Lineare Unterordnung")
elif len(x) < n:
    print("Lineare Unabhängigkeit")
# =>Lineare Unabhängigkeit

Base

Definition der Basis des Vektorraums

Definition </ font> Die Basis des Vektorraums ist eine Folge von Vektoren mit den folgenden zwei Eigenschaften: *** Der Basisvektor ist linear unabhängig und erstreckt sich über den Raum. ***

Eine ausführliche Erläuterung der Basis entfällt hier.

Standardbasis

Konkretes Beispiel

I =
\begin{bmatrix}
1 & 0\\
0 & 1
\end{bmatrix}
Der Spaltenvektor ist R.^2 Standardbasis.

Daraus kann wie folgt gesagt werden.

(n×n)Der Spaltenvektor der Einheitsmatrix ist R.^ist die "Standardbasis" von n.
des Weiteren,
Alles(n×n)Der Spaltenvektor der Matrix ist R.^ist die "Standardbasis" von n

Auch hier entfallen die Maße.

Programm

\vec{e_x}=\begin{pmatrix}1\\0\end{pmatrix},
\vec{e_y}=\begin{pmatrix}0\\1\end{pmatrix}

Dann kann a = (2,3) wie folgt ausgedrückt werden.

\vec{a}=\begin{pmatrix}2\\3\end{pmatrix}=2\vec{e_x}+3\vec{e_y}
=2\begin{pmatrix}0\\1\end{pmatrix}+3\begin{pmatrix}1\\0\end{pmatrix}

Als das

\vec{a},\vec{e_x},\vec{e_y}

Zeichnen Sie drei Vektoren von. Ich habe versucht, lineare Algebra mit Python (5) Es ist nicht neu, weil es 3 Vektoren ver hat.

Ursprüngliches Vektor- und Standardbasiszeichnungsprogramm

import numpy as np
import matplotlib.pyplot as plt

a = np.array([2, 3])
e_x = np.array([1, 0]) 
e_y = np.array([0, 1])  

print("a:", a)
print("e_x:", e_x)
print("e_y:", e_y)
      
def arrow(start, size, color):
    plt.quiver(start[0], start[1], size[0], size[1], 
               angles="xy", scale_units="xy", scale=1, color=color)

s = np.array([0, 0])  #Ursprung

arrow(s, a, color="blue")
arrow(s, e_x, color="red")
arrow(s, e_y, color="red")

#Grafikanzeige
plt.xlim([-3,3])  #Anzeigebereich von x
plt.ylim([-3,3])  #Anzeigebereich von y
plt.xlabel("x", size=14)
plt.ylabel("y", size=14)
plt.grid()
plt.axes().set_aspect("equal")  #Gleiches Seitenverhältnis
plt.show()

schließlich

Ich habe das nicht schwer gemacht. Für Python schreibe ich einen kleinen Umleitungscode. (Um das Prinzip verständlicher zu machen) Ich kann mit Julia (?) Kein Diagramm zeichnen, also schreibe ich Code in das Berechnungsfeld.

Recommended Posts