begin process at 2012 02 13 13:43:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > LIDY - BIBLIOTHÈQUE DE GESTION DE MATRICES CREUSES

LIDY - BIBLIOTHÈQUE DE GESTION DE MATRICES CREUSES


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :matrices, creuses, matriciel, opération, calcul Niveau :Expert Date de création :19/07/2006 Vu / téléchargé :7 626 / 475

Auteur : nicolas66

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Lidy-1.1.0
    •   arch
      • MakefileTélécharger ce fichier [Réservé aux membres club]1 305 octets
    •   bin
      • colorTélécharger ce fichier [Réservé aux membres club]11 013 octets
    •   core
    •   doc
      • html
      • latex
      • doc.doxygenTélécharger ce fichier [Réservé aux membres club]5 656 octets
      • MakefileTélécharger ce fichier [Réservé aux membres club]1 240 octets
    •   examples
      •   example1
      •   example2
        • example2.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 375 octets
        • MakefileTélécharger ce fichier [Réservé aux membres club]2 089 octets
        • Makefile.dependTélécharger ce fichier [Réservé aux membres club]277 octets
      •   example3
        • example3.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 807 octets
        • MakefileTélécharger ce fichier [Réservé aux membres club]2 089 octets
        • Makefile.dependTélécharger ce fichier [Réservé aux membres club]277 octets
      •   example4
        • example4.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 380 octets
        • MakefileTélécharger ce fichier [Réservé aux membres club]2 089 octets
        • Makefile.dependTélécharger ce fichier [Réservé aux membres club]277 octets
      •   example5
        • example5.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 084 octets
        • MakefileTélécharger ce fichier [Réservé aux membres club]2 089 octets
        • Makefile.dependTélécharger ce fichier [Réservé aux membres club]277 octets
      •   example6
        • example6.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 112 octets
        • MakefileTélécharger ce fichier [Réservé aux membres club]2 089 octets
        • Makefile.dependTélécharger ce fichier [Réservé aux membres club]277 octets
      •   example7
      • MakefileTélécharger ce fichier [Réservé aux membres club]876 octets
    • lib
    • obj
    • AUTHORSTélécharger ce fichier [Réservé aux membres club]69 octets
    • COPYINGTélécharger ce fichier [Réservé aux membres club]24 382 octets
    • INSTALLTélécharger ce fichier [Réservé aux membres club]1 026 octets
    • MakefileTélécharger ce fichier [Réservé aux membres club]2 035 octets
    • Makefile.commonTélécharger ce fichier [Réservé aux membres club]793 octets
    • READMETélécharger ce fichier [Réservé aux membres club]1 047 octets
    • TODOTélécharger ce fichier [Réservé aux membres club]270 octets

Télécharger le zip


 Sources du même auteur

LISTES DOUBLEMENT CHAÎNÉES

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BOITE A OUTILS MATHÉMATIQUES POUR L'ALGÈBRE LINÉAIRE ET L'... par BOLLOTD
Source avec une capture CONVERTISSEUR par smartties
Source avec une capture CALCUL DE VARIANCE par Minilogus
Source avec une capture CALCUL D'INCERTITUDE par Minilogus
Source avec Zip PARSEUR GÉNÉRAL par mehdicherti

Commentaires et avis

Commentaire de vinc1008881 le 21/07/2006 12:28:33

Vraiment bien, bonne documentation, compilation facile grace aux makefile, des exemples fournit en plus c'est sous liscence GNU/GPL si j'ai bien vu.


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

Le calcul de déterminants aurait aussi été le bien-venue (méthode du pivot de GAUSS), ainsi que le calcul d'inverse de matrice. Tant qu'on y ai la résolution d'un systeme linaire affine de n equation à p inconnus serait bien aussi, de toute facon toute est lié en algebre linaire et avec une simple fonction on peut faire plusieur chose en même temps
deterniant ---> résolution d'un systeme par CRAMER ----> calcul facile d'un inverse + calcul du noyau ----> theoreme du rang....
Tu devrais aussi rajouter

Commentaire de nicolas66 le 21/07/2006 15:24:14

Disons que je n'ai pas rajouté le calcul du déterminant car ce n'était pas demandé dans le sujet de mon projet. De plus, même sans avoir réfléchi sur l'algorithme, je pense que ca doit être très compliqué à mettre en oeuvre sur des matrices creuses (mais pas impossible :p).

Petite rectification : la bibliothèque est sous license LGPL et non sous license GPL.

Commentaire de Master_pinguin le 25/07/2006 21:37:39

"Tant qu'on y ai la résolution d'un systeme linaire affine de n equation à p inconnus serait bien aussi,"

Tout a fait d'accord, une methode de résolution de systèmes linéaires serait tout fait bienvenue... (methode du gradient par ex. ?)

ça permettrait de pouvoir utiliser ton code tel quel pour des calculs elements finis :P

Le seul endroit de ma jeune vie ou j'ai vu des matrices creuses, c'était dans des codes pour des simulation par elements finits... Et le but du jeu est justement, à la fin, d'inverser une grosse matrice remplie à environs 0.2%...

ps: sinon j'ai pas encore eu le temps de fouiller ton code (je poste juste "à chaud" au vu de la remarque deja postée)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Une classe d'algèbre (calcul matriciel) performante ? [ par Sylphe67 ] Bonjour à tous,En une phrase, je recherche une classe template permettant d'effectuer du calcul matriciel performant sur des matrices carrées de taill Calcul d'une opération en millisecondes [ par Thanatos ] Bonjour,Comment peut-on estimer le temps d'un calcul en millisecondes sous Borland C++ ?Je fais un programme qui compare les différents tris et j'aime Inverser une matrice avec plusieurs processus [ par JinaJumbo ] Bonjour,Pour un projet, je dois écrire un programme en C sous Linux qui permet d'inverser une matrice partitionnée, ie décomposer ma matrice en plusie Recherche Codes sources de calcul matriciel et de statistiques [ par bizrap ] Bonjour a tous.Je suis pour le moment en train de developper une application en Econometrie et un pricer d options en Finance. (je sais, ce n est pas Librarie dédier au calcul matriciel [ par Stiko ] slt,est ce que connaissez des libaraire dédier au calcul matriciels de grandes tailles et qui fonctionnent avec VC 2003?? Librairy calcul matriciel [ par hitcher ] Bonjour,je doit travailler avec des matrices qui soit capable de faire des régressions linéaires (X/Y  ou (X'X)^-1 X'Y pour les puristes) mais pas seu cross correlation entre deux images/calcul de deplacement [ par williamcplusplus ] Slt tout le monde!Je cherche le code de calcul de cross correlation entre deux images par la méthode directe (sans utiliser  FFT).Thankswillic++ créer une ferme de rendue (calcul partager) [ par volkukan ] salut!jaimerais savoir si c difficile de connecté plusieur pc et de crée un programme qui distriburait des  calculs à chaque ordinateur pour enfin réc calcul designature crc32 des fichiers [ par keila ] Bonjour à tous!!! Aidez moi à résoudre mon problème.Il m'a été demandé de mettre en place une application qui tournera sous windows et linux, qui devr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,477 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales