Matrice unitaire et matrice inverse: Algèbre linéaire en Python <4>

algèbre linéaire

L'algèbre linéaire que vous apprendrez certainement dans une université scientifique est résumée de manière logique et facile à comprendre. Au fait, je l'ai implémenté en Python. Parfois, il peut être implémenté dans Julia. .. .. ・ Apprenez en exécutant avec Python! Nouveau manuel de mathématiques - connaissances de base requises pour l'apprentissage automatique et l'apprentissage en profondeur - ・ Manuel mondial du MIT Introduction à l'algèbre linéaire étrange Comprendre l'algèbre linéaire basée sur et l'implémenter en python.

environnement

・ Cahier Jupyter ・ Langage: Python3, Julia 1.4.0

Matrice unitaire

E = \begin{pmatrix}1 & 0\\0 & 1\end{pmatrix},\begin{pmatrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1\end{pmatrix}

Du coin supérieur gauche au coin inférieur droit, les 1 sont alignés en diagonale et les autres éléments sont des 0.

Même si une matrice unitaire avec le même nombre d'éléments est multipliée par une matrice carrée d'ordre n, les valeurs de sortie seront les mêmes. De plus, l'ordre des produits n'a pas d'importance.

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

Code Python pour la matrice d'unité

import numpy as np

# print("Matrice unitaire 2 × 2")
print(np.eye(2))
# print("Matrice unitaire 3 × 3")
print(np.eye(3))
# print("Matrice d'unité 4x4")
print(np.eye(4))
#la mise en oeuvre
Matrice unitaire 2 × 2
[[1. 0.]
 [0. 1.]]
Matrice unitaire 3 × 3
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
Matrice d'unité 4x4
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]

Code Julia pour la matrice d'unité

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

Matrice inverse

La matrice inverse est

AA^{-1} = A^{-1}A = E

Il a une relation de. Pour donner un exemple

A =\begin{pmatrix}1 & 1 \\1 & 2\end{pmatrix},
B =\begin{pmatrix}2 & -1 \\-1 & 1\end{pmatrix}

Trouvez le produit de AB lorsqu'il y a deux matrices.

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}

Que ça

AB = E = BA \Longrightarrow B = A^{-1}

Formule matricielle

A = \begin{pmatrix}a & b\\c & d\end{pmatrix}
\Longleftrightarrow
\begin{vmatrix}A\end{vmatrix}= det A = ad-bc

De plus, dans le cas d'une matrice 2x2,

A^{-1} = \frac{1}{ad-bc}\begin
{pmatrix}d & -b\\-c & a\end{pmatrix}

Peut être exprimé comme, à ce moment,

ad-bc = 0 \Longleftrightarrow A^{-1}N'existe pas
\\
ad-bc \neq 0 \Longleftrightarrow A^{-1}Existe.

Peut être écrit comme.

Code Python inversé, y compris les expressions matricielles

import numpy as np


a = [input().split() for i in range(2)]
#Entrez des nombres
#=>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]]

En fait, même si la fonction np.linalg.inv () 'est utilisée telle quelle sans utiliser l'instruction if, une erreur se produira si la matrice inverse n'existe pas. Cependant, comme je veux utiliser l'expression matricielle cette fois, je l'ai écrite en utilisant la fonction np.linalg.det ()`.

Code Julia de la matrice inverse, y compris l'expression de la matrice

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

La matrice inverse est immédiatement obtenue par la fonction «inv ()».

finalement

Ensuite, je vais faire une conversion linéaire, donc si vous voulez rendre le graphique plus fort. Par tous les moyens.

Recommended Posts

Matrice unitaire et matrice inverse: Algèbre linéaire en Python <4>
Calcul matriciel et équations linéaires: Algèbre linéaire en Python <3>
Valeurs authentiques et vecteurs propres: Algèbre linéaire en Python <7>
Rechercher et vérifier la matrice inverse en Python
Indépendance et base linéaires: Algèbre linéaire en Python <6>
Capturez des images d'algèbre linéaire avec python (translocation, matrice inverse, produit de matrices)
Produit intérieur et vecteur: Algèbre linéaire en Python <2>
Première physique computationnelle: mécanique quantique et algèbre linéaire avec python.
Introduction aux vecteurs: Algèbre linéaire en Python <1>
Recherche linéaire en Python
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Trouvez la matrice Hermite et ses valeurs uniques en Python
Introduction à l'algèbre linéaire avec Python: Décomposition A = LU
Matrice transposée au standard Python
Unittest et CI en Python
Régression linéaire en ligne en Python
Identité et équivalence: is et == en Python
Différence entre list () et [] en Python
Différence entre == et est en python
Dessinez une matrice de diagramme de dispersion avec python
Manipuler des fichiers et des dossiers en Python
Affectations et modifications des objets Python
Vérifiez et déplacez le répertoire en Python
Chiffrement avec Python: IND-CCA2 et RSA-OAEP
Exporter et exporter des fichiers en Python
Inverser le pseudonyme plat et le katakana en Python2.7
Lire et écrire du texte en Python
[GUI en Python] Menu PyQt5 et barre d'outils-
Différences d'identité, d'équivalence et d'alias
Créer et lire des paquets de messages en Python
[Python3] Enregistrez la matrice de moyenne et de covariance dans json avec les pandas
Liste des solveurs et modélisateurs de conception linéaire (LP) disponibles en Python
Chevauchement d'expressions régulières en Python et Java
Différence d'authenticité entre Python et JavaScript
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Les modules et packages en Python sont des "espaces de noms"
Évitez les boucles imbriquées en PHP et Python
Régression linéaire en Python (statmodels, scikit-learn, PyMC3)
Différences entre Ruby et Python dans la portée
Modulation et démodulation AM avec Python Partie 2
différence entre les instructions (instructions) et les expressions (expressions) en Python
Module d'implémentation de file d'attente et Python "deque"
Graphique à lignes pliées et ligne d'échelle en python
Régression linéaire en ligne en Python (estimation robuste)
Implémenter le filtre FIR en langage Python et C
Différences entre la syntaxe Python et Java
Vérifier et recevoir le port série en Python (vérification du port)
Rechercher et lire des vidéos YouTube avec Python
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
Ecrire le fichier O_SYNC en C et Python
Gérer les "années et mois" en Python
[Python] Covariance de région: matrice de covariance distribuée et vision par ordinateur
Lire et écrire des fichiers JSON avec Python
Représentez facilement des données graphiques dans le shell et Python
Méthodes et champs privés en python [chiffrement]
Retrouvez les termes généraux de la séquence de Tribonacci en algèbre linéaire et Python
Appelez sudo en Python et mot de passe à saisie automatique