IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Quelle librairie c++ pour calcul matriciel ?


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Quelle librairie c++ pour calcul matriciel ?
    Bonjour à tous,

    Je suis un petit nouveau dans le monde de la programmation et en mçeme temps sur ce site .
    Je dois prochainement créer un algo qui fera principalement du calcul matriciel. Plus précisemment je dois faire des produits, somme, inversion, transposée de matrices de petites dimension (entre 3 et 10) mais cela un grand nombre de fois (entre 100 et 10000 fois) et tout cela dans une seule itération ; donc on peut encore multiplier le tout par 10 ou 20 ! Ce sont des matrices qui peuvent avoir des structures particulières (diagonale, triangulaire ou des blocs ..). l'idéal serait que les opérations prennent en compte ces infos pour optimiser. J'imagine que ça existe ..
    Ma question est quelle bibliothèque dois-je utiliser pour cela ?
    J'ai entendu parler de boost, GSL, ATLAS ...
    Etant un petit nouveau, je recherche bien évidemment la plus performante et la plus simple d'utilisation en même temps !!

    Merci d'avance,

    Jean.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut !

    Il y en a beaucoup ! Il y a Eigen qui est pas mal, et d'autres libs sont citées sur leur benchmark. UBLAS est le nom de la librairie Boost qui fait ça.
    Find me on github

  3. #3
    Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci à toi.
    Donc tu pense que eigen3 est préférable aux autres ? (plus rapide)

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Je ne peux pas être catégorique, mais Eigen me paraît bien car:
    - Gratuite et open source (c'est aussi le cas de uBLAS)
    - Simple d'utilisation (un peu plus que uBLAS, dont les messages d'erreur à la compilation sont imbitables avec l'orgie de templates que ça contient).

    Du reste, tu peux faire des tests sur quelques uns de tes algos avec plusieurs librairies et voir si ça te convient ! Est ce que tu fais du traitement d'image où est ce que c'est autre chose ?
    Find me on github

  5. #5
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Il y a aussi NT² : http://nt2.sourceforge.net/

    Pour les performences je ne sais pas, à part boost je n'ai pas utilisé autre chose pour l'algèbre linéaire. Mais si Joel voit ce thread il devrait pouvoir donner un avis, au moins sur NT² (il fait partie du projet).

    NB: Eigen semble plus récent que NT² ou boost::ublas

  6. #6
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    le nt2 sourceforge est antediluvien, la nouvelle mouture prend forme sur github. et nt2 predate en effet eigen (nt2 2003 par la).

    Niveau perf c'est kifkif eigen.

  7. #7
    Candidat au Club
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Est ce que tu fais du traitement d'image où est ce que c'est autre chose ?
    Non je fais des statistiques. J'ai un problème d'optimisation qui se ramène à un problème d'algèbre linéaire.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Armadillo : http://arma.sourceforge.net/

    Couplage avec Lapack ou MKL
    Syntaxe de type matlab

    Principal défaut : pas de matrice creuse

Discussions similaires

  1. Quelles librairies utiliser pour construire une belle IHM ?
    Par banban56 dans le forum Interfaces Graphiques en Java
    Réponses: 59
    Dernier message: 04/12/2009, 14h06
  2. [Débutant] Remplacement boucle for pour calcul matriciel
    Par LoicS dans le forum MATLAB
    Réponses: 3
    Dernier message: 26/03/2009, 19h26
  3. Quelle librairie adopter pour faire un jeu par navigateur ?
    Par Meardon dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 22/10/2008, 17h39
  4. Réponses: 5
    Dernier message: 02/04/2008, 13h42
  5. Réponses: 2
    Dernier message: 10/11/2006, 08h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo