Comment calculer les matrices en python sans numpy

Comment calculer les matrices en python sans numpy
La série verticale d'objets dans une matrice python est généralement connue sous le nom de «colonnes», tandis que la série horizontale est appelée «lignes."Comme une liste imbriquée, les lignes et les colonnes ont été placées les unes sur les autres. Si une matrice a des lignes «k» et des colonnes «M», et si «k» et «m» sont des entiers positifs, l'ordre d'un tel objet matriciel est déterminé par «k-by-m».

Une matrice peut contenir des chaînes, des nombres et d'autres types d'objets de données. Dans une matrice, les données sont empilées dans les deux colonnes et les lignes. Une structure de données clé prenant en charge les calculs en sciences et mathématiques est la matrice. Étant donné que Python ne fournit pas de type intégré pour un objet matriciel, nous traitons l'une des listes entre les listes ou même une liste imbriquée comme matrice.

Comment fonctionnent les matrices de Python

Les données sont écrites dans un tableau bidimensionnel pour générer une matrice. La procédure est la suivante:

[[1 3 5 7 9]
[2 4 6 8 10]
[0 8 7 4]]

Il a une matrice de 3 par 5 comme affichage. Par conséquent, sa taille est de 3 par 5. Les données à l'intérieur de cette matrice se compose d'objets de l'intégralité de type de données. La rangée supérieure, Row1, a les valeurs 1, 3, 5, 7 et 9, tandis que Row2, avec Row3, a les valeurs (2, 4, 6, 8) et respectivement (0, 8, 7, 4). Column1 contient des valeurs de (1, 2, 0) ainsi que la colonne2 a des valeurs de (3, 4, 8) et ainsi de suite.

Python nous permet de stocker toutes les données dans une matrice avec deux dimensions. Nous pouvons ajouter des matrices, les multiplier, les transposer et exécuter d'autres opérations sur une matrice. En utilisant des tableaux, nous pouvons construire une matrice python et l'utiliser de la même manière. Parlons de différents exemples de matrices Python.

Ajout de matrice Python

Nous prendrons les deux matrices et les ajouterons pour les itérer en utilisant une boucle imbriquée.

matrix1 = [[2, 4, 1],
[4, 1, 5],
[3, 6, 7]]
matrix2 = [[4, 2, -1],
[5, 6, -3],
[0, -4, 3]]
matrix3 = [[0,1,0],
[1,0,0],
[0,0,1]]
matrix4 = [[0,0,1],
[0,1,0],
[1,0,0]]
matrices_length = len (matrix1)
pour la ligne dans la gamme (LEN (matrix1)):
pour la colonne dans la plage (LEN (matrix2 [0])):
matrix4 [row] [colonne] = matrix1 [row] [colonne] + matrix2 [row] [colonne] + matrix3 [row] [colonne]
print ("La somme des matrices est =", matrix4)

Initialement, plutôt que d'utiliser Numpy, nous avons directement construit trois matrices ayant un ordre 3 par 3. Nous avons spécifié l'ordre ou la longueur de la matrice 1 en tant que fonction Len () et autres, respectivement. En utilisant des boucles imbriquées, d'abord, les trois matrices ont été ajoutées. Le total des trois matrices a ensuite été spécifié sous forme de matrice 4, et nous avons utilisé la fonction print () pour afficher les résultats.

Transposer une matrice en python

En échangeant les éléments des colonnes et des rangées de la matrice, nous pourrions les transposer. En utilisant différents exemples, nous montrerons comment obtenir une transposition d'une matrice à l'aide de Python sans numpy.

La transposition d'une matrice est représentée par le symbole à. Par exemple, supposons que nous ayons une matrice «A» ayant l'ordre de:

3 par 2

Ensuite, la transposition de A est:

Matrice 2 par 3

Calcul de la transposition d'une matrice à l'aide d'une boucle imbriquée

La boucle imbriquée peut être utilisée pour parcourir à plusieurs reprises à travers les colonnes et les rangées d'une liste nichée. Insérez l'élément dans la ligne «ith» et la colonne «Jth» de la matrice F le long de la ligne «Jth» et de la colonne «ith» de la matrice «f ^ t» pour obtenir la transposition de la matrice. «F ^ t» sera une matrice 2 par 3 en supposant que «F» est une matrice 3 par 2.

F = [[2, 3],
[5, 7],
[8, 1]]
F_t = [[0, 0, 0],
[0, 0, 0]]
pour Q dans la gamme (Len (F)):
pour w dans la gamme (len (f [0])):
F_t [w] [q] = f [q] [w]
pour q dans f_t:
Imprimer (Q)

Une matrice transposée de la matrice d'origine et une matrice «F» avec une commande 3 par 2 est d'abord créée. Le programme précédent utilise des boucles «pour» imbriquées, en permanence sur chaque ligne et par la suite chaque colonne. À chaque itération, nous ajoutons un élément de «f [q] [w]» dans «ft [w] [q]». Enfin, nous exécutons la méthode print () pour représenter la transposition.

Utilisation d'une compréhension de la liste imbriquée pour trouver la transposition de la matrice

Une liste imbriquée est produite lorsqu'une compréhension de la liste est effectuée à l'intérieur d'une autre compréhension de la liste. Ce qui suit est la syntaxe pour comprendre les listes imbriquées:

new_list = [[expr. pour un élément de liste] pour un élément de liste]

De même, nous pouvons obtenir une transposition d'une matrice en utilisant la compréhension de la liste imbriquée dans une approche de boucle aussi imbriquée.

J = [[1, 3],
[4, 6],
[9, 2]]
J_t = [[j [v] [c] pour v dans la plage (len (j))] pour c dans la plage (Len (j [0]))]]
pour C dans J_T:
Imprimer (c)

Nous commençons par créer Matrix «J», ayant la commande 3 par 2. La compréhension de la liste imbriquée dans le code précédant les boucles sur les membres de la matrice une fois à la fois et insère les éléments de "J [v]" quelque part à l'emplacement "J_T [V]". Les colonnes de la matrice sont itérées tout au long de la première partie de cette compréhension de la liste imbriquée, tandis que ses lignes sont répétées dans la deuxième colonne.

Multiplication de deux matrices en python

Le processus binaire de multiplication des matrices crée la matrice à l'aide de deux matrices. En utilisant des boucles imbriquées et une compréhension de la liste, nous pouvons multiplier les matrices en python.

La première colonne de la matrice et le décompte de deuxième rangée doivent correspondre pour accomplir la multiplication de la matrice. La matrice que nous avons obtenue à la fin en raison de la multiplication matricielle consistera du même ordre que la matrice d'origine. Une illustration de la multiplication matricielle est indiquée ci-dessous.

Utilisation de la liste imbriquée pour trouver la multiplication de la matrice

Une matrice peut être créée dans Python comme plus qu'une simple liste imbriquée, une sorte de liste dans une liste. Une rangée d'une matrice correspond à chaque valeur d'une liste imbriquée. Voyons une instance d'une boucle imbriquée utilisée pour multiplier deux matrices.

N = [[9, 1, 7],
[3, 5, 6],
[4, 7, 8]]
M = [[2, 3, 5, 6],
[8, 9, 1, 2],
[4, 5, 9, 3]]
résultat = [[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
pour u dans la gamme (len (n)):
pour o dans la gamme (len (m [0])):
pour P dans la gamme (len (m)):
résultat [u] [o] + = n [u] [p] * m [p] [o]
Pour D Resultation:
Imprimer (D)

Dans cet exemple, nous utiliserons des boucles imbriquées pour exécuter un programme qui multiplie deux matrices, mais avant de le faire, nous générerons deux matrices, «N» et «M», qui sont 3-by-3 et 3- BY-4 dans l'ordre, respectivement, ainsi qu'une troisième matrice qui a une commande 3 par 4. Ensuite, nous passons par un processus d'itération où nous utilisons les éléments des lignes dans «N», les colonnes dans «M» et les lignes dans «M». Nous avons appliqué la déclaration d'impression pour afficher la multiplication des matrices définies.

Utilisation de la compréhension de la liste imbriquée pour trouver la multiplication des matrices

La compréhension de la liste imbriquée est le processus de réalisation d'une compréhension de la liste dans la compréhension de la liste, ce qui entraîne une sorte de liste imbriquée

Syntaxe:

new_list = [[expr. pour un élément de liste] pour un élément de liste]

De même, avec cette même approche de boucle imbriquée, nous pouvons également effectuer la multiplication de deux matrices en utilisant facilement la méthode de compréhension de la liste imbriquée.

E = [[8, 1, 3],
[8, 7, 3],
[7, 3, 5]]
R = [[2, 3, 6, 8],
[9, 8, 5, 3],
[1, 3, 8, 9]]
résultat = [[sum (f * g pour f, g dans zip (e_row, r_col))
pour r_col dans zip (* r)] pour e_row dans e]
pour z en résultat:
Imprimer (Z)

Pour obtenir le total des produits de chaque multiplication en ligne par colonne, nous atténons les colonnes à l'intérieur de la matrice «R» et les lignes à l'intérieur de la matrice «E» dans le programme. Pour obtenir les colonnes de la matrice «R», nous utilisons la méthode zip (). Nous avons besoin des éléments de la ligne dans la matrice «E» comme deuxième composant d'une compréhension de la liste imbriquée pour calculer la somme des produits pour chaque ligne à l'intérieur de cette liste imbriquée. En fin de compte, la déclaration d'impression sera utilisée.

Conclusion

Dans ce guide, nous avons vu quelques moyens alternatifs pour calculer manuellement l'ajout de matrice, la multiplication et la transposition plutôt que Numpy. Ces approches comprennent des listes imbriquées ainsi que la compréhension des listes imbriquées. De plus, plusieurs programmes sont présentés pour montrer comment ces approches peuvent être utilisées et fonctionner différemment avec l'addition, la multiplication et la transposition d'une matrice.