Qu'est-ce que les données clairsemées?
Avant de passer à expliquer comment utiliser la fonction des matrices clairsemées dans un programme Python, comprenons quelles sont les données clairsemées. Il est préférable de comprendre les bases avant de passer à la fonction réelle. Les données clairsemées sont une sorte de données qui sont principalement composées d'éléments inutiles. Les éléments inutiles signifient des données qui ne transportent aucune information. En termes simples, un tableau de données clairsemé contiendra principalement des zéros. Les matrices clairsemées sont très courantes pour prendre des dérivés dans l'algèbre linéaire tout en travaillant avec une programmation scientifique.
Quelles sont les matrices clairsemées Scipy?
La bibliothèque Scipy du langage de programmation Python fournit un package clairsemé qui est utilisé pour gérer les données clairsemées. Le package clairsemé propose deux méthodes à utiliser avec des matrices et ce sont CSC et CSR. Le CSC signifie une colonne clairsemée comprimée qui tranche les colonnes des matrices. D'un autre côté, la méthode CSR représente la ligne clairsemée compressée qui tranche les lignes des matrices et calcule rapidement le produit vectoriel matriciel. Comprenons le fonctionnement des deux méthodes à travers des exemples.
Exemple 1:
Commençons par un exemple simple pour comprendre les matrices clairsemées et les méthodes de matrices CSR et CSC de la fonction des matrices clairsemées fournies par la bibliothèque SCIPY. Ici, nous fournissons un exemple très simple, juste pour vous montrer comment Scipy fonctionne pour les matrices clairsemées. Les matrices clairsemées sont très fortes par rapport aux matrices normales car elles prennent moins de temps de calcul et prennent également moins de mémoire car elles n'ont qu'à stocker quelques éléments non nuls. Dans cet exemple, nous utiliserons la fonction CSR avec le tableau Numpy. Voir le code spécifié dans l'extrait en dessous:
Avant tout, la bibliothèque Numpy est introduite dans le programme en tant que NP puis le Scipy.Le package clairsemé est inclus pour importer la fonction CSR_MATRIX dans le programme. Un tableau de 9 éléments ne contenant que 3 éléments non nuls est déclaré et transmis à la fonction CSR_MATRIX. Le résultat est affiché sur le terminal à l'aide de la commande print (). Voir le résultat calculé par le scr_matrix ci-dessous:
Comme nous avions 3 éléments non nuls à 0, 1 et 7 positions, le CSR_MATRIX a renvoyé la position (x, y) des éléments non nuls dans le tableau avec les éléments non nuls eux-mêmes. C'est ainsi que la méthode CSR_MATRIX du SCIPY.Un package clairsemé fonctionne.
Exemple 2:
Auparavant, nous avons vu un exemple de base de la méthode CSR_MATRIC. Codez quelque chose de complexe afin que nous puissions mieux comprendre la fonction. Dans cet exemple, nous expliquons à nouveau la méthode CSR_MATRIC mais avec un exemple un peu plus complexe par rapport à la précédente. Voir le code donné dans l'extrait ci-dessous:
Encore une fois, nous avons d'abord importé la bibliothèque Numpy en tant que NP dans le programme et le SCIPY.Le package clairsemé est utilisé pour importer le CSR_MATRIX. Deux tableaux sont déclarés pour la ligne et la colonne et un autre tableau de données est déclaré pour créer la matrice. Pour la partie de données du CSR_MATRIX, les données, la ligne et le tableau Col sont passés. Pour la partie de type de données de la matrice CSR_, la valeur (3, 3) a été fournie. En utilisant la commande d'impression, le résultat a été affiché sur le terminal. Voir la sortie calculée par la fonction CSR_MATRIX ci-dessous:
Exemple 3:
Jusqu'à présent, nous avons exploré et essayé de comprendre les fonctions CSR_MATRIX pour les matrices clairsemées. Ici, nous expliquerons la fonction CSC_MATRIX pour les matrices clairsemées. Nous utiliserons la même ligne de codes que nous l'avons fait dans l'exemple précédent juste pour vous montrer la différence claire dans le fonctionnement de CSC_MATRIX et CSR_MATRIX. Voyons comment fonctionne le CSC_Matrix lorsqu'il est appliqué au tableau utilisé dans le premier exemple:
Comme vous pouvez l'observer, toutes les lignes de code sont les mêmes, ainsi que les données, seule la fonction CSR_MATRIC est remplacée par la fonction CSC_MATRIX. Maintenant, voyons le résultat de la fonction donnée dans la capture d'écran ci-dessous:
Comme vous pouvez le voir, nous avons obtenu le même résultat ici que nous l'avons fait dans le premier exemple. Le CSC_MATRIX a également renvoyé la position de toutes les valeurs non nulles sous la forme d'une combinaison (x, y). Le tableau a 1, 2, 2 à 0, 1 et 7 positions, et qui est renvoyé par la fonction CSC_MATRIX.
Exemple 4:
Maintenant, reproduisons le deuxième exemple et remplacez la fonction CSR_MATRIX par CSC_MATRIX.
Comme vous pouvez clairement noter que le code est exactement le même que celui utilisé dans l'exemple précédent, le seul changement ici est la fonction CSR_MATRIX remplacée par la fonction CSC_MATRIX. Maintenant, voyons si le résultat a changé ou non. La sortie est donnée dans la capture d'écran ci-dessous, jetez un œil:
Comme le montre la sortie, le résultat est le même pour CSR_MATRIX et CSC_MATRIX.
Conclusion
Cet article est un aperçu rapide des matrices clairsemées Scipy. Nous avons exploré que les données clairsemées sont une sorte de données qui ont principalement des zéros ou des données inutilisées. Les données inutilisées sont quelque chose qui ne transmet aucune information significative. Les matrices clairsemées Scipy dans Python sont les plus utilisées dans la programmation scientifique. Les matrices clairsemées de la bibliothèque Scipy offrent deux méthodes, CSR_MATRIX et CSC_MATRIX. La fonction CSR_MATRIX est utilisée pour le découpage des lignes et la fonction CSC_MATRIX est utilisée pour le découpage de la colonne d'une matrice. Les exemples donnés peuvent être utilisés pour comprendre comment fonctionnent les fonctions CSR_MATRIX et CSC_MATRIX dans un programme Python.