Lidy est une bibliothèque permettant de gérer les matrices creuses. Par définition, les matrices sont des tableaux bi-dimensionnels contenant généralement beaucoup de valeurs de nulles. Lors de la plupart des opérations matricielles, ces valeurs deviennent inutiles. Le rôle des matrices creuses est donc de supprimer cette information afin d'économiser de la place lors de leur transfert en mémoire et de diminuer le temps d'exécution des opérations matricielles.
Pour stocker ces matrices creuses, il est nécessaire de choisir une structure de données particulièrement bien adaptée. L'inconvénient majeur est l'accroissement du temps d'exécution des opérations matricielles dès que les matrices deviennent pleines.
Cette bibliothèque permet de réaliser plusieurs opérations :
- Addition matricielle
- Soustraction matricielle
- Multiplication matricielle
- Multiplication d'une matrice par un scalaire
- Division d'une matrice par un scalaire
- Calcul de transposée
En outre, il est possible de charger et de sauvegarder une matrice creuse à l'aide d'un fichier au format XML en dédiant le parsing à la bibliothèque libxml2. Ce format a été choisi car il présente l'avantage d'être libre de droits et d'organiser proprement les données. Quant à libxml2, elle a été préférée pour être gratuite et multi-plateformes.
De plus, il est possible d'utiliser la bibliothèque dans un projet C / C++ et de modifier le type des données contenues dans les matrices (double par défaut).
Enfin, il est à noter que la bibliothèque a été développée avec gcc-4.1.0 sous une Fedora Core 5 avec libxml2-2.6.26. Il existe deux versions de la bibliothèque :
- Lidy uniquement
- Lidy + libxml2-2.6.26
Je ne déposerai ici que la première version pour ne pas surcharger les serveurs de cppfrance ^^
Conclusion :
Vous trouverez la dernière version de la bibliothèque sur mon site Internet (
http://test.nicolas.lerme.free.fr) ainsi que deux rapports expliquant le fonctionnement des algorithmes utilisés. En ce qui concerne la documentation, elle peut être générée à l'aide de doxygen.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.