1

(2 replies, posted in Naissances)

Merci! Ca fait plaisir!

En fait depuis quelques semaines on a pas mal de gens qui apportent chacun des patchs, je dirais que le vrai défi maintenant c'est de transformer ces contributeurs occasionnels en contributeurs "à fond dedans". Donc on essaye de bien documenter les parties internes, etc. On verra ce que ça donne d'ici quelques mois. Toujours pour dire que je ne pense pas qu'on va se porter candidats pour le summer of code (d'autant plus que comme on est chez KDE ça boufferait sur le quota de KDE) mais effectivement Gael va peut-être trouver des thésards pour bosser sur la partie matrices creuses, il est question d'implémenter une méthode de diagonalisation, ce qui serait génial. On verra!

2

(2 replies, posted in Naissances)

Salut,

On vient de sortir Eigen 2.0!
http://eigen.tuxfamily.org

Et juste au cas où ça intéresserait quelqu'un, on s'est fait interviewer ici:
http://www.macresearch.org/interview-ei … ix-library

Merci à toute l'équipe de Tuxfamily!

3

(4 replies, posted in Naissances)

En fait je me suis mal exprimé: Eigen est une pure librairie de templates, donc consiste uniquement en des fichiers headers (*.h). Tout le code est dans les headers, et est compilé au moment de la compilation de l'application qui spécialise le template. Ca veut en effet dire que si plusieurs applications utilisent Eigen, elles ne peuvent partager ni l'espace disque ni la mémoire. Pour cette raison on a beaucoup hésité au départ, et on était plutôt partis dans l'idée de faire une "vraie" librairie binaire partagée (.so). Finalement on s'est rendus compte que faire d'Eigen une librairie de templates (.h) était préférable pour les raisons suivantes:

1. Lorsqu'une application utilise une librairie de templates, seul le code qu'elle utilise effectivement est généré. Si une application n'utilise qu'une petite partie de Eigen, alors ça ne gonfle presque pas le fichier exécutable produit.

2. Faire des templates permet d'avoir des vecteurs et des matrices de taille fixe, ce qui veut dire zéro allocation dynamique de mémoire (très important pour les performances) et en même temps de proposer n'importe quelle taille (2,3,4,...) et n'importe quel type de base (float,double,std::complex<...>) en n'écrivant le code qu'une fois. Là encore, seul le code effectivement utilisé est compilé, c'est la beauté des templates. Bref, les applications qui utilisent Eigen obtiennent exactement le code qu'elles veulent et rien d'autre.

3. Eigen est une petite librairie. Dans la pratique, elle ne fait grossir les applications que de quelques ko, et même une application utilisant Eigen très intensivement ne grossira que de quelques dizaines de ko. Ensuite ça dépend de ce que le compilateur décide d'inliner.

4. On n'est vraiment pas les premiers à décider que ça vaut le coup de faire des templates, ça marche très bien pour la libstdc++ et pour Qt. Ces librairies ont des .so à côté car elles ont aussi du code non-templaté, mais Eigen ne contient que des templates.

Voilà, j'espère que c'est plus clair :)

Donc je pense qu'il n'y a qu'un package libeigen-devel à faire, pas de package libeigen (en d'autre termes, eigen n'est utilisée qu'au moment de la compilation).

4

(4 replies, posted in Naissances)

Salut baud123 :) J'ai utilisé pendant longtemps ton pilote eagle-USB :)

C'est vrai que j'aimerais bien qu'Eigen soit packagé indépendamment de KDE4, pour que d'autres projets puissent facilement l'utiliser. Il n'existe encore aucun package. Ca devrait être facile à packager puisqu'il n'y a rien à compiler, c'est juste copier src/*.h vers un répertoire genre $INCLUDEDIR/eigen/

Pour les autres logiciels scientifiques: Kalzium utilisera aussi OpenBabel, j'ai vu qu'il existait des packages mdv2007 mais je ne sais pas s'ils sont dans les dépôts officiels. Bien sûr on sait qu'OpenBabel est une grosse dépendance et est rarement installé, donc on isole la fonctionnalité en question ( visualiseur de molécules en 3D, voir http://bjacob.livejournal.com/1762.html ) de sorte que Kalzium pourra tourner sans, et que l'utilisateur pourra installer OpenBabel au dernier moment.

5

(4 replies, posted in Naissances)

Bonjour à tout le monde,

je viens de sortir la version 1.0 de Eigen,

http://eigen.tuxfamily.org

C'est une librairie de templates C++ d'algèbre linéaire (vecteurs, matrices, ...) qu'on a lancé avec quelques autres devs de KDE lorsqu'on s'est rendus compte qu'on avait besoin de ce genre de maths et que les librairies qui proposaient ça étaient très lourdes et difficiles d'emploi car elles se concentraient sur les gros calculs scientifiques (genre avec des matrices 1000x1000) alors qu'on n'avait besoin que de choses toutes simples en comparaison.

On s'est dit que ça valait le coup de faire en sorte qu'Eigen n'ait aucune dépendence, ni en KDElibs ni en Qt, de sorte que tout le monde peut l'utiliser, ça pourrait pourquoi pas renforcer les liens entre KDE et d'autres projets (c'est toujours bien de partager une librairie).

Eigen a pour but de rendre la vie facile aux programmeurs de logiciels libres, et est optimisée pour GCC (mais devrait marcher avec n'importe quel compilo) alors que d'autres librairies d'algèbre linéaire n'optimisent pas pour GCC et disent d'utiliser le compilo Intel à la place.

Les applications cibles d'Eigen sont typiquement les applications OpenGL (http://bjacob.livejournal.com/2055.html) et les jeux, les applications bureautiques comme par exemple les tableurs, etc.

Pour le moment au moins une application populaire utilise Eigen: Kalzium, à partir de la version qui sortira dans KDE4.

Voilà, et meilleurs voeux à tous,
Benoît

Hi,

2 bug reports in one thread:

1. I have noticed that the stats for my website, eigen.tuxfamily.org, have been reset on December 1. I'd much rather have moving averages (average over the past 30 days) and all-time stats (graphs showing data since the beginning of the project).

2. The archives for my mailing-list, eigen@lists.tuxfamily.org, show only the messages posted in December. I can't see the November messages. Yes I understand that this is supposed to be in a separate directory 11/, but this directory doesn't exist. That is strange because other projects don't seem to have this problem.

May I also suggest: please sort the messages by thread instead of by day and inside that by thread.

That being said: TuxFamily is great, I'm certainly recommending it to my fellow hackers. Thanks, and keep it up!

Benoit