math

Logiciels (logiciels libres en majorité) ou ressources (liées aux logiciels) utiles aux chercheurs et enseignants en Maths
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 26/11/12
  • Correction mineure : 04/09/13
Mots-clés

IntegerVectorsModPermutationGroup : énumeration modulo l'action d'un groupe de permutation

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Licence(s) : GPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Nicolas Borie
  • Contact concepteur(s) : nicolas.borie@univ-mlv.fr
  • Laboratoire(s), service(s)... : Labo Maths Orsay

 

Fonctionnalités générales du logiciel

IntegerVectorsModPermutationGroup est un moteur d’énumération des vecteurs d'entiers modulo l'action d'un groupe de permutations.

Soit n un entier positif et G un groupe de permutations, sous groupe du groupe symétrique d'ordre n. Le module Sage IntegerVectorsModPermutationGroup permet l'énumération des tuples de longueur n modulo l'action de G sur les entrées de ces vecteurs. Ce problème généralise l'énumération des graphes non étiquetés à un isomorphisme près. On peut raffiner l'énumération de ces vecteurs d'entiers en imposant des contraintes telles que la somme des entrées ou la taille des entrées dans ces vecteurs.

Ce module est complètement intégré au logiciel Sage depuis sa version 4.7.

Exemple

Voici un exemple pour le groupe cyclique d'ordre 4.

sage: G = PermutationGroup([[(1,2,3,4)]]); G
Permutation Group with generators [(1,2,3,4)]
sage: G.cardinality()
4
sage: S = IntegerVectorsModPermutationGroup(G); S
Integer vectors of length 4 enumerated up to the action of Permutation Group with generators [(1,2,3,4)]
sage: S.cardinality()
+Infinity
sage: it = iter(S)
sage: for i in range(25): v = it.next(); print v, " : ", S.orbit(v)
....:
[0, 0, 0, 0]  :  set([[0, 0, 0, 0]])
[1, 0, 0, 0]  :  set([[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]])
[2, 0, 0, 0]  :  set([[2, 0, 0, 0], [0, 0, 2, 0], [0, 0, 0, 2], [0, 2, 0, 0]])
[1, 1, 0, 0]  :  set([[1, 0, 0, 1], [0, 0, 1, 1], [1, 1, 0, 0], [0, 1, 1, 0]])
[1, 0, 1, 0]  :  set([[0, 1, 0, 1], [1, 0, 1, 0]])
[3, 0, 0, 0]  :  set([[0, 0, 3, 0], [0, 3, 0, 0], [3, 0, 0, 0], [0, 0, 0, 3]])
[2, 1, 0, 0]  :  set([[0, 2, 1, 0], [0, 0, 2, 1], [1, 0, 0, 2], [2, 1, 0, 0]])
[2, 0, 1, 0]  :  set([[0, 1, 0, 2], [0, 2, 0, 1], [1, 0, 2, 0], [2, 0, 1, 0]])
[2, 0, 0, 1]  :  set([[2, 0, 0, 1], [0, 1, 2, 0], [1, 2, 0, 0], [0, 0, 1, 2]])
[1, 1, 1, 0]  :  set([[1, 1, 1, 0], [1, 1, 0, 1], [1, 0, 1, 1], [0, 1, 1, 1]])
[4, 0, 0, 0]  :  set([[4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 4]])
[3, 1, 0, 0]  :  set([[0, 0, 3, 1], [1, 0, 0, 3], [0, 3, 1, 0], [3, 1, 0, 0]])
[3, 0, 1, 0]  :  set([[0, 3, 0, 1], [0, 1, 0, 3], [3, 0, 1, 0], [1, 0, 3, 0]])
[3, 0, 0, 1]  :  set([[0, 0, 1, 3], [3, 0, 0, 1], [0, 1, 3, 0], [1, 3, 0, 0]])
[2, 2, 0, 0]  :  set([[0, 2, 2, 0], [2, 2, 0, 0], [2, 0, 0, 2], [0, 0, 2, 2]])
[2, 1, 1, 0]  :  set([[2, 1, 1, 0], [1, 0, 2, 1], [1, 1, 0, 2], [0, 2, 1, 1]])
[2, 1, 0, 1]  :  set([[0, 1, 2, 1], [1, 0, 1, 2], [2, 1, 0, 1], [1, 2, 1, 0]])
[2, 0, 2, 0]  :  set([[2, 0, 2, 0], [0, 2, 0, 2]])
[2, 0, 1, 1]  :  set([[1, 2, 0, 1], [2, 0, 1, 1], [0, 1, 1, 2], [1, 1, 2, 0]])
[1, 1, 1, 1]  :  set([[1, 1, 1, 1]])
[5, 0, 0, 0]  :  set([[0, 0, 0, 5], [5, 0, 0, 0], [0, 5, 0, 0], [0, 0, 5, 0]])
[4, 1, 0, 0]  :  set([[0, 0, 4, 1], [1, 0, 0, 4], [0, 4, 1, 0], [4, 1, 0, 0]])
[4, 0, 1, 0]  :  set([[0, 4, 0, 1], [1, 0, 4, 0], [0, 1, 0, 4], [4, 0, 1, 0]])
[4, 0, 0, 1]  :  set([[4, 0, 0, 1], [1, 4, 0, 0], [0, 0, 1, 4], [0, 1, 4, 0]])
[3, 2, 0, 0]  :  set([[3, 2, 0, 0], [0, 0, 3, 2], [2, 0, 0, 3], [0, 3, 2, 0]])

Contexte d’utilisation du logiciel

Le développement de ce moteur d'énumération a été nécessaire lors de la thèse de doctorat en théorie effective des invariants de N. Borie, l'auteur du logiciel. Il trouve des applications dans les domaines suivants :

  • Théorie algébrique des invariants,
  • Théorie de Galois effective,
  • Théorie des espèces de structures.
Publications liées au logiciel

JeBiF : Jeunes Bioinformaticiens de France

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 20/09/12
  • Correction mineure : 22/03/13
Mots-clés

JeBiF : Jeunes Bioinformaticiens de France

Depuis 2008, JeBiF constitue une structure nationale, associée au Student Council de l’International Society for Computational Biology (ISCB) en tant que Regional Student Group, permettant le rassemblement des jeunes acteurs exerçant dans le domaine de la bioinformatique.

JeBiF s’est défini plusieurs objectifs, dont :

  • Le rassemblement des jeunes acteurs de la bioinformatique en France dans le but de créer une communauté active à portée nationale et internationale.
  • La stimulation des synergies locales et nationales en favorisant la mise en place de projets collaboratifs entre la recherche publique et les entreprises privées et en encourageant les partenariats entre ses membres afin de développer les activités scientifiques.
  • La promotion de la communauté française des bioinformaticiens auprès des institutions publiques, des entités privées et à l’international.
  • La communication auprès du grand public de cette discipline et des formations associées.
  • La défense et la promotion du doctorat.

Pour favoriser les rencontres entre acteurs de la bioinformatique, JeBiF organise différents types d’événements incluant :

  • les journées JeBiF consacrées aux Jeunes Bioinformaticiens à l’occasion des Journées Ouvertes de Biologie, Informatique, Mathématiques (JOBIM) organisées par la SFBI.
  • les petits-déjeuners JeBiF, organisés en sous forme de tables rondes, sont l’occasion de préparer l’insertion professionnelle en bioinformatique.
  • les JeBiF pubs, ce sont des soirées décontractées organisées dans différentes villes par les membres actifs. On y discute de tout et de rien, et même de bioinformatique...

Le site internet JeBiF permet de prendre connaissance de l'association, de son historique, ses statuts, son conseil d'administration et surtout de suivre son actualité.

SFBI, Société Française de BioInformatique

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 20/09/12
  • Correction mineure : 22/03/13
Mots-clés

SFBI, Société Française de BioInformatique

  • http://sfbi.fr
  • Type de ressource : projet / groupe, site web
  • Date de publication du document ou de l'événement : 2005
  • Auteur(s) ou responsable(s) : Conseil d'Administration composé de bioinformaticiens
  • Contact pour plus d'informations : contact@sfbi.fr

La Société Française de BioInformatique (SFBI) a été créée en 2005 pour promouvoir la recherche pluri- et inter-disciplinaire en Bioinformatique, à l'interface entre la Biologie moléculaire, l'Informatique, les Mathématiques et la Physique.

La SFBI a vocation à rassembler les chercheurs, enseignants et ingénieurs francophones qui travaillent sur des questions relevant de la bioinformatique, pour des rencontres et des échanges scientifiques.

La SFBI assure l'organisation des Journées Ouvertes de Biologie, Informatique, Mathématiques (JOBIM), conférence nationale annuelle de bioinformatique qui réunit de 300 à 500 personnes. Dans cette conférence sont présentés regulièrement des développements logiciels de la communauté, voir par exemple la séance Software Tools de JOBIM 2011 ou les démonstrations logicielles de JOBIM 2008.

La SFBI gère et diffuse la liste bioinfo et assure également la diffusion d'offres de recrutements, de stages et de thèses, et d'informations sur les formations en bioinformatique, sur les manifestations scientifiques nationales et internationales relevant de la bioinformatique.

Le site de la SFBI se veut une vitrine de la recherche et de la formation en bioinformatique en France. Son site internet donne la possibilité aux membres de la communauté de contribuer en ajoutant des informations (évènements, laboratoires et équipes de recherche, thèses et HDRs, offres d'emploi, stages, thèses, ...) ou en participant aux divers forums. Il contient la liste des plates-formes appartenant au Réseau National en Bioinformatique (ReNaBi).

Mots-clés

Rencontres scientifiques GIS France Grilles et journées annuelles des mésocentres

Le GIS France Grilles et le Groupe Calcul organisent pour la première fois en coordination les rencontres scientifiques et les journées annuelles des mésocentres à l'Institut de Physique du Globe de Paris, 1, rue Jussieu, 75005 Paris, du 1er au 3 octobre 2012.

L'objectif de ces rencontres est double :
- réaliser un bilan d'étape des évolutions marquantes dans le paysage des mésocentres d'une part, des infrastructures de grilles et de cloud d'autre part.
- présenter des travaux scientifiques, dans toutes les disciplines, réalisés grâce au soutien des mésocentres, des infrastructures de grilles de calcul ou de cloud.

Le programme : http://mesogrilles2012.sciencesconf.org/page/progr...

L'inscription pour participer sur place (gratuite et obligatoire) : http://mesogrilles2012.sciencesconf.org/register

La totalité de l'événement sera retransmis en webcast : http://webcast.in2p3.fr/live/journees_scientifique...

Fiche logiciel validé
  • Création ou MAJ importante : 05/10/12
  • Correction mineure : 06/02/13
Mots-clés
Pour aller plus loin

ipython : interface en ligne de commande optimisée pour le calcul scientifique sous python

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 0.10 à 0.12
  • Langue(s) de l'interface : anglais
  • Licence : BSD

    L'auteur de IPython (Fernando Perez) promeut les licences BSD plutôt que GPL car cela facilite la réutilisation d'après lui.

Description
Fonctionnalités générales

IPython comble certaines lacunes de l'interpréteur python en mode console (CLI: command line interface) en apportant la couleur et une édition de l'historique. Tout en conservant l'accès à toutes les fonctionnalités natives de Python, IPython offre un accès rapide aux commandes du shell (unix/windows), de l'introspection des objets python, l'accès aisé à leur documentation (docstrings), l'aide au profilage de code et une facilité de sortie graphique avec matplotlib.

Pylab

Pylab est un mode spécial de IPython qui offre des facilités de calcul numérique et de visualisation scientifique directement dans l'interface en ligne de commande (CLI). On s'approche des fonctionnalités natives de MatLab et IDL/GDL. Ce mode, qui s'obtient avec l'option --pylab (nécessite généralement l'ajout de paquets supplémentaires), charge en mémoire numpy et matplotlib et initie un moteur de rendu graphique.
Voici un exemple de visualisation d'une courbe 1D et d'une image 2D :

x=linspace(-10,10,200)
plot(x,sin(x)/x)
clf()
imshow(outer(sin(x),cos(x)))

Une fois activées, ces extensions à Python permettent de travailler dans un mode enrichi permettant de tester des idées en mode interactif, voir ses données en traçant au vol des graphiques et garder la main sur ses objets.

Autres fonctionnalités

Les récents développements (v0.11 et +) ont apporté des consoles plus riches que la ligne de commande simple d'origine avec des fonctionnalités d'édition avancée et la possibilité d'afficher des images dans le texte (à la façon des notebook de Mathematica). On les obtient avec :

  • ipython qtconsole --pylab=inline
    (depuis la version 0.11)
  • ipython notebook --pylab inline
    (depuis la version 0.12)

Voici l'exemple précédent dans l'interface notebook (dans un butineur web):
console IPyton Notebook
Capture d'écran par l'auteur, sous licence CC BY-NC-SA.

Interopérabilité

IPython fonctionne sur toutes les plate-formes où python tourne (windows, unix, mac, ...). Il tourne aussi bien avec les versions 2 que 3 de python. Les dernières versions de ipython (>=0.11) ont abandonné la compatibilité avec python 2.5 (et antérieure).

Contexte d'utilisation dans mon laboratoire/service

IPython me sert à développer mon code d'analyse de données de manière interactive et à la visualiser ("à la Matlab"). Les outils de profilages intégrés (%timeit) me servent aussi à choisir entre les différentes implémentations possibles pour un même algorithme.

Limitations, difficultés, fonctionnalités importantes non couvertes

IPython est très facile à prendre en main, il est intuitif et rend python évident pour les scientifiques. Son seul défaut, à mes yeux, vient de l'accumulation des données en mémoire (liée aux fonctionnalités d'historique).

Python et IPython évoluent significativement entre deux versions (notamment les versions majeures python 2.4, 2.5 et 3), ce qui pose des problèmes et pour le développement (un code initialement écrit en 2.4 ne tournera pas de suite en 3) et pour le CLI (Command line interface) : le comportement peut être significativement différent, et les installations très inhomogènes selon les ordinateurs (dépendances manquantes) et la customisation de chacun des utilisateurs. Ceci conduit à des "expériences utilisateurs" différentes et des incompréhensions entre collègues travaillant sur les mêmes projets et même calculateur mais ayant étendus différemment les options de python et IPython (il est fréquent d'oublier de signaler aux tiers que tel ou tel paquet optionnel, dans tel version, sera utilisé).

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • Debian, Ubuntu et la plupart des distributions Linux (pour avoir accès à pylab, il faut ajouter le paquet python-matplotlib).

  • IPython reste absent des Redhat, CentOS mais il existe néanmoins des RPM pour ces distributions.

  • Sous Windows, IPython est intégré à la distribution PythonXY.

Plates-formes

Unix, Windows, MacOS

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Développement fait sur GitHub: l'auteur principal (Fernando Perez) est employé par l'Université de Berkeley mais l'équipe de développement est assez large (60 personnes) avec des contributeurs en Europe et en Afrique du Sud.

Eléments de pérennité

Très large communauté d'utilisateurs.

Société / organisations qui ont participé au financement du développement: Enthought, Tech-X Corporation Boulder CO:, Microsoft, NIH (grant), NSF (Sage), Google (summer of code).

Projet qui en dépendent (avec leurs institutions) :

  • Sage : open source mathematics.
  • PyRAF : Space Telescope Science Institute
  • CASA : Nat. Radio Astronomy Observatory
  • Ganga : CERN
  • PyMAD : neutron spectrom., Laue Langevin
  • Sardana : ALBA Synchrotron Espagnol/Catalan.
  • ASCEND : eng. modeling (Carnegie Mellon).
  • JModelica : dynamical systems.
  • DASH : Denver Aerosol Sources and Health.
  • PyIMSL Studio, by Visual Numerics.
  • Trilinos : Sandia National Lab.
  • Pymerase : microarray gene expression.
  • DoD : baseline configuration.
  • Mayavi : 3d visualization, Enthought.
  • NiPype : computational pipelines, MIT.
  • QSnake : source-distro for scientific comp.

Environ 60 dévelopeurs actifs (mais pas en continu).

Références d'utilisateurs institutionnels

CEA, ESRF, CERN (analyses LHC), CNRS (analyses Planck HFI)

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Il existe plusieurs listes de diffusion pour IPython :

Documentation utilisateur

Voir la documentation de IPython pour l'interface et de SciPy pour l'ensemble des fonctionnalités scientifiques.

Divers (astuces, actualités, sécurité)

Les nouvelles consoles (qt et notebook) utilisent ZeroMQ pour communiquer entre le client et le serveur (dépendance à ZMQ).
IPython cherche aussi à permettre le calcul parallèle avec des clusters Linux mais je n'utilise pas ces fonctionnalités.
L'auteur de la fiche utilise indifféremment dans ses activités quotidiennes les version 0.10, 0.11, 0.12, qui ne présentent pas de différences significatives, mis à part certains détails mentionnées plus haut.

Contributions

Via Pull-Request sur GitHub.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 05/07/12
  • Correction mineure : 11/06/14
Mots-clés

MatGeom : bibliothèque de calcul géométrique en 2D et 3D sous Matlab

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 1.1.6 - 22 Novembre 2012
  • Licence(s) : BSD - Modifiée
  • Etat : validé (au sens PLUME)
  • Support : maintenu, développement en cours
  • Concepteur(s) : David Legland
  • Contact concepteur(s) : david.legland@grignon.inra.fr
  • Laboratoire(s), service(s)... : GMPA

 

Une fiche logiciel décrit plus en détail ce développement, consultez la pour plus d’informations : MatGeom
Fonctionnalités générales du logiciel

MatGeom est une bibliothèque de fonctions Matlab pour manipuler des données géométriques 2D et 3D telles que des ensembles de points, des droites, des polygones, des maillages... Les différentes fonctions permettent de créer des objets, de les combiner (calculs d'intersections, de distances, fenêtrage...), de les afficher, ou de calculer des paramètres descriptifs (aire, longueur, boîte englobante...).

Contexte d’utilisation du logiciel

La bibliothèque a été développée suite aux activités de recherche & développement de son auteur dans le domaine du traitement d'images et de la modélisation géométrique. L'origine de son développement remonte à l'année 2003.

Par exemple, elle peut être utilisée pour visualiser des changements de repère 3D dans des algorithmes Matlab ; représenter des reconstructions d'images binaires ; vérifier que des mesures sur des images numériques sont correctes... La bibliothèque a aussi été utilisée pour modéliser la forme d'objets biologiques (fruits, tiges, cellules...) pour analyser leur forme et cartographier des propriétés morphologiques.

Les modules geom2d et geom3d sont diffusés sur le site File Exchange de Mathworks. Au moins plusieurs dizaines d'utilisateurs avec des retours très satisfaits.

Publications liées au logiciel

Modélisation de structures biologiques :

  • Legland, D.; Devaux, M.-F. & Guillon, F. (2014) Statistical Mapping of Maize Bundle Intensity at the Stem Scale Using Spatial Normalisation of Replicated Images. PLoS ONE 9(3): e90673. doi:10.1371/journal.pone.0090673.
  • Legland, D.; Devaux, M.-F.; Bouchet, B.; Guillon, F. & Lahaye, M. (2012) Cartography of cell morphology in tomato pericarp at the fruit scale. J. Microsc. 247(1), 78–93
  • Legland, D.; Guillon, F.; Kiêu, K.; Bouchet, B. & Devaux, M.-F. (2010) Stereological estimation of cell wall density of DR12 tomato mutant using three-dimensional confocal imaging. Ann. Bot. 105, 265–276

Validation de méthodes d'analyse d'images :

  • Legland, D.; Devaux, M.-F.; Kiêu, K. & Bouchet, B. (2008) Stereological estimation for layered structures based on slabs perpendicular to a surface. J. Miscrosc. 232, 44–55
  • Legland, D.; Kiêu, K. & Devaux, M.-F. (2007) Computation of Minkowski measures on 2D and 3D binary images. Image Anal. Stereol. 26, 83–92

Autre :

  • Supatto, W.; McMahon, A.; Fraser, S. E. & Stathopoulos, A. (2009) Quantitative imaging of collective cell migration during Drosophila gastrulation: multiphoton microscopy and computational analysis. Nature Protocols4, 1397–1412

 

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 07/06/12
  • Correction mineure : 17/07/13
Mots-clés

Mefisto : résolution de problèmes physiques par la méthode des éléments finis

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like
  • Version actuelle : Version 3 - Avril 2012
  • Licence(s) : Autre - Voir : http://www.ann.jussieu.fr/~perronnet/mefisto.charger.php
    L'utilisation du logiciel Méfisto et de ses résultats est LIBRE. Par contre, il est INTERDIT de le COMMERCIALISER sans accord préalable ÉCRIT des auteurs. De plus, toute utilisation conduisant à publication doit mentionner l'emploi du logiciel Méfisto et donner sa référence sur le web: http://www.ann.jussieu.fr/~perronnet/mefisto.gene.html Le BON FONCTIONNEMENT du logiciel n'est en AUCUNE MANIÈRE GARANTI. Toute détérioration provoquée par l'utilisation de ce logiciel ne peut être reprochée aux auteurs ou faire l'objet d'une quelconque demande de paiement de dommages. Toute utilisation entraîne implicitement que l'installateur et les utilisateurs aient accepté cette charte.
  • Etat : validé (au sens PLUME)
  • Support : maintenu, développement en cours
  • Concepteur(s) : Alain Perronnet
  • Contact concepteur(s) : perronnet@ann.jussieu.fr
  • Laboratoire(s), service(s)... : LJLL

 

Fonctionnalités générales du logiciel

Mefisto est un code de résolution de problèmes physiques par la méthode des éléments finis. Il contient :

  • un générateur de maillages 2D ou 3D, structurés et/ou non-structurés,
  • un solveur du problème stationnaire ou instationnaire de l'Élasticité linéaire,
  • un solveur du calcul des modes propres d'un objet 2D ou 3D,
  • un solveur du problème thermique stationnaire ou instationnaire linéaire ou non linéaire,
  • un solveur du problème de l'équation des ondes planes,
  • un solveur du calcul des plus petites valeurs propres de l'opérateur -div A grad,
  • un solveur du problème de Navier-Stokes en 2D ou 3D avec éléments finis de Taylor-Hood ou Brezzi-Fortin,
  • un solveur de l'équation non-linéaire de Schrödinger 2D ou 3D avec éléments finis de Lagrange.

L'utilisation de ces modules est rendue conviviale par l'emploi systématique de menus, le recours à la souris, et une représentation graphique des résultats sur l'écran et éventuellement, dans un fichier d'instructions PostScript.

Contexte d’utilisation du logiciel

Simulation numérique, enseignement.

Publications liées au logiciel

Cours au Taida Institute for Mathematical Sciences National Taiwan University à Taipei, http://www.ljll.math.upmc.fr/perronnet/tims9/Lesso...

Fiche logiciel validé
  • Création ou MAJ importante : 12/04/12
  • Correction mineure : 12/04/12
  • Rédacteur de la fiche : Alexander D. Rahm - Développeur du logiciel - Department of Mathematics (Weizmann Institute of Science)
  • Relecteur(s) : Nicolas M. Thiéry (Laboratoire de Mathématiques d'Orsay)
    Van Luyen Le (School of Mathematics, Statistics and Applied Mathematics)
  • Responsable thématique : Teresa Gomez-Diaz (LIGM)
Mots-clés
Pour aller plus loin

Bianchi.gp : calcul de domaine fondamental pour les groupes de Bianchi dans l'espace hyperbolique

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : Bianchi.gp
Description
Fonctionnalités générales

Ce programme effectue des calculs de la géométrie d’une certaine classe de groupes arithmétiques (les groupes de Bianchi), à travers une action propre sur un espace contractile. Nous accédons à leur homologie de groupe. Plus en détail, considérons un corps de nombres quadratique imaginaire Q(√−m), où m est un entier positif ne contenant pas de carré. Soit A(m) son anneau d’entiers. Les groupes de Bianchi sont les groupes SL_2(A(m)).

Un éventail d’informations sur les groupes de Bianchi peut être trouvé dans les monographies de Elstrodt/Grunewald/Mennicke, Benjamin Fine, Maclachlan/Reid, etc. Ces groupes agissent d’une manière naturelle sur l’espace hyperbolique à trois dimensions, qui est isomorphe à l’espace symétrique qui leur est associé. Le noyau de cette action est le centre {±1} des groupes, ce qui rend utile l’étude du quotient par le centre, PSL_2(A(m)), que nous appellerons également un groupe de Bianchi.

En 1892, Luigi Bianchi a calculé des domaines fondamentaux pour cette action pour quelques uns de ces groupes. Un tel domaine fondamental est de la forme d’un polyèdre hyperbolique (à quelques sommets manquants près), que nous appelons le polyèdre fondamental de Bianchi. Le calcul du polyèdre fondamental de Bianchi a été implémenté dans ce programme pour tous les groupes de Bianchi.

Les images sous SL_2(A(m)) des faces de ce polyèdre munissent l’espace hyperbolique d’une structure cellulaire.
Pour mieux observer la géométrie locale, nous passons au complexe cellulaire raffiné, que nous obtenons en subdivisant cette structure cellulaire jusqu’à ce que les stabilisateurs dans SL_2(A(m)) fixent les cellules point par point.
Nous pouvons exploiter ce complexe cellulaire de différentes manières, afin de cerner des aspects différents de la géométrie de ces groupes.

Autres fonctionnalités

Si l'utilisateur le souhaite, il/elle peut écrire des scripts dans le langage GP de PARI pour effectuer des calculs ultérieurs sur la structure de complexe cellulaire que Bianchi.gp met dans la mémoire à accès rapide.
De tels scripts peuvent se servir des bibliothèques de fonctions et procédures de Bianchi.gp.

La calculette gp de PARI, dans laquelle Bianchi.gp peut être exécuté, met un environnement interactif à la disposition de l'utilisateur.

Interopérabilité

Utilisation avec Fiche Plume Pari/GP.

Contexte d'utilisation dans mon laboratoire/service

Au Department of Mathematics, National University of Ireland, Galway, une bibliothèque Homological Algebra Programming (HAP) a été développée pour des calculs en algèbre homologique. Elle est utilisée dans Fiche Plume GAP. Cette bibliothèque peut interpréter les complexes cellulaires construits avec Bianchi.gp et construire des résolutions pour les groupes de Bianchi qui agissent sur ces complexes ; plusieurs invariants comme par exemple l'homologie et la cohomologie du groupe peuvent être calculés ainsi.

Environnement du logiciel
Plates-formes

Ce programme est basé sur le système d'algèbre sur ordinateur Fiche Plume Pari/GP, qui est un logiciel libre.
Il faut installer la version 2.4.3 ou plus récent pour pouvoir utiliser Bianchi.gp.

Logiciels connexes
Environnement de développement
Type de structure associée au développement

Ce logiciel a été développé lors d'une thèse par l'auteur de cette fiche.

Références d'utilisateurs institutionnels

Le certificat de calcul intensif C3I a été attribué à la thèse ayant développé Bianchi.gp.
L'utilisation de Bianchi.gp est recommandée par Pari/GP development headquarters.

Environnement utilisateur
Contributions

Contacter l'auteur de la fiche.

Fiche logiciel validé
  • Création ou MAJ importante : 10/07/13
  • Correction mineure : 10/07/13
  • Rédacteur de la fiche : Romain Quey - Développeur du logiciel - LGF (CNRS, Mines Saint-Etienne)
  • Relecteur(s) : Fabrice Barbe (GPM)
    Pascal Joly (LJLL)
  • Contributions importantes : Fabrice Barbe (GPM / INSA Rouen)
  • Responsable thématique : David Rousse (CNRS DSI)
Mots-clés
Pour aller plus loin

Neper : génération et maillage de microstructures polycristallines

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : Neper
Description
Fonctionnalités générales

Neper est un logiciel de génération et de maillage de microstructures polycristallines, en particulier de mosaïques de Voronoï 3D.

Les fonctionnalités principales sont :

  • Génération de mosaïques de Voronoï 3D, représentées sous forme vectorielle ;
  • Maillage en éléments tétraédriques permettant de décrire de manière exacte la forme des grains. Une procédure de "régularisation" de la géométrie est mise en oeuvre pour améliorer la qualité du maillage ;
  • Maillage en éléments cubiques réguliers ;
  • Génération d'orientations cristallographiques pour les grains ;
  • Génération d'images PNG de haute-qualité des mosaïques et des maillages (postprocessing).

Le logiciel est distribué sous la forme d'une archive contenant le code source ainsi qu'une documentation complète détaillant son installation et utilisation.

Autres fonctionnalités

Neper tire son originalité de sa robustesse et de ses capacités à mailler de très grandes mosaïques (100 000 cellules) en respectant une très bonne qualité des éléments finis. Il est donc particulièrement performant pour des approches nécessitant des grands ensembles statistiques (réalisations automatiques de microstructures de grandes tailles ou en très grands nombres), ou impliquant de grandes déformations.

Différentes options sont mises à disposition pour diversifier ses champs d'utilisation :

  • Possibilité de construire des polycristaux dans tout domaine spatial convexe (en particulier cubes et cylindres) ;
  • Contrôle de la distribution spatiale des germes de Voronoï (du tout imposé au tout aléatoire) ;
  • Accès direct aux caractéristiques géométriques des cellules (tailles, équations des faces et des arêtes frontières, ...).
Interopérabilité

Tous les fichiers d'entrée / sortie sont au format ASCII. Les mosaïques de Voronoï sont exportées au format natif du logiciel, ".tess", qui est documenté, ou dans d'autres formats, ply et 3dec. Les maillages sont exportables aux formats ".msh" (Gmsh), ".inp" (Abaqus) et ".geof" (Zset/Zébulon).

Contexte d'utilisation dans mon laboratoire/service

Applications dans les 2 laboratoires particulièrement actifs dans l'utilisation de Neper : LGF / Mines Saint-Etienne (R. Quey) et GPM / INSA Rouen (F. Barbe) :

Modélisation par éléments finis du comportement de matériaux polycristallins :

  • Caractérisation de la localisation des contraintes et déformations ;
  • Développement des textures et microtextures cristallographiques en grandes déformations plastiques (ε = 1 à 2) ;
  • Approche micromécanique de la rupture dans les aciers ferritiques ;
  • Conséquences mécaniques des transformations de phase diffusives (version non publique) ;
  • Modélisation Monte Carlo de la dynamique d’aimantation d’agrégats ferromagnétiques.
Environnement du logiciel
Plates-formes

Fonctionne sur les Unix-like et Mac OS.
Testé sur les architectures i686, x86_64, powerpc et AIX.

Logiciels connexes

Gmsh, licence GPL : requis pour le maillage, http://www.geuz.org/gmsh.
LibScotch, licence Cecill-C : requis pour le partitionnement de maillage, http://www.labri.fr/perso/pelegrin/scotch/.
Povray, licence proche de la GPL : requis pour générer des figures au format PNG, http://www.povray.org/.

Environnement de développement
Type de structure associée au développement

Développement par moi-même (Romain Quey), avec l'implication de doctorants et postdoctorants.

Eléments de pérennité

Logiciel développé depuis 2003 et qui continue à évoluer. Développements en cours dans le cadre d'une thèse et d'un postdoctorat lancés en 2012.

Références d'utilisateurs institutionnels

Logiciel utilisé en local et dans d'autres laboratoires en France et à l'étranger (plus de 10).
717 téléchargements en 2012 (USA: 207, France: 138, Chine: 126, Allemagne: 67, ...).

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

2 listes de diffusion :

Documentation utilisateur

Des exemples illustrés d'utilisation, une galerie d'images et des références d'applications sont disponibles sur le site web du logiciel : http://neper.sourceforge.net.

La documentation (PDF, 66 pages) est incluse dans l'archive du logiciel.

Le logiciel, la documentation et les autres ressources sont en anglais.

Fiche logiciel validé
  • Création ou MAJ importante : 07/03/13
  • Correction mineure : 31/07/13
Mots-clés
Pour aller plus loin
  • Mots-clés principaux : Matlab

MatGeom : bibliothèque de calcul géométrique en 2D et 3D sous Matlab

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : MatGeom
Description
Fonctionnalités générales

MatGeom est une bibliothèque de fonctions Matlab pour définir et manipuler des données géométriques 2D et 3D telles que des ensembles de points, des droites, des polygones, des maillages... Les différentes fonctions permettent de créer des objets, de les combiner (calculs d'intersections, fenêtrage...), de les afficher, ou de calculer des paramètres descriptifs (aire, longueur, boîte englobante...).

La bibliothèque est organisée en plusieurs modules :

  • geom2d regroupe des fonctions de base pour les calculs en 2D sur des points, des vecteurs, des droites et quelques coniques (cercles, ellipses),
  • polygons2d regroupe des fonctions spécifiques pour les polygones et les chaînes polygonales (polylines) : calculs d'aires, de longueurs, d'intersections...
  • polynomialCurves2d permet de représenter des courbes paramétrées dont chaque composante est représentée par un polynôme, ce qui permet de calculer facilement des tangentes ou des courbures
  • geom3d regroupe des fonctions de base pour les calculs en 3D sur des points, des vecteurs, des droites, des plans et des surfaces courbes,
  • meshes3d propose quelques fonctions de base pour manipuler des maillages surfaciques polygonaux : affichage, génération de polyèdres classiques, calcul de normale...
  • graphs regroupe des fonctions pour manipuler des graphes géométriques (dont les sommets sont des points du plan ou de l'espace). Contient aussi des fonctions pour associer une valeur à chaque sommet, et "filtrer" un graphe (la nouvelle valeur de chaque sommet est calculée à partir de la valeur des voisins).
Interopérabilité

Possibilité d'utiliser d'autres contributions disponibles sur File Exchange de Mathworks en complément, en particulier la Toolbox Graph de Gabriel Peyré pour les calculs sur les maillages.

L'utilisation est possible avec Octave, un portage de la bibliothèque, qui intègre aussi d'autres fonctions, est en cours : http://octave.sourceforge.net/geometry/index.html

Il n'existe pas actuellement de version scilab.

Contexte d'utilisation dans mon laboratoire/service

La bibliothèque est née suite aux activités de recherche & développement de son auteur dans le domaine du traitement d'images et de modélisation géométrique. Elle est développée depuis 2003.

Par exemple, elle peut être utilisée pour visualiser des changements de repère 3D dans des algorithmes Matlab.

Les modules geom2d et geom3d sont diffusés sur le site File Exchange de Mathworks. Au moins plusieurs dizaines d'utilisateurs avec des retours très satisfaits.

Limitations, difficultés, fonctionnalités importantes non couvertes

Pas vraiment de fonctions d'entrée-sortie ni de manipulation de fichiers. En pratique, un format csv suffit.

Environnement du logiciel
Plates-formes

Nécessite Matlab. Aucune boîte à outils particulière n'est requise. Quelques fonctions nécessitent la boîte à outils "Optimization".

Logiciels connexes

Matlab

Environnement de développement
Eléments de pérennité

Le logiciel est maintenant hébergé sur Sourceforge, afin de faciliter son maintien et sa pérennité.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

La documentation au format html est disponible sur le site internet :

http://matgeom.sourceforge.net/doc/api/matGeom/index.html

Divers (astuces, actualités, sécurité)

Quelques démos sont en ligne sur le site internet :

http://sourceforge.net/apps/mediawiki/matgeom/index.php?title=Demos

Contributions

Possibilité de contribuer au développement, par contact avec l'auteur principal.

Syndiquer le contenu