Eigenmath : Différence entre versions

De Casio Universal Wiki
Aller à : navigation, rechercher
m
(Avancée : ajout d'une partie sur l'introduction au calcul formel et essais de mise en page.)
Ligne 18 : Ligne 18 :
 
}}
 
}}
  
Eigenmath est un logiciel libre de calcul formel (ou symbolique) développé à partir de 2002 pour PC. Il a fait l'objet de nombreux portages, sur téléphones et même la console Nitendo DS par exemple.  
+
Eigenmath est un logiciel libre de calcul formel (ou symbolique) développé à partir de 2002 pour PC. Il a fait l'objet de nombreux portages, jusqu'à être adapté sur la console Nitendo DS par exemple.  
 
Il est également disponible pour les calculatrices Prizm, suite au travail de Gbl08ma et constitue le premier (et actuellement le seul) add-in de calcul formel pour cette calculatrice.
 
Il est également disponible pour les calculatrices Prizm, suite au travail de Gbl08ma et constitue le premier (et actuellement le seul) add-in de calcul formel pour cette calculatrice.
  
 
== Description de l'interface ==
 
== Description de l'interface ==
  
L'interface est relativement simple et surtout, bien intégrée dans le système : ainsi, l'usage et l'utilisation des menus et touches ne différera que peu des applications implémentées par Casio (comme Exe-Mat par exemple).
+
L'interface est relativement simple et surtout, bien intégrée au système : ainsi, l'usage et l'utilisation des menus et touches ne différera que peu des applications implémentées par Casio (comme Exe-Mat par exemple).
 
On trouvera donc une zone principale de saisie, comme on pourrait trouver dans Exe-Mat, ainsi qu'un barre d'onglets en bas de l'écran.
 
On trouvera donc une zone principale de saisie, comme on pourrait trouver dans Exe-Mat, ainsi qu'un barre d'onglets en bas de l'écran.
La version actuelle (Beta 7 à l'heure où l'article est rédigé) compte 5 onglets accessibles par les touches F1 à F6 (F4 n'étant affecté à aucun menu pour l'instant, et effacera la ligne que vous êtes en train d'écrire).
+
La version actuelle (Beta 7 à l'heure où l'article est rédigé) compte 5 onglets accessibles grâce aux touches F1 à F6 (F4 n'étant affecté à aucun menu pour l'instant, et effacera la ligne que vous êtes en train d'écrire).
  
Le premier, ''Catalog'' ouvre un menu permettant d'accéder à l'ensemble des fonctions proposées par Eigenmath.
+
Le premier onglet, ''Catalog'', ouvre un menu permettant d'accéder à l'ensemble des fonctions proposées par Eigenmath.
 
L'onglet ''Load'' permet d'afficher un explorateur de fichier vous permettant de sélectionner un script (sous forme de fichier texte) à exécuter.
 
L'onglet ''Load'' permet d'afficher un explorateur de fichier vous permettant de sélectionner un script (sous forme de fichier texte) à exécuter.
''Clear'' permet d'effacer la console de saisie, ainsi que de supprimer les différentes attributions littérales (du type f(x) = x^2 ou encore A = 5).
+
''Clear'' permet d'effacer la console de saisie, ainsi que de supprimer les différentes attributions littérales (du type f(x) = x^2 ou encore A = 5).<br />
L'onglet "A <=> a" permet de choisir d'écrire le prochain caractère en minuscule (ou si le mode de saisie alphabétique est choisi, d'écrire en minuscule jusqu'à une nouvelle pression sur F5.
+
L'onglet "A <=> a" permet de choisir d'écrire le prochain caractère en minuscule (ou si le mode de saisie alphabétique est choisi, d'écrire en minuscule jusqu'à une nouvelle pression sur F5 et "G <=> T" permet de naviguer entre le mode de saisie et le mode de représentation graphique.
"G <=> T" permet de naviguer entre le mode de saisie et le mode de représentation graphique.
+
 
 +
== Concepts du calcul formel ==
 +
 
 +
L’intérêt d'un logiciel de calcul formel (ou symbolique) est que ce dernier est capable de traiter non seulement des expressions numériques, mais aussi des expressions algébriques. En effet, le système est par exemple capable de considérer <math>n</math> comme une valeur numérique si l'utilisateur le définit explicitement grâce au symbole "=" comme une valeur numérique :
 +
<syntaxhighlight>n=12^3</syntaxhighlight>
 +
mais il pourra également considérer <math>n</math> comme une variable algébrique si on ne lui attribue aucune valeur numérique.<br /><br />
 +
Un petit exemple pour mieux comprendre : définissons la fonction <math>f(x) = \frac{sin(x)}{x}</math>
 +
<syntaxhighlight> > f(x) = sin(x)/x </syntaxhighlight>
 +
Soit ensuite <math>n</math> une variable algébrique quelconque. Si on cherche
 +
<syntaxhighlight> > f(n)</syntaxhighlight>
 +
Le programme nous répondra par <math>\frac{sin(n)}{n}</math>. Affectons maintenant la valeur <math>\frac{\pi}{6}</math> à <math>n</math>, puis cherchons de nouveau <math>f(n)</math>.
 +
<syntaxhighlight> > n = pi/6</syntaxhighlight>
 +
<syntaxhighlight> > f(n)</syntaxhighlight>
 +
Cette fois ci, la réponse du programme sera <math>\frac{3}{\pi}</math>. En effet, cette fois ci, <math>n</math> a été considérée comme une valeur numérique : le programme a donc procédé au calcul en prenant cette valeur en compte, contrairement au premier calcul où <math>n</math> a été conservé comme nous l'aurions fait dans un calcul à la main.<br /><br />
 +
Un logiciel de calcul formel vous permettra donc de manipuler des "objets" mathématiques que ce soit pour des opérations algébriques "simples" (quelques exemples de manipulation "simples" mais permettant de bien comprendre divers aspects basiques du logiciel seront détaillés en annexe plus tard :) ), ou pour la mise en œuvre d'opérations plus avancées (calcul de primitives, ou manipulation de nombres complexes par exemple...)
  
 
== Description des fonctions ==
 
== Description des fonctions ==
Ligne 42 : Ligne 56 :
 
<math>arg(z)</math> renvoie l'argument du nombre complexe <math>z</math>, donc un angle en radians.
 
<math>arg(z)</math> renvoie l'argument du nombre complexe <math>z</math>, donc un angle en radians.
  
Exemple : <math>arg(1+i) = \frac{1}{4}\pi</math>
+
Exemple : <syntaxhighlight> > arg(1+i) </syntaxhighlight> retournera <math>\frac{1}{4}\pi</math>
  
 
==== Clock(z) ====
 
==== Clock(z) ====
Ligne 51 : Ligne 65 :
 
<math>conj(z)</math> retourne le conjugué du nombre complexe <math>z</math>, aussi noté <math>\bar z</math>
 
<math>conj(z)</math> retourne le conjugué du nombre complexe <math>z</math>, aussi noté <math>\bar z</math>
  
Exemple : <math>conj(7+2i) = 7-2i</math>
+
Exemple : <syntaxhighlight> > conj(7+2i)</syntaxhighlight> retournera <math>7-2i</math>
  
 
==== Imag(z) ====
 
==== Imag(z) ====
 
<math>imag(z)</math> retourne le coefficient de la partie imaginaire du nombre complexe <math>z</math>. L'opération correspond à <math>Im(z)</math>
 
<math>imag(z)</math> retourne le coefficient de la partie imaginaire du nombre complexe <math>z</math>. L'opération correspond à <math>Im(z)</math>
  
Exemple : <math>mag(4-8i) = -8</math>  
+
Exemple : <syntaxhighlight> > imag(4-8i)</syntaxhighlight> retournera <math>-8</math>  
  
 
==== Mag(z) ====
 
==== Mag(z) ====
 
<math>mag(z)</math> retourne le module du nombre complexe <math>z</math> soit <math>mag(z) = \lvert z \rvert</math>.
 
<math>mag(z)</math> retourne le module du nombre complexe <math>z</math> soit <math>mag(z) = \lvert z \rvert</math>.
  
Exemple : <math>mag(1+i)=2^\frac{1}{2} = \sqrt{2}</math>
+
Exemple : <syntaxhighlight> > mag(1+i)</syntaxhighlight>retournera <math>2^\frac{1}{2}</math> soit <math>\sqrt{2}</math>
  
 
==== Polar(z) ====
 
==== Polar(z) ====
<math>polar(z)</math> retourne la forme polaire du nombre complexe <math>z</math> écrit sous forme rectangulaire.
+
<math>polar(z)</math> retourne la forme polaire du nombre complexe <math>z</math> noté sous forme cartésienne algébrique (i.e. écrit comme <math>z = a+bi</math> avec <math>a</math> et <math>b</math> réels).
  
Exemple : <math>polar(2+2i) = 2*2^\frac{1}{2}*exp(\frac{1}{4}i\pi) = e^(\frac{i\pi}{4}) 2 \sqrt{2}</math>
+
Exemple : <syntaxhighlight>polar(2+2i)</syntaxhighlight> retournera <math>2*2^\frac{1}{2}*exp(\frac{1}{4}i\pi)</math> soit <math> 2 \sqrt{2} e^{\frac{i\pi}{4}} </math>
  
 
==== Real(z) ====
 
==== Real(z) ====
 
<math>real(z)</math> retourne la partie réelle du nombre complexe <math>z</math>
 
<math>real(z)</math> retourne la partie réelle du nombre complexe <math>z</math>
  
Exemple : <math>real(4+6i) = 4</math>
+
Exemple : <syntaxhighlight> > real(4+6i)</syntaxhighlight> retournera <math>4</math>
  
 
==== Rect(z) ====
 
==== Rect(z) ====
<math>rect(z)</math> retourne <math>z</math> sous forme rectangulaire (de la forme <math>a+bi</math>)
+
<math>rect(z)</math> retourne le nombre complexe <math>z</math> noté en coordonnées polaire sous sa forme cartésienne algébrique (i.e. écrit comme <math>z = a+bi</math> avec <math>a</math> et <math>b</math> réels).
  
Exemple : <math>rect(exp(\frac{i\pi}{4}) 2 \sqrt{2}) = 2+2i</math>
+
Exemple : <syntaxhighlight> > rect(exp((i*pi)/4) * 2sqrt(2)</syntaxhighlight> retournera <math>2+2i</math>
  
 
[[Catégorie:Pages en cours d'écriture]]
 
[[Catégorie:Pages en cours d'écriture]]

Version du 17 mai 2014 à 23:20

Eigenmath
Eigenmath logo.png
Logo de Eigenmath
Eigenmath screenshot.png
Screenshot du portage sur Prizm
AuteurGbl08ma
Souvent mis à jourEn développement
Langage de programmationC / C++
GenreCalcul Formel / CAS
PlateformeCasio Prizm (FxCg10-20)
Site webSite de l'auteur


Eigenmath est un logiciel libre de calcul formel (ou symbolique) développé à partir de 2002 pour PC. Il a fait l'objet de nombreux portages, jusqu'à être adapté sur la console Nitendo DS par exemple. Il est également disponible pour les calculatrices Prizm, suite au travail de Gbl08ma et constitue le premier (et actuellement le seul) add-in de calcul formel pour cette calculatrice.

Description de l'interface

L'interface est relativement simple et surtout, bien intégrée au système : ainsi, l'usage et l'utilisation des menus et touches ne différera que peu des applications implémentées par Casio (comme Exe-Mat par exemple). On trouvera donc une zone principale de saisie, comme on pourrait trouver dans Exe-Mat, ainsi qu'un barre d'onglets en bas de l'écran. La version actuelle (Beta 7 à l'heure où l'article est rédigé) compte 5 onglets accessibles grâce aux touches F1 à F6 (F4 n'étant affecté à aucun menu pour l'instant, et effacera la ligne que vous êtes en train d'écrire).

Le premier onglet, Catalog, ouvre un menu permettant d'accéder à l'ensemble des fonctions proposées par Eigenmath. L'onglet Load permet d'afficher un explorateur de fichier vous permettant de sélectionner un script (sous forme de fichier texte) à exécuter. Clear permet d'effacer la console de saisie, ainsi que de supprimer les différentes attributions littérales (du type f(x) = x^2 ou encore A = 5).
L'onglet "A <=> a" permet de choisir d'écrire le prochain caractère en minuscule (ou si le mode de saisie alphabétique est choisi, d'écrire en minuscule jusqu'à une nouvelle pression sur F5 et "G <=> T" permet de naviguer entre le mode de saisie et le mode de représentation graphique.

Concepts du calcul formel

L’intérêt d'un logiciel de calcul formel (ou symbolique) est que ce dernier est capable de traiter non seulement des expressions numériques, mais aussi des expressions algébriques. En effet, le système est par exemple capable de considérer Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n comme une valeur numérique si l'utilisateur le définit explicitement grâce au symbole "=" comme une valeur numérique :

n=12^3

mais il pourra également considérer Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n comme une variable algébrique si on ne lui attribue aucune valeur numérique.

Un petit exemple pour mieux comprendre : définissons la fonction Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): f(x) = \frac{sin(x)}{x}

 > f(x) = sin(x)/x 

Soit ensuite Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n une variable algébrique quelconque. Si on cherche

 > f(n)

Le programme nous répondra par Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \frac{sin(n)}{n} . Affectons maintenant la valeur Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \frac{\pi}{6} à Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n , puis cherchons de nouveau Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): f(n) .

 > n = pi/6
 > f(n)

Cette fois ci, la réponse du programme sera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \frac{3}{\pi} . En effet, cette fois ci, Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n a été considérée comme une valeur numérique : le programme a donc procédé au calcul en prenant cette valeur en compte, contrairement au premier calcul où Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): n a été conservé comme nous l'aurions fait dans un calcul à la main.

Un logiciel de calcul formel vous permettra donc de manipuler des "objets" mathématiques que ce soit pour des opérations algébriques "simples" (quelques exemples de manipulation "simples" mais permettant de bien comprendre divers aspects basiques du logiciel seront détaillés en annexe plus tard :) ), ou pour la mise en œuvre d'opérations plus avancées (calcul de primitives, ou manipulation de nombres complexes par exemple...)

Description des fonctions

Même si il est possible de taper l'alias des fonctions caractère par caractère, il est bien plus rapide d'y accéder par le menu Catalog (en appuyant sur F1). Là encore, il est possible d'accéder à l'ensemble des fonctions en choisissant le sous-menu All, il est plus rapide, une fois l'interface maîtrisée, de passer par les "catégories" de fonctions.

Complex Number (Nombres Complexes)

Arg(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): arg(z) renvoie l'argument du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z , donc un angle en radians.

Exemple :
 > arg(1+i) 
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \frac{1}{4}\pi

Clock(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): clock(z) retourne la "clock form" (?).
On a Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): clock(z) = \lvert z \rvert*(-1)^\frac{arg(z)}{pi}

Conj(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): conj(z) retourne le conjugué du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z , aussi noté Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \bar z

Exemple :
 > conj(7+2i)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 7-2i

Imag(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): imag(z) retourne le coefficient de la partie imaginaire du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z . L'opération correspond à Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): Im(z)

Exemple :
 > imag(4-8i)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): -8

Mag(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): mag(z) retourne le module du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z soit Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): mag(z) = \lvert z \rvert .

Exemple :
 > mag(1+i)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 2^\frac{1}{2} soit Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): \sqrt{2}

Polar(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): polar(z) retourne la forme polaire du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z noté sous forme cartésienne algébrique (i.e. écrit comme Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z = a+bi avec Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): a et Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): b réels).

Exemple :
polar(2+2i)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 2*2^\frac{1}{2}*exp(\frac{1}{4}i\pi) soit Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 2 \sqrt{2} e^{\frac{i\pi}{4}}

Real(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): real(z) retourne la partie réelle du nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z

Exemple :
 > real(4+6i)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 4

Rect(z)

Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): rect(z) retourne le nombre complexe Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z noté en coordonnées polaire sous sa forme cartésienne algébrique (i.e. écrit comme Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): z = a+bi avec Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): a et Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): b réels).

Exemple :
 > rect(exp((i*pi)/4) * 2sqrt(2)
retournera Échec d'analyse (L’exécutable <code>texvc</code> est introuvable. Lisez math/README pour le configurer.): 2+2i