Einheitsmatrix und inverse Matrix: Lineare Algebra in Python <4>

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

Einheitsmatrix

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

Python-Code für die Einheitenmatrix

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

Julia-Code für die Einheitsmatrix

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

Inverse Matrix

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}

Matrixformel

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.

Inverser Python-Code einschließlich Matrixausdrücken

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.

Julia-Code der inversen Matrix einschließlich Matrixausdruck

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.

Schließlich

Als nächstes werde ich eine lineare Konvertierung durchführen. Wenn Sie also den Graphen stärker machen möchten. Mit allen Mitteln.

Recommended Posts

Einheitsmatrix und inverse Matrix: Lineare Algebra in Python <4>
Matrixberechnung und lineare Gleichungen: Lineare Algebra in Python <3>
Echte Werte und Eigenvektoren: Lineare Algebra in Python <7>
Suchen und überprüfen Sie die inverse Matrix in Python
Lineare Unabhängigkeit und Basis: Lineare Algebra in Python <6>
Erfassen Sie lineare Algebra-Bilder mit Python (Translokation, inverse Matrix, Produkt von Matrizen)
Inneres Produkt und Vektor: Lineare Algebra in Python <2>
Erste Computerphysik: Quantenmechanik und lineare Algebra mit Python.
Einführung in Vektoren: Lineare Algebra in Python <1>
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
Einführung in die lineare Algebra mit Python: A = LU-Zerlegung
Transmutationsmatrix im Python-Standard
Unittest und CI in Python
Online lineare Regression in Python
Identität und Äquivalenz: ist und == in Python
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
Bearbeiten Sie Dateien und Ordner in Python
Zuweisungen und Änderungen in Python-Objekten
Überprüfen und verschieben Sie das Verzeichnis in Python
Verschlüsselung mit Python: IND-CCA2 und RSA-OAEP
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-
Unterschiede in Identität, Äquivalenz und Aliasnamen
Erstellen und lesen Sie Messagepacks in Python
[Python3] Speichern Sie die Mittelwert- und Kovarianzmatrix in json mit Pandas
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 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
[Python] Region Covariance: Verteilte Covarianzmatrix und Computer Vision
Lesen und schreiben Sie JSON-Dateien mit Python
Zeichnen Sie Daten einfach in Shell und Python
Private Methoden und Felder in Python [Verschlüsselung]
Finden Sie die allgemeinen Begriffe der Tribonacci-Sequenz in linearer Algebra und Python
Rufen Sie sudo in Python auf und füllen Sie das Passwort automatisch aus