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
E = \begin{pmatrix}1 & 0\\0 & 1\end{pmatrix},\begin{pmatrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1\end{pmatrix}
Von links oben nach rechts unten sind 1s diagonal ausgerichtet und die anderen Elemente sind 0s.
Selbst wenn eine Einheitsmatrix mit der gleichen Anzahl von Elementen mit einer quadratischen Matrix n-ter Ordnung multipliziert wird, sind die Ausgabewerte gleich. Darüber hinaus spielt die Reihenfolge der Produkte keine Rolle.
AE = \begin{pmatrix}a & b\\c & d\end{pmatrix}\begin{pmatrix}1 & 0\\0 & 1\end{pmatrix}=\begin{pmatrix}a & b\\c & d\end{pmatrix}=\begin{pmatrix}1 & 0\\0 & 1\end{pmatrix}\begin{pmatrix}a & b\\c & d\end{pmatrix}=EA
import numpy as np
# print("2 × 2-Einheitenmatrix")
print(np.eye(2))
# print("3 × 3-Einheitenmatrix")
print(np.eye(3))
# print("4x4 Einheit Matrix")
print(np.eye(4))
#Implementierung
2 × 2-Einheitenmatrix
[[1. 0.]
[0. 1.]]
3 × 3-Einheitenmatrix
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
4x4 Einheit Matrix
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
using LinearAlgebra
Matrix{Int}(I, 2, 2)
Matrix{Int}(I, 3, 3)
Matrix{Int}(I, 4, 4)
2×2 Array{Int64,2}:
1 0
0 1
3×3 Array{Int64,2}:
1 0 0
0 1 0
0 0 1
4×4 Array{Int64,2}:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Die inverse Matrix ist
AA^{-1} = A^{-1}A = E
Es hat eine Beziehung von. Um ein Beispiel zu geben
A =\begin{pmatrix}1 & 1 \\1 & 2\end{pmatrix},
B =\begin{pmatrix}2 & -1 \\-1 & 1\end{pmatrix}
Finden Sie das Produkt von AB, wenn es zwei Matrizen gibt.
AB =\begin{pmatrix}1 & 1 \\1 & 2\end{pmatrix}\begin{pmatrix}2 & -1 \\-1 & 1\end{pmatrix}=\begin{pmatrix}1 & 0\\0 & 1\end{pmatrix}
Als das
AB = E = BA \Longrightarrow B = A^{-1}
A = \begin{pmatrix}a & b\\c & d\end{pmatrix}
\Longleftrightarrow
\begin{vmatrix}A\end{vmatrix}= det A = ad-bc
Im Fall einer 2x2-Matrix
A^{-1} = \frac{1}{ad-bc}\begin
{pmatrix}d & -b\\-c & a\end{pmatrix}
Kann ausgedrückt werden als zu diesem Zeitpunkt
ad-bc = 0 \Longleftrightarrow A^{-1}Ist nicht vorhanden
\\
ad-bc \neq 0 \Longleftrightarrow A^{-1}Existiert.
Kann geschrieben werden als.
import numpy as np
a = [input().split() for i in range(2)]
#Zahlen eingeben
#=>1 2
#=>3 4
a = np.array(a)
print(a)
#=>[['1' '2']
# ['3' '4']]
a = a.astype(np.float64)
print(np.linalg.det(a))
#=>-2.0000000000000004
if np.linalg.det(a) != 0:
print(np.linalg.inv(a))
else:
print("No exist")
#=>[[-2. 1. ]
# [ 1.5 -0.5]]
Selbst wenn Sie mit der Funktion "np.linalg.inv ()" ohne Verwendung der if-Anweisung rechnen, tritt ein Fehler auf, wenn die inverse Matrix nicht vorhanden ist. Da ich diesmal jedoch den Matrixausdruck verwenden möchte, habe ich ihn mit der Funktion "np.linalg.det ()" geschrieben.
using LinearAlgebra
A = [1 2; 3 4]
if det(A) == 0
print("No exist")
else
inv(A)
end
#=>2×2 Array{Float64,2}:
# -2.0 1.0
# 1.5 -0.5
Die inverse Matrix wird sofort durch die "inv () - Funktion" erhalten.
Als nächstes werde ich eine lineare Konvertierung durchführen. Wenn Sie also den Graphen stärker machen möchten. Mit allen Mitteln.