Annuaire|Bibliothèques|Cours en ligne|Plan d'accès|Emploi|Agenda|Actualités|U tv|Contact
Fr|En
UMONS>Faculté des sciences>Département de mathématique>Service d'Analyse Numérique>Logiciels

Logiciels

Les codes ci-dessous prennent la forme de librairies pour le langage OCaml (Objective Caml). Il s'agit d'un langage fonctionnel fortement typé, qui permet une excellente abstraction tout en possédant une bonne efficacité.

Lacaml

Lacaml est un binding aux célèbres librairies BLAS et LAPACK qui offrent des routines d'algèbre linéaire. Il a été développé en collaboration avec Markus Mottl et plusieurs autres personnes. Son utilisation suppose une familiatité avec BLAS et LAPACK. Les quick reference guide for the BLAS et LAPACK quick reference vous seront utiles. Pour les détails, consultez les « man pages » en ligne ou, si vous les avez installées sur votre machine (sous Linux, elles doivent être dans les packages de votre distribution), lisez les grâce à Emacs : M-x man (sous Unix) ou M-x woman (sur tous les systèmes, après avoir mis

(add-to-list 'woman-manpath "C:/path/to/lapack/manpages/blas/man")
(add-to-list 'woman-manpath "C:/path/to/lapack/manpages/man")
dans votre ~/.emacs).

Delimited overloading

Delimited overloading (pa_do) est une extension de syntaxe (grâce à camlp4) qui permet une surcharge d'opérateurs extensible en OCaml. Il effectue également certaines optimisations, par exemple pour des expressions comprenant des nombres complexes.

OCaml odepack

OCaml odepack est un binding à odepack, une collection de routines pour approcher les solutions de problèmes de Cauchy.

Mesh

Mesh offre une interface unifiée à plusieurs générateurs de triangulations 2D (en particulier triangle). Il possède également des fonctions permettant de visualiser les mesh et les fonctions P1 définies dessus.

L-BFGS-B

Le module lbfgs est une interface au code FORTRAN L-BFGS-B. Il fournit une méthode quasi-Newton à mémoire limitée pour les problèmes de minimisation sans contraintes ou contraints par des bornes sur les variables.

1D integration

Le module Integration1D rassemble diverses méthodes d'intégration inspirées de QUADPACK. Il est composé uniquement de code OCaml.

1D optimization

Le package optimization1d consiste en deux modules, Min1D et Max1D, qui fournissent des méthodes pour la recherche de minimums ou maximums de fonctions mathématiques f : R → R. Il est composé uniquement de code OCaml.

1D root finding

Le module Root1D fournit des fonctions, en particulier la méthode de Brent, pour la recherche de racines de fonctions mathématiques f : R → R. Il est composé uniquement de code OCaml.

Module FFTW 3

Le module Fftw3 est un binding aux célèbres routines de transformée de Fourier rapide FFTW.

Les bindings à l'ancienne version, FFTW2, ne sont plus mis à jour.

oasis2opam

oasis2opam est un outil permettant de convertir les méta-données d'OASIS en description de packages OPAM.

OCaml Lego Mindstorm library

Le module Mindstorm vous permet de piloter des robots Lego® Mindstorm NXT via le protocole de communication bluetooth. Il a été utilisé par trois étudiants de mathématique pour programmer deux robots : un qui sort d'un labyrinthe et un autre qui résout le Rubik's cube. Vous pouvez lire leur interview.

OCaml CSV

OCaml CSV est un module qui permet de lire et d'écrire des fichiers CSV (comma separated values). Il comprend les particularités d'Excel (qui ne respectent pas le standard).

Benchmark

Benchmark est un module pour mesurer et comparer les temps d'exécution de fonctions écrites en OCaml.

Rope library

Le module Rope est une implémentation de la structure de donnée « rope », une forme efficace de chaines de caractères non-mutables. Le module est suffisament développé pour remplacer les chaines de caractères d'OCaml dans une majorité de cas.

OCamlDBI

OCamlDBI est une interface générérique aux bases de données inspirée du module Perl DBI.

OCaml-FreeTDS

Le module Freetds offre une interface à l'API DB-lib de FreeTDS ainsi qu'une interface plus ancienne à ct. Il est recommandé d'utiliser OCamlDBI (qui utilise ce module de manière interne) pour disposer de fonctions de plus haut niveau.

Lpd

La bibliothèque Lpd (Line Printer Deamon) est un serveur pour le protocole LPD entièrement écrit en OCaml (et donc totalement opérationnelle sous windows). Elle vous permet d'écrire vos propres fonctions réagissant aux commandes d'impression.

ANSITerminal

ANSITerminal est un module permettant d'utiliser les couleurs et les mouvements arbitraires du curseur des terminaux ANSI. Voici son interface.

OCaml-gnuplot

OCaml-gnuplot est un module qui utilise gnuplot pour réaliser des graphes scientifiques à partir d'OCaml.

Ce module est considéré obsolète et ne recevra que des corrections de bugs. Il sera remplacé par le module Archimedes (en développement) qui ne dépend plus de gnuplot.