Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/07/2008, à 22:30

will4linux

[RESOLU] Installer librairie algèbre linéaire (prog en C)

Bonsoir amis programmeurs !

il me faut utiliser dans un programme (en C) une librairie d'algèbre linéaire optimisée... On m'a conseillé Linbox, bien que ce soit une lib C++ et pour compiler les sources de cette lib, il me faut les librairies GMP (ok elle marche cool ) et aussi ATLAS...

Et là c'est le drame roll : j'ai fait un tour dans synaptic et il y a une bonne dizaine de paquets ATLAS pour divers usages (statique, etc...) et ils sont de deux sortes : atlas3-* et libatlas* donc je ne sais pas lequel installer... hmm

mad De plus ATLAS semble être une implémentation de BLAS, pour lequel il existe aussi des paquets, mais qui ne sont pas requis à l'install de ATLAS...

BREF je suis complètement paumé lol lol lol lol

Si quelqu'un a déjà eu l'occasion d'installer cette librairie, je lui serais (TRES !!!) reconnaissant de bien vouloir m'éclairer wink parce que là je craque !!

Merci d'avance

Dernière modification par will4linux (Le 03/08/2008, à 10:58)

Hors ligne

#2 Le 03/08/2008, à 09:36

will4linux

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Up

Hors ligne

#3 Le 03/08/2008, à 10:40

robrob

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Si il te faut une bibliothèque pour compiler, le nom du paquet va commencer par "lib".
Ensuite si tu veux compiler, il te faut le paquet de dev, donc le nom du paquet va finir par "dev".

Avec ces 2 infos tu devrais trouver le bon paquet :wink:

Hors ligne

#4 Le 03/08/2008, à 10:51

robrob

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Bon j'ai testé la compilation de linbox:

le premier ./configure abouti cette erreur:

checking for GMP >= 3.1.1... *******************************************************************************
ERROR: GMP not found!

un "apt-cache search GMP" (tu peux aussi utiliser synaptics) m'indique l'existence d'un paquet libgmp3-dev que j'installe.
Ensuite il butte sur :

checking for others BLAS... problem
Sorry, your BLAS are not working. Disabling.

Comme précédement, j'ai alors installé refblas3-dev (il n'y avait pas de paquet "lib_quelque_chose").

Après ces 2 ajouts, le ./configure passe correctement, le make aussi, c'est gagné big_smile
Alors, c'est pas si compliqué que ça wink

Dernière modification par robrob (Le 03/08/2008, à 10:52)

Hors ligne

#5 Le 03/08/2008, à 10:57

will4linux

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

robrob a écrit :

J'ai alors installé refblas3-dev (il n'y avait pas de paquet "lib_quelque_chose")

C'est justement ça qui me perturbait... Merci encore de ton aide ! Je vais de ce pas marquer ce topic comme résolu !

Dernière modification par will4linux (Le 03/08/2008, à 10:57)

Hors ligne

#6 Le 03/08/2008, à 11:07

robrob

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Sinon la doc indique la possibilité de faire un make check.

J'ai testé et j'ai eu 1 échec (sur 43 tests), à voir si ça vient d'un problème de paquet. Je suis par exemple étonné que l'installation de refblas3 nécessite gcc3.4 (alors que le reste utilise gcc4.1).

[...]
FAIL: test-charpoly
[...]
============================================
1 of 43 tests failed
Please report to linbox-use@googlegroups.com
============================================

Dernière modification par robrob (Le 03/08/2008, à 11:08)

Hors ligne

#7 Le 03/08/2008, à 11:18

will4linux

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

OK ! tiens-moi au courant si tu trouves quelque chose !

Je testerai moi-même l'installation dès cet après-midi (là je vais devoir aller manger ^^)

Merci encore de ton aide !

Hors ligne

#8 Le 08/08/2008, à 10:52

will4linux

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Désolé pour le temps de réponse mais j'ai eu quelques petits soucis avec ma connexion...

Même erreur que toi en installant refblas3-dev... Je vais peut-être essayer de compiler ATLAS depuis des sources plus récentes hmm

En tout cas merci de ton aide !

Dernière modification par will4linux (Le 08/08/2008, à 10:52)

Hors ligne

#9 Le 13/10/2008, à 15:08

guendalf

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

Bonjour,

Je suis aussi entrain d'essayer d'installer LinBox et j'ai aussi une erreur au moment du make check :

g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../linbox       -g -DLinBoxSrcOnly -Wall   -c -o test-diagonal.o test-diagonal.C
/usr/local/include/givaro/givpoly1cstor.inl: In member function 'XXX& Poly1Dom<Domain, Dense>::convert(XXX&, const givvector<typename Domain::Element, std::allocator<typename _Field::Element> >&) const [with XXX = unsigned int, Domain = LinBox::GivaroField<LinBox::Modular<unsigned int> >]':
/usr/local/include/givaro/givextension.h:102:   instantiated from 'XXX& Extension<BFT>::convert(XXX&, const typename Poly1FactorDom<BFT, Dense, GivRandom>::Element&) const [with XXX = unsigned int, BFT = LinBox::GivaroField<LinBox::Modular<unsigned int> >]'
../linbox/field/givaro-extension.h:269:   instantiated from 'typename BaseField::Element& LinBox::Hom<BaseField, LinBox::GivaroExtension<BaseField> >::preimage(typename BaseField::Element&, const typename LinBox::GivaroExtension<BaseField>::Element&) const [with BaseField = LinBox::Modular<unsigned int>]'
../linbox/field/map.h:61:   instantiated from 'ContainerSourceElement& LinBox::PreMap<Source, Target>::operator()(ContainerSourceElement&, ContainerTargetElement) [with ContainerSourceElement = std::vector<unsigned int, std::allocator<unsigned int> >, ContainerTargetElement = std::vector<givvector<unsigned int, std::allocator<unsigned int> >, std::allocator<givvector<unsigned int, std::allocator<unsigned int> > > >, Source = LinBox::Modular<unsigned int>, Target = LinBox::GivaroExtension<LinBox::Modular<unsigned int> >]'
../linbox/algorithms/wiedemann.h:152:   instantiated from 'Polynomial& LinBox::minpoly(Polynomial&, const Blackbox&, const LinBox::RingCategories::ModularTag&, const LinBox::WiedemannExtensionTraits&) [with Polynomial = std::vector<unsigned int, std::allocator<unsigned int> >, Blackbox = LinBox::Diagonal<LinBox::Modular<unsigned int>, LinBox::VectorCategories::DenseVectorTag>]'
../linbox/solutions/minpoly.h:173:   instantiated from 'Polynomial& LinBox::minpoly(Polynomial&, const Blackbox&, const LinBox::RingCategories::ModularTag&, const LinBox::BlackboxSpecifier&) [with Polynomial = std::vector<unsigned int, std::allocator<unsigned int> >, Blackbox = LinBox::Diagonal<LinBox::Modular<unsigned int>, LinBox::VectorCategories::DenseVectorTag>]'
../linbox/solutions/minpoly.h:100:   instantiated from 'Polynomial& LinBox::minpoly(Polynomial&, const Blackbox&, const LinBox::RingCategories::ModularTag&, const LinBox::HybridSpecifier&) [with Polynomial = std::vector<unsigned int, std::allocator<unsigned int> >, Blackbox = LinBox::Diagonal<LinBox::Modular<unsigned int>, LinBox::VectorCategories::DenseVectorTag>]'
../linbox/solutions/minpoly.h:80:   instantiated from 'Polynomial& LinBox::minpoly(Polynomial&, const Blackbox&, const MyMethod&) [with Blackbox = LinBox::Diagonal<LinBox::Modular<unsigned int>, LinBox::VectorCategories::DenseVectorTag>, Polynomial = std::vector<unsigned int, std::allocator<unsigned int> >, MyMethod = LinBox::HybridSpecifier]'
../linbox/solutions/minpoly.h:87:   instantiated from 'Polynomial& LinBox::minpoly(Polynomial&, const Blackbox&) [with Polynomial = std::vector<unsigned int, std::allocator<unsigned int> >, Blackbox = LinBox::Diagonal<LinBox::Modular<unsigned int>, LinBox::VectorCategories::DenseVectorTag>]'
test-diagonal.C:161:   instantiated from 'bool testRandomMinpoly(Field&, LinBox::VectorStream<_Vector>&) [with Field = main(int, char**)::Field, Vector = std::vector<unsigned int, std::allocator<unsigned int> >]'
test-diagonal.C:311:   instantiated from here
/usr/local/include/givaro/givpoly1cstor.inl:79: error: no matching function for call to 'LinBox::GivaroField<LinBox::Modular<unsigned int> >::convert(unsigned int&, const unsigned int&) const'
../linbox/field/modular.h:117: note: candidates are: LinBox::integer& LinBox::ModularBase<_Element>::convert(LinBox::integer&, const _Element&) const [with _Element = unsigned int]
../linbox/field/modular.h:120: note:                 double& LinBox::ModularBase<_Element>::convert(double&, const _Element&) const [with _Element = unsigned int]
../linbox/field/modular.h:123: note:                 float& LinBox::ModularBase<_Element>::convert(float&, const _Element&) const [with _Element = unsigned int]
/usr/local/include/givaro/givpoly1cstor.inl:81: error: no matching function for call to 'LinBox::GivaroField<LinBox::Modular<unsigned int> >::convert(unsigned int&, long unsigned int) const'
../linbox/field/modular.h:117: note: candidates are: LinBox::integer& LinBox::ModularBase<_Element>::convert(LinBox::integer&, const _Element&) const [with _Element = unsigned int]
../linbox/field/modular.h:120: note:                 double& LinBox::ModularBase<_Element>::convert(double&, const _Element&) const [with _Element = unsigned int]
../linbox/field/modular.h:123: note:                 float& LinBox::ModularBase<_Element>::convert(float&, const _Element&) const [with _Element = unsigned int]
make[3]: *** [test-diagonal.o] Error 1

J'ai pourtant installé la dernière version de givaro : la 3.2.12
Et j'essaye d'installer la version 1.1.6 de LinBox. Est-ce que quelqu'un a réussi à installer la dernière version de LinBox avec cette version (ou une version plus ancienne) de givaro ?

Hors ligne

#10 Le 13/10/2008, à 18:13

morphoneo69

Re : [RESOLU] Installer librairie algèbre linéaire (prog en C)

T'as pari/gp si tu veux, ca fournit une librairie C (pari) et aussi un programme GP. Voila je sias pas si ça te conviendrai.
http://pari.math.u-bordeaux.fr/

Dernière modification par morphoneo69 (Le 13/10/2008, à 18:16)

Hors ligne