Eigenmath : Différence entre versions

De Casio Universal Wiki
Aller à : navigation, rechercher
m ((Corrigé quelques fautes). Mis les noms des touches entre crochets ("[F1"]) (Uniformisation des notations au sein du Wiki).)
(Ajout de la description de 8 fonctions (certaines à compléter d'ailleurs...))
Ligne 90 : Ligne 90 :
 
<math>rect(z)</math> retourne le nombre complexe <math>z</math> noté en coordonnées polaires 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).
 
<math>rect(z)</math> retourne le nombre complexe <math>z</math> noté en coordonnées polaires 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 : <syntaxhighlight> > rect(exp((i*pi)/4) * 2sqrt(2)</syntaxhighlight> retournera <math>2+2i</math>
+
Exemple : <syntaxhighlight> > rect(exp((i*pi)/4)) * 2sqrt(2)</syntaxhighlight> retournera <math>2+2i</math>
  
 +
=== Linear Algebra (Algèbre linéaire) ===
 +
 +
==== Abs(x) ====
 +
<math>abs(x)</math> retourne la valeur absolue de <math>x</math>.
 +
 +
Exemple : <syntaxhighlight> > abs(-4x)</syntaxhighlight> retournera <math>4 \times abs(x)</math>
 
[[Catégorie:Pages en cours d'écriture]]
 
[[Catégorie:Pages en cours d'écriture]]
 +
 +
==== Adj(m) ====
 +
<math>adj(m)</math> retourne la comatrice de la matrice carrée <math>m</math>.
 +
 +
Exemple : <syntaxhighlight> > adj(((7,x),(8,4y)))</syntaxhighlight> retournera <math>\begin{pmatrix}
 +
4y & -x\\
 +
-8 & 7\\
 +
\end{pmatrix}</math>
 +
 +
==== Coeff(p, x, n) ====
 +
<math>coeff(p,x,n)</math> retourne le coefficient de <math>x^n</math> dans le polynôme <math>p</math>.
 +
 +
Exemple : <syntaxhighlight> > coeff(14x^4-8x^2-7,x,2)</syntaxhighlight> retournera <math>-8</math>
 +
 +
==== Cofactor(m, i, j) ====
 +
<math>cofactor(m,i,j)</math> retourne l'élément <math>a_{i,j}</math> de la matrice <math>A</math>, matrice des cofacteurs de la matrice carrée <math>m</math>
 +
 +
Exemple : <syntaxhighlight> > cofactor(((1,2),(3,4)),2,1)</syntaxhighlight> retournera <math>-2</math>
 +
 +
==== Contract(a, i, j) ====
 +
<math>contract(a,i,j)</math> retourne la trace de la matrice carrée <math>a</math> si <math>i</math> et <math>j</math> sont omis (<math>i</math> et <math>j</math> sont alors respectivement remplacés par <math>1</math> et <math>2</math>).
 +
 +
<syntaxhighlight> > contract((a,b),(c,d))</syntaxhighlight> retournera <math>a+d</math>
 +
 +
//A faire : généraliser la définition.
 +
 +
==== Cross(u, v) ====
 +
<math>cross(\vec{u},\vec{v})</math> retourne le produit vectoriel de <math>\vec{u}</math> et <math>\vec{v}</math>, vecteurs de dimension 3.
 +
 +
Exemple : <syntaxhighlight> > cross((2,1,x),(5,x,2))</syntaxhighlight> retournera <math>\begin{pmatrix}
 +
2-x^2\\
 +
-4+2x\\
 +
-5+2x\\
 +
\end{pmatrix}</math>
 +
 +
==== Curl(x) ====
 +
<math>curl(x)</math> retourne le rotationnel du champ de vecteurs <math>x</math> de dimension 3.
 +
 +
==== Det(m) ====
 +
<math>det(m)</math> retourne le déterminant de la matrice <math>m</math>.
 +
 +
Exemple : <syntaxhighlight> > det((1,2),(3,x))</syntaxhighlight> retournera <math>x-6</math>

Version du 18 mai 2014 à 19:53

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 Nintendo 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ée à 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 fichiers 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 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 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 f(x) = \frac{sin(x)}{x}

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

Soit ensuite n une variable algébrique quelconque. Si on cherche

 > f(n)

Le programme nous répondra par \frac{sin(n)}{n}. Affectons maintenant la valeur \frac{\pi}{6} à n, puis cherchons de nouveau f(n).

 > n = pi/6
 > f(n)

Cette fois ci, la réponse du programme sera \frac{3}{\pi}. En effet, cette fois ci, 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ù 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 (calculs de primitives, ou manipulation de nombres complexes par exemple...).

Description des fonctions

Même s'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)

arg(z) renvoie l'argument du nombre complexe z, donc un angle en radians.

Exemple :
 > arg(1+i) 
retournera \frac{1}{4}\pi

Clock(z)

clock(z) retourne la "clock form" (?).
On a Échec d'analyse (fonction inconnue « \lvert »): clock(z) = \lvert z \rvert*(-1)^\frac{arg(z)}{pi}

Conj(z)

conj(z) retourne le conjugué du nombre complexe z, aussi noté \bar z

Exemple :
 > conj(7+2i)
retournera 7-2i

Imag(z)

imag(z) retourne le coefficient de la partie imaginaire du nombre complexe z. L'opération correspond à Im(z)

Exemple :
 > imag(4-8i)
retournera -8

Mag(z)

mag(z) retourne le module du nombre complexe z soit Échec d'analyse (fonction inconnue « \lvert »): mag(z) = \lvert z \rvert .

Exemple :
 > mag(1+i)
retournera 2^\frac{1}{2} soit \sqrt{2}

Polar(z)

polar(z) retourne la forme polaire du nombre complexe z noté sous forme cartésienne algébrique (i.e. écrit comme z = a+bi avec a et b réels).

Exemple :
polar(2+2i)
retournera 2*2^\frac{1}{2}*exp(\frac{1}{4}i\pi) soit  2 \sqrt{2} e^{\frac{i\pi}{4}}

Real(z)

real(z) retourne la partie réelle du nombre complexe z

Exemple :
 > real(4+6i)
retournera 4

Rect(z)

rect(z) retourne le nombre complexe z noté en coordonnées polaires sous sa forme cartésienne algébrique (i.e. écrit comme z = a+bi avec a et b réels).

Exemple :
 > rect(exp((i*pi)/4)) * 2sqrt(2)
retournera 2+2i

Linear Algebra (Algèbre linéaire)

Abs(x)

abs(x) retourne la valeur absolue de x.

Exemple :
 > abs(-4x)
retournera 4 \times abs(x)

Adj(m)

adj(m) retourne la comatrice de la matrice carrée m.

Exemple :
 > adj(((7,x),(8,4y)))
retournera \begin{pmatrix}
4y & -x\\
-8 & 7\\
\end{pmatrix}

Coeff(p, x, n)

coeff(p,x,n) retourne le coefficient de x^n dans le polynôme p.

Exemple :
 > coeff(14x^4-8x^2-7,x,2)
retournera -8

Cofactor(m, i, j)

cofactor(m,i,j) retourne l'élément a_{i,j} de la matrice A, matrice des cofacteurs de la matrice carrée m

Exemple :
 > cofactor(((1,2),(3,4)),2,1)
retournera -2

Contract(a, i, j)

contract(a,i,j) retourne la trace de la matrice carrée a si i et j sont omis (i et j sont alors respectivement remplacés par 1 et 2).

 > contract((a,b),(c,d))
retournera a+d

//A faire : généraliser la définition.

Cross(u, v)

cross(\vec{u},\vec{v}) retourne le produit vectoriel de \vec{u} et \vec{v}, vecteurs de dimension 3.

Exemple :
 > cross((2,1,x),(5,x,2))
retournera \begin{pmatrix}
2-x^2\\
-4+2x\\
-5+2x\\
\end{pmatrix}

Curl(x)

curl(x) retourne le rotationnel du champ de vecteurs x de dimension 3.

Det(m)

det(m) retourne le déterminant de la matrice m.

Exemple :
 > det((1,2),(3,x))
retournera x-6