GNU Octave

logiciel de calcul numérique

GNU Octave est un logiciel libre de calcul numérique comparable à MATLAB et à Scilab. Ce n'est pas un logiciel de calcul formel. Le logiciel est développé puis maintenu pour le projet GNU par John W. Eaton.

GNU Octave
Description de l'image Gnu-octave-logo.svg.
Description de cette image, également commentée ci-après
GNU Octave 3.8.2 sous Windows 8
Informations
Créateur John W. Eaton (d) et Torsten Lilge (d)Voir et modifier les données sur Wikidata
Développé par Projet GNU
Première version
Dernière version 9.1.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt hg.savannah.gnu.org/hgweb/octaveVoir et modifier les données sur Wikidata
Écrit en C, C++
Interface QtVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows et type UnixVoir et modifier les données sur Wikidata
Environnement GNU/Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, MS Windows
Formats lus GNU Octave Matrix data (text) (d)Voir et modifier les données sur Wikidata
Formats écrits GNU Octave Matrix data (text) (d)Voir et modifier les données sur Wikidata
Type Calcul numérique
Licence GNU GPL
Documentation octave.org/doc/latest et www.gnu.org/software/octave/octave.pdfVoir et modifier les données sur Wikidata
Site web octave.orgVoir et modifier les données sur Wikidata

Histoire modifier

Le projet a été conçu aux alentours de 1988. Le véritable développement est commencé par John W. Eaton en 1992. La première version (alpha) sort le . La version 1.0 est rendue disponible le . La version 2 a été publiée en 1995, la version 3 en décembre 2007 et la version 4 le 29 mai 2015.

Le nom Octave vient d'Octave Levenspiel (en), ancien professeur de génie chimique de John W. Eaton, qui était connu pour son aptitude à donner de bonnes approximations à des problèmes numériques.

Licence modifier

Comme Octave est distribué sous GNU GPL v3, il peut être librement distribué et utilisé.

Détails techniques modifier

Octave est écrit en C++. Il utilise la bibliothèque STL.

Octave, le langage modifier

Octave est l'interprète du langage Octave.

Octave est un langage interprété. C'est un langage de programmation structuré comme le langage C, qui accepte de nombreuses constructions de la bibliothèque standard du C. Il peut être étendu pour accepter les fonctions et les appels systèmes Unix.

Support de fonctions écrites dans un autre langage modifier

Des fonctions écrites en C++ peuvent être utilisées dans l'environnement Octave. Le fichier source porte généralement l'extension '.cc', car écrit en C++ et la fonction compilée à l'aide de mkoctfile porte l'extension '.oct'.

Ceci permet de travailler avec l'environnement souple d'Octave tout en ayant la vitesse d'exécution d'un programme compilé.

Syntaxe modifier

Pour la plupart des commandes, sa syntaxe est celle de MATLAB et une programmation soigneuse permet de faire fonctionner des scripts Octave sur MATLAB.

Support des systèmes d'exploitation modifier

Il fonctionne sur la plupart des systèmes d'exploitation Unix, ainsi que sur Microsoft Windows.

Précision numérique modifier

Octave fonctionne avec des nombres réels comme complexes. On peut par exemple écrire exp(i*pi) et obtenir le résultat -1, à la précision de calcul de la machine près. Sur un Core i7 3770 sous Ubuntu 13.0, la réponse est :

ans = -1.0000e+00 + 1.2246e-16i

Fonctionnalités graphiques modifier

Octave dispose d'un moteur de rendu graphique intégré (basé sur OpenGL et FLTK) pour créer les graphiques et les diagrammes, pour les enregistrer et les imprimer. Alternativement, le rendu graphique peut se faire avec le logiciel tiers gnuplot.

Des fonctionnalités de tracé graphique simples en couleurs (2D, surfaces, etc.) sont disponibles directement dans le langage. Elles permettent des superpositions de courbes, leur mise à jour en temps réel et la juxtaposition de graphiques dans des grilles simples. Cette possibilité est utile pour suivre la convergence d'algorithmes d'analyse numérique ou d'automatique ainsi que pour représenter un espace des phases simple.

Support des graphes orientés modifier

Dans la version 4.0.3, Octave ne supporte pas les graphes orientés. La fonction MATLAB digraph() donne une erreur.

Usage modifier

Octave, du fait qu'il traite directement les vecteurs et matrices (comme APL, mais sans avoir besoin de caractères spéciaux) permet de programmer très vite et de façon lisible des applications de recherche opérationnelle. C'est par exemple, et parce qu'il est libre, le langage qui a été retenu pour les cours Machine Learning de Stanford sur Coursera, MATLAB restant bien entendu utilisable.

Notes et références modifier

  1. « GNU Octave 9.1.0 Released », (consulté le )

Voir aussi modifier

Sur les autres projets Wikimedia :

Bibliographie modifier

Articles connexes modifier

Liens externes modifier