Eigenmath : Différence entre versions

De Casio Universal Wiki
Aller à : navigation, rechercher
(Passage brutal de la page sous KaTeX.)
 
(6 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{MsgBox|title=Cette page présente des erreurs.|theme=orange|text=Le code de cette page génère des erreurs d'interprétation à corriger.}}
 
 
 
{{InfoBox Software
 
{{InfoBox Software
 
| nom=Eigenmath
 
| nom=Eigenmath
Ligne 11 : Ligne 9 :
 
| Première version=23 Août 2013
 
| Première version=23 Août 2013
 
| Dernière version=19 Mars 2014
 
| Dernière version=19 Mars 2014
| SouventMàJ=En développement
+
| SouventMàJ=En développement à cadence réduite
 
| langage=Anglais
 
| langage=Anglais
 
| langage de programmation=C / C++
 
| langage de programmation=C / C++
 
| genre=Calcul Formel / CAS
 
| genre=Calcul Formel / CAS
| plateforme=Casio Prizm (FxCg10-20)
+
| plateforme=Casio Prizm et Graph 75/85/95
 
| licence=GNU GPL v2
 
| licence=GNU GPL v2
| site web=[http://gbl08ma.com/casio-prizm-software/ Site de l'auteur]
+
| site web=[http://gbl08ma.com/casio-prizm-software/ Version Prizm] et [http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=3035&page=last Version Graph]
 
}}
 
}}
  
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.  
+
Eigenmath est un logiciel libre de calcul formel (ou symbolique) développé à partir de 2002 pour PC. Codé en C++ et léger, il a fait l'objet de nombreux portages sur diverses plateformes.
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 notamment disponible pour les calculatrices [[:Prizm|Prizm]], suite au travail de Gbl08ma et constitue le premier (et actuellement le seul) add-in de calcul formel pour cette calculatrice, ainsi que sur [[:Catégorie:Graph_75/85/95|Graph 75/85/95]] suite au travail de la communauté CnCalc et Planète-Casio.
 +
 
 +
== Interface et fonctionnement ==
 +
 
 +
=== Prizm ===
  
== Description de l'interface ==
+
Une description exhaustive et à jour des particularités du portage sur Prizm est disponible à [https://github.com/gbl08ma/eigenmath/wiki/Usage-instructions cette adresse], en anglais cependant.
  
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).
+
=== Graph 75/85/95 ===
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'heure de l'écriture de l'article, le programme s'organise d'une manière similaire à l'application Run-Mat de Casio, c'est à dire organisé autour d'une zone centrale de saisie, et d'affichage des résultats.
L'onglet ''Load'' permet d'afficher un explorateur de fichiers vous permettant de sélectionner un script (sous forme de fichier texte) à exécuter.
+
La saisie se fait de manière «linéaire». Le clavier de la machine se comporte au maximum comme dans les applications natives de Casio, les fonctions usuelles (opérateurs, fonctions trigonométriques, etc) et caractères alpha-numériques étant disponibles avec les mêmes combinaisons de touches.
''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 />
+
Par défaut, les résultats complexes sont affichés en utilisant un moteur de rendu en écriture, mais leur affichage n'est pas encore intégré dans la console. Il faudra alors se positionner sur la ligne correspondant au résultat souhaité, où apparaîtra alors : «Pretty print», et presser [EXE] pour qu'un fenêtre s'ouvre permettant de visualiser le résultat. Si celui ci est trop grand pour être affiché dans l'écran, il sera possible de se déplacer grâce aux flèches. Il est possible de désactiver ce mode de visualisation, pour retrouver des résultats sous forme «linéaire» intégrés à la console en décochant l'option «pretty print» dans le menu ([Shift] + [Menu], puis [EXE] sur l'option), réglage qui sera sauvegardé.
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.
+
L'historique de la console conserve les 50 dernières lignes. Il est possible de réutiliser une ligne déjà tapée en se rendant sur celle-ci, puis en saisissant  [Shift] + [8], ce qui collera la ligne souhaitée dans la ligne courante d'entrée.
  
== Concepts du calcul formel ==
+
Pour une utilisation plus facile des fonctionnalités offertes par Eigenmath, six menus associés aux touches [F1] à [F6] sont disponibles par défaut et affichés en bas de l'écran. Pour accéder aux fonctions de chacun des menus, il suffit de presser la touche [F⋅] correspondante, de se déplacer sur la fonction souhaitée et de presser [EXE] ce qui l'ajoutera dans la ligne courante (on peut aussi directement presser le nombre correspondant à cette fonction lorsque le menu est affiché). Ces menus ne sont pas exhaustifs, et ne regroupent pas l'intégralité des fonctions disponibles dans Eigenmath. Il est cependant possible de les personnaliser pour qu'ils soient plus adapatés à une utilisation précise. En effet, au premier lancement d'Eigenmath, est crée un fichier ''FMENU.cfg'' à la racine de la mémoire de stockage contenant le menu affiché. Il suffit d'éditer ce fichier (soit directement sur la machine à l'aide d'un éditeur comme [http://www.planet-casio.com/Fr/programmes/programme2186-1-edit-Neptune45-programme.html Edit] par exemple, soit sur un ordinateur et en [[Transferts|transférant]] le fichier sur la machine une fois celui-ci modifié) dont la syntaxe est assez explicite (prendre pour modèle celui par défaut). Au plus 7 entrées par catégorie sont utilisables.
 +
 
 +
Il est aussi possible de créer ses propres fonctions qui seront chargées au démarrage du programme en créant un fichier ''USER.eig'' à la racine de la mémoire de stockage. Ce fichier devra contenir, sur chaque ligne, le définition d'une fonction ou une affectation telle qu'elle serait effectuée en direct dans la zone de saisie. D'éventuelles erreurs (de syntaxe ou mathématiques par exemple) seront signalée au démarrage. Le fichier suivant permet, par exemple, d'affecteur au démarrage une valeur à \( n \) et de définir la fonction sinus cardinal :
 +
n = pi/2
 +
sinc(x) = sin(x)/x
 +
 
 +
Le fonction sera par la suite disponible dans le programme ; on aura par exemple :
 +
 
 +
<syntaxhighlight>
 +
> sinc(n)
 +
2/pi
 +
</syntaxhighlight>
 +
 
 +
== Variables spéciales ==
 +
Par défaut, deux variables sont initialisées par Eigenmath, et il est souvent intéressant de ne pas les redéfinir pendant l'éxécution.
 +
 
 +
=== last ===
 +
La variable ''last'', accessible via la combinaison [Shift]+[(-)] pointe résultat de la dernière opération réussie, et permet donc d'utiliser ce résultat dans la prochaine opération.
 +
=== i ===
 +
La variable ''i'', qui correspond, comme habituellement, à l'unité imaginaire, est défini au lancement du programme par :
 +
<syntaxhighlight> > i = sqrt(-1)</syntaxhighlight>
  
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 (calculs de primitives, ou manipulations de nombres complexes par exemple...).
 
  
 
== Description des fonctions ==
 
== 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, s'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 naviguer en utilisant les "catégories" de fonctions.
+
Sont décrites ici les fonctions disponibles dans Eigenmath. Si il est possible de taper le nom des fonctions caractère par caractère, souvent, elles sont accessibles plus simplement dans le programme via une combinaison de touche ou un menu. Lorsque c'est le cas, cela est précisé ici.
 +
 
 +
=== Nombres complexes ===
 +
 
 +
==== Opérations élémentaires ====
 +
 
 +
{{Commande|Argument|<syntaxhighlight> > arg(z)</syntaxhighlight>|Calcule l'argument du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Conjugaison|<syntaxhighlight> > conj(z)</syntaxhighlight>|Calcule le conjugué du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Partie imaginaire|<syntaxhighlight> > imag(z)</syntaxhighlight>|Calcule la partie imaginaire du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Partie réelle|<syntaxhighlight> > real(z)</syntaxhighlight>|Calcule la partie réelle du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Module|<syntaxhighlight> > mag(z)</syntaxhighlight>|Calcule le module du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
==== Changement de forme ====
 +
 
 +
 
 +
{{Commande|Forme polaire|<syntaxhighlight> > polar(z)</syntaxhighlight>|Donne la forme polaire du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Forme cartésienne|<syntaxhighlight> > rect(z)</syntaxhighlight>|Donne le forme polaire du nombre complexe \( z \).|menu ''Complex number'' du catalogue|menu ''Cplx'' ([F3])}}
 +
 
 +
 
 +
{{Commande|Forme étrange|<syntaxhighlight> > clock(z)</syntaxhighlight>|Donne la «clock form» du nombre complexe \( z \), c'est une sorte de forme polaire, mais basée sur -1 et non sur l'exponentielle ; je ne l'ai jamais vue ailleurs, et ne sais pas vraiment comment ça se nomme en français…|menu ''Complex number'' du catalogue|}}
  
=== Complex Number (Nombres Complexes) ===
 
  
Dans cette partie, nous aurons notamment besoin de travailler avec la variable i, représentant le nombre imaginaire du même nom. Elle est accessible grâce à la combinaison [Shift] + [0].
+
=== Algèbre linéaire ===
La variable i est en fait simplement définie au lancement du programme (ou après une exécution de ''Clear'') ainsi :
+
 
<syntaxhighlight> > i = sqrt(-1)</syntaxhighlight>
+
==== Définir une matrice ====
Ainsi il est possible de redéfinir la valeur de i en fonction des besoins (cela reste néanmoins peu recommandé et utile), mais il est aussi conseillé d'effectuer un ''Clear'' avant de commencer à travailler avec les nombres complexes, car même si il est peu probable que la variable i ait été modifiée, cela reste possible.
+
 
 +
{{Commande|Matrice identité|<syntaxhighlight> > unit(n)</syntaxhighlight>|Renvoie la matrice identité de taille \( n \).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Matrice nulle|<syntaxhighlight> > zero(i,j,…)</syntaxhighlight>|Renvoie la matrice nulle de taille \( i \times j \). Lorsque utilisée avec plus d'arguments, la fonction renvoie le tenseur nul de la dimension précisée.|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Matrice de Hilbert|<syntaxhighlight> > hilbert(n)</syntaxhighlight>|Renvoie la matrice de Hilbert d'ordre \( n \).|menu ''Linear algebra'' du catalogue|menu ''alge'' ([F4])}}
 +
 
 +
 
 +
De manière général, on utilise la syntaxe suivante pour définir une matrice :
 +
<syntaxhighlight> > M = ((1,2,3),(4,5,6))</syntaxhighlight>
 +
On a ainsi défini la matrice \( M = \begin{pmatrix}
 +
1 & 2 & 3\\
 +
4 & 5 & 6\\
 +
\end{pmatrix} \)
 +
 
 +
==== Définir un vecteur ====
 +
 
 +
On définit un vecteur avec la syntaxe suivante :
 +
 
 +
<syntaxhighlight> > x = (a,b,c,…)</syntaxhighlight>
 +
 
 +
==== Opérations sur les matrices ====
 +
 
 +
{{Commande|Comatrice|<syntaxhighlight> > adj(M)</syntaxhighlight>|Renvoie la comatrice de la matrice carrée \( M \).|menu ''Linear algebra'' du catalogue|menu ''alge'' ([F4])}}
 +
 
 +
 
 +
{{Commande|Cofacteur|<syntaxhighlight> > cofactor(a,i,j)</syntaxhighlight>|Retourne le cofacteur \( A_{i,j} \) de la matrice carrée \( a \).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Trace|<syntaxhighlight> > contract(M)</syntaxhighlight>|Retourne la trace de la matrice carrée \( M \). Plus généralement, si \( M \) est un tenseur, il est possible de préciser, en arguments supplémentaires, les composantes sur lesquelles sommer (sur les matrices, les arguments supplémentaires sont donc, par défaut, égaux à 1 et 2)|menu ''Linear algebra'' du catalogue|menu ''alge'' ([F4])}}
 +
 
 +
 
 +
{{Commande|Déterminant|<syntaxhighlight> > det(M)</syntaxhighlight>|Calcule le déterminant de la matrice carrée \( M \).|menu ''Linear algebra'' du catalogue|menu ''alge'' ([F4])}}
 +
 
 +
 
 +
{{Commande|Dimension|<syntaxhighlight> > dim(M,n)</syntaxhighlight>|Retourne la dimension de \( M \) selon la n-ème composante (1 pour le nombre de ligne, 2 pour les colonnes ; se généralise aux tenseurs).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Valeurs propres|<syntaxhighlight> > eigenval(M)</syntaxhighlight>|Retourne les valeurs propres de \( M \).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Vecteurs propres|<syntaxhighlight> > eigenvec(M)</syntaxhighlight>|Retourne les vecteurs propres de \( M \).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Valeurs et vecteurs propres|<syntaxhighlight> > eigen(M)</syntaxhighlight>|Stocke les valeurs propres de \( M \) sur la diagonale de la matrice \( D \) et les vecteurs propres de \( M \) dans les colonnes de la matrice \( Q \) (où \( D \) et \( Q \) sont les matrices désignées par les symboles ''D'' et ''Q'' dans Eigenmath)|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Inverse|<syntaxhighlight> > inv(M)</syntaxhighlight>|Retourne la matrice inverse de \( M \).|menu ''Linear algebra'' du catalogue|menu ''alge'' ([F4])}}
 +
 
 +
 
 +
{{Commande|Rang|<syntaxhighlight> > rank(M)</syntaxhighlight>|Calcule le rang de la matrice \( M \). (Plus généralement, s'adapte aux tenseurs)|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Produit dyadique|<syntaxhighlight> > outer(A,B)</syntaxhighlight>|Calcule le produit dyadique de \( A \) et de \( B \).|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Transposition|<syntaxhighlight> > transpose(M)</syntaxhighlight>|Renvoie la matrice transposée de \( M \). S'adapte aux tenseurs si sont précisées en plus les composantes sur lesquelles transposer.|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
==== Opérations sur les vecteurs ====
 +
 
 +
{{Commande|Produit scalaire|<syntaxhighlight> > dot(x,y)</syntaxhighlight>|Calcule le produit scalaire de \( x \) par \( y \). S'adapte plus généralements aux tenseurs et donc aux matrices.|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Produit vectoriel|<syntaxhighlight> > cross(x,y)</syntaxhighlight>|Calcule le produit vectoriel de \( x \) par \( y \), vecteurs de dimension 3.|menu ''Linear algebra'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Rotationnel|<syntaxhighlight> > curl(x)</syntaxhighlight>|Calcule le rotationnel du vecteur \( x \) de dimension 3.|menu ''Linear algebra'' du catalogue|menu 'alge' ([F4])}}
 +
 
 +
=== Polynômes, fractions ===
 +
 
 +
On confond polynômes et fonctions polynomiales, dans la mesure où les opérations relatives aux polynômes s'appliquent à des fonctions définies dans Eigenmath sous la forme :
 +
<syntaxhighlight> > P(x) = a * x^n + b * x^(n-1) + … + c</syntaxhighlight>
 +
 
 +
==== Opérations élémentaires ====
 +
 
 +
 
 +
{{Commande|Degré|<syntaxhighlight> > deg(P,x)</syntaxhighlight>|Retourne le degré du polynôme \( P \) en la variable \( x \). Si la variable étudiée est \( x \), le second paramètre peut être omis.|menu ''Polynomial'' du catalogue|menu ''poly'' ([F5])}}
 +
 
 +
 
 +
{{Commande|Coefficient dominant|<syntaxhighlight> > leading(P,x)</syntaxhighlight>|Retourne le coefficient dominant du polynôme \( P \) en \( x \).|menu ''Polynomial'' du catalogue|}}
 +
 
 +
 
 +
{{Commande|Coefficient|<syntaxhighlight> > coeff(P,x,n)</syntaxhighlight>|Retourne le coefficient de \( x^n \) dans le polynôme \( P \).|menu ''Linear algebra'' du catalogue|menu ''poly'' ([F5])}}
 +
 
 +
 
 +
==== Autres opérations ====
 +
 
 +
 
 +
{{Commande|Décomposition en éléments simples|<syntaxhighlight> > expand(R,x)</syntaxhighlight>|Retourne la décomposition en éléments simples de la fraction rationnelle \( Q \) en \( x \). Pour des fractions en \( x \), le second argument peut être omis.|menu ''Polynomial'' du catalogue|menu ''calc'' ([F1])}}
 +
 
 +
 
 +
{{Commande|Factorisation|<syntaxhighlight> > factor(P,x,…)</syntaxhighlight>|Factorise le polynôme \( P \) en \( x \). Pour des polynômes à plusieurs variables, il est possible de préciser plusieurs variables selon lesquelles le polynôme sera successivment factorisé. Pour un polynôme en \( x \), le second argument peut être omis.|menu ''Polynomial'' du catalogue|menu ''calc'' ([F1])}}
 +
 
 +
 
 +
{{Commande|Division euclidienne|<syntaxhighlight> > quotient(P,Q,x)</syntaxhighlight>|Retourne le quotient de la division euclidienne du polynôme \( P \) par \( Q \) (polynômes en \( x \), ce dernier argument peut être omis si les polynômes sont tous deux en \( x \)).|menu ''Polynomial'' du catalogue|menu ''poly'' ([F5])}}
 +
 
 +
 
 +
{{Commande|Racines|<syntaxhighlight> > roots(P,x)
 +
> nroots(P,x)</syntaxhighlight>|La première fonction retourne les racines du polynôme P sous forme exacte lorsque le programme parvient à les déterminer. La seconde calcule des valeurs approchées des racines de P. Le dernier argument peut être omis si le polynôme est en \( x \).|menu ''Polynomial'' du catalogue|menu ''poly'' ([F5])}}
 +
 
 +
=== Arithmétique ===
 +
 
 +
==== Nombre premiers ====
 +
 
 +
{{Commande|N-ième nombre premier|<syntaxhighlight> > prime(n)</syntaxhighlight>|Retourne le n-ième nombre premier. \( n \) doit être compris entre 1 et 10000|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
 +
 
 +
 
 +
{{Commande|Test de primalité|<syntaxhighlight> > isprime(n)</syntaxhighlight>|Retourne 1 si le nombre \( n \) est premier, 0 sinon|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
 +
 
 +
 
 +
{{Commande|Factorisation|<syntaxhighlight> > factor(n)</syntaxhighlight>|Retourne la décomposition en produit de facteurs premiers de \( n \)|menu ''Polynomial'' du catalogue|menu ''arit'' ([F6])}}
 +
 
 +
==== Opérations sur les entiers ====
 +
 
 +
{{Commande|PGCD|<syntaxhighlight> > gcd(a,b)</syntaxhighlight>|Retourne le PGCD de \( a \) et de \( b \)|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
 +
 
  
==== Arg(z) ====
+
{{Commande|PPCM|<syntaxhighlight> > lcm(a,b)</syntaxhighlight>|Retourne le PPCM de \( a \) et de \( b \)|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
<math>arg(z)</math> renvoie l'argument du nombre complexe <math>z</math>, donc un angle en radians.
 
  
Exemple : <syntaxhighlight> > arg(1+i) </syntaxhighlight> retournera <math>\frac{1}{4}\pi</math>
 
  
==== Clock(z) ====
+
{{Commande|Division euclidienne|<syntaxhighlight> > mod(a,b)</syntaxhighlight>|Retourne le reste dans le division euclidienne de \( a \) par \( b \)|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
<math>clock(z)</math> retourne la "clock form" (?).<br />
 
On a <math>clock(z) = \left| z \right|*(-1)^\frac{arg(z)}{pi}</math>
 
  
==== Conj(z) ====
 
<math>conj(z)</math> retourne le conjugué du nombre complexe <math>z</math>, aussi noté <math>\bar z</math>
 
  
Exemple : <syntaxhighlight> > conj(7+2i)</syntaxhighlight> retournera <math>7-2i</math>
+
{{Commande|PPCM|<syntaxhighlight> > lcm(a,b)</syntaxhighlight>|Retourne le PPCM de \( a \) et de \( b \)|menu ''Calculus'' du catalogue|menu ''arit'' ([F6])}}
  
==== 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>
 
  
Exemple : <syntaxhighlight> > imag(4-8i)</syntaxhighlight> retournera <math>-8</math>
+
{{Commande|Diviseurs|<syntaxhighlight> > divisor(n)</syntaxhighlight>|Retourne les diviseurs de \( n \). Plus généralement, si l'argument est une expression, seront retournées les diviseurs de l'expression.|menu ''Calculus'' du catalogue|}}
  
==== Mag(z) ====
 
<math>mag(z)</math> retourne le module du nombre complexe <math>z</math> soit <math>mag(z) = \left| z \right|</math>.
 
  
Exemple : <syntaxhighlight> > mag(1+i)</syntaxhighlight>retournera <math>2^\frac{1}{2}</math> soit <math>\sqrt{2}</math>
+
=== Analyse ===
  
==== Polar(z) ====
+
==== Trigonométrie ====
<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 : <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>
+
Les fonctions suivantes sont implémentées :
 +
{|
 +
|-
 +
| <syntaxhighlight> > cos(x) </syntaxhighlight> || <syntaxhighlight> > arccos(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > sin(x) </syntaxhighlight> || <syntaxhighlight> > arcsin(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > tan(x) </syntaxhighlight> || <syntaxhighlight> > arctan(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > cosh(x) </syntaxhighlight> || <syntaxhighlight> > arccosh(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > sinh(x) </syntaxhighlight> || <syntaxhighlight> > arcsinh(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > tanh(x) </syntaxhighlight> || <syntaxhighlight> > arctanh(x) </syntaxhighlight>
 +
|-
 +
| <syntaxhighlight> > expcos(x) </syntaxhighlight> || <syntaxhighlight> > expsin(x) </syntaxhighlight>
 +
|}
  
==== Real(z) ====
+
==== Opérations ====
<math>real(z)</math> retourne la partie réelle du nombre complexe <math>z</math>
 
  
Exemple : <syntaxhighlight> > real(4+6i)</syntaxhighlight> retournera <math>4</math>
 
  
==== Rect(z) ====
+
{{Commande|Dérivation|<syntaxhighlight> > d(f,x)</syntaxhighlight>|Calcule la dérivé de l'expression \( f \) selon la variable \( x \)|menu ''Calculus'' du catalogue|menu ''calc'' ([F6]) (entrée ''derive'' )}}
<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>
 
  
=== Linear Algebra (Algèbre linéaire) ===
+
{{Commande|Primitivation|<syntaxhighlight> > integral(f,x)</syntaxhighlight>|Calcule une primitive de \( f \) par rapport à la variable \( x \)|menu ''Calculus'' du catalogue|menu ''calc'' ([F6])}}
  
==== 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>
+
{{Commande|Calcul d'intégrale (simple)|<syntaxhighlight> > defint(f,x,a,b,…)</syntaxhighlight>|Calcule l'intégrale de \( f \) par rapport à la variable \( x \) entre \( a \) et \( b \).|menu ''Calculus'' du catalogue|}}
[[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}
+
{{Commande|Calcul d'intégrale (multiple)|<syntaxhighlight> > defint(f,x,a,b,y,c,d,)</syntaxhighlight>|Calcule l'intégrale double de \( f \) par rapport à la variable \( x \) entre \( a \) et \( b \), et par rapport à \( y \) entre \( c \) et \( d \). Il est possible de calculer des intégrales d'ordre supérieur en rajoutant des arguments à la fonction.|menu ''Calculus'' du catalogue|}}
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>
+
{{Commande|Développement en série de Taylor|<syntaxhighlight> > taylor(f,x,n,a)</syntaxhighlight>|Retourne la série de Taylor d'ordre \( n \) de \( f \) par rapport à la variable \( x \) au voisinnage de \( a \)|menu ''Calculus'' du catalogue|menu ''calc'' ([F6])}}
  
==== 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>
+
==== Simplification, changement de forme ====
  
==== 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>
+
{{Commande|Forme exponentielle|<syntaxhighlight> > circexp(f)</syntaxhighlight>|Retourne une expression de \( f \), où les fonctions circulaires sont sous forme exponentielle. Permet parfois de simplifier certaines expressions.<|menu ''Calculus'' du catalogue|menu ''calc'' ([F6]) (entrée ''derive('')}}
  
//A faire : généraliser la définition.
 
  
==== Cross(u, v) ====
+
{{Commande|Simplification|<syntaxhighlight> > simplify(f)</syntaxhighlight>|Essaie d'aboutir à une forme plus simple de \( f \).|menu ''Other'' du catalogue|menu ''calc'' ([F6])}}
<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) ====
+
{{Commande|Facteurs communs|<syntaxhighlight> > condense(f)</syntaxhighlight>|Repère et met en facteurs d'éventuels facteurs communs dans l'expression de \( f \).|menu ''Other'' du catalogue|}}
<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>
+
{{Commande|Mise au même dénominateur|<syntaxhighlight> > rationalize(f)</syntaxhighlight>|Met les termes de \( f \) au même dénominateur.|menu ''Other'' du catalogue|}}

Version actuelle datée du 12 janvier 2019 à 18:16

Eigenmath
Eigenmath logo.png
Logo de Eigenmath
Eigenmath screenshot.png
Screenshot du portage sur Prizm
AuteurGbl08ma
Souvent mis à jourEn développement à cadence réduite
Langage de programmationC / C++
GenreCalcul Formel / CAS
PlateformeCasio Prizm et Graph 75/85/95
Site webVersion Prizm et Version Graph


Eigenmath est un logiciel libre de calcul formel (ou symbolique) développé à partir de 2002 pour PC. Codé en C++ et léger, il a fait l'objet de nombreux portages sur diverses plateformes. Il est notamment 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, ainsi que sur Graph 75/85/95 suite au travail de la communauté CnCalc et Planète-Casio.

Interface et fonctionnement

Prizm

Une description exhaustive et à jour des particularités du portage sur Prizm est disponible à cette adresse, en anglais cependant.

Graph 75/85/95

À l'heure de l'écriture de l'article, le programme s'organise d'une manière similaire à l'application Run-Mat de Casio, c'est à dire organisé autour d'une zone centrale de saisie, et d'affichage des résultats. La saisie se fait de manière «linéaire». Le clavier de la machine se comporte au maximum comme dans les applications natives de Casio, les fonctions usuelles (opérateurs, fonctions trigonométriques, etc) et caractères alpha-numériques étant disponibles avec les mêmes combinaisons de touches. Par défaut, les résultats complexes sont affichés en utilisant un moteur de rendu en écriture, mais leur affichage n'est pas encore intégré dans la console. Il faudra alors se positionner sur la ligne correspondant au résultat souhaité, où apparaîtra alors : «Pretty print», et presser [EXE] pour qu'un fenêtre s'ouvre permettant de visualiser le résultat. Si celui ci est trop grand pour être affiché dans l'écran, il sera possible de se déplacer grâce aux flèches. Il est possible de désactiver ce mode de visualisation, pour retrouver des résultats sous forme «linéaire» intégrés à la console en décochant l'option «pretty print» dans le menu ([Shift] + [Menu], puis [EXE] sur l'option), réglage qui sera sauvegardé. L'historique de la console conserve les 50 dernières lignes. Il est possible de réutiliser une ligne déjà tapée en se rendant sur celle-ci, puis en saisissant [Shift] + [8], ce qui collera la ligne souhaitée dans la ligne courante d'entrée.

Pour une utilisation plus facile des fonctionnalités offertes par Eigenmath, six menus associés aux touches [F1] à [F6] sont disponibles par défaut et affichés en bas de l'écran. Pour accéder aux fonctions de chacun des menus, il suffit de presser la touche [F⋅] correspondante, de se déplacer sur la fonction souhaitée et de presser [EXE] ce qui l'ajoutera dans la ligne courante (on peut aussi directement presser le nombre correspondant à cette fonction lorsque le menu est affiché). Ces menus ne sont pas exhaustifs, et ne regroupent pas l'intégralité des fonctions disponibles dans Eigenmath. Il est cependant possible de les personnaliser pour qu'ils soient plus adapatés à une utilisation précise. En effet, au premier lancement d'Eigenmath, est crée un fichier FMENU.cfg à la racine de la mémoire de stockage contenant le menu affiché. Il suffit d'éditer ce fichier (soit directement sur la machine à l'aide d'un éditeur comme Edit par exemple, soit sur un ordinateur et en transférant le fichier sur la machine une fois celui-ci modifié) dont la syntaxe est assez explicite (prendre pour modèle celui par défaut). Au plus 7 entrées par catégorie sont utilisables.

Il est aussi possible de créer ses propres fonctions qui seront chargées au démarrage du programme en créant un fichier USER.eig à la racine de la mémoire de stockage. Ce fichier devra contenir, sur chaque ligne, le définition d'une fonction ou une affectation telle qu'elle serait effectuée en direct dans la zone de saisie. D'éventuelles erreurs (de syntaxe ou mathématiques par exemple) seront signalée au démarrage. Le fichier suivant permet, par exemple, d'affecteur au démarrage une valeur à \( n \) et de définir la fonction sinus cardinal :

n = pi/2
sinc(x) = sin(x)/x

Le fonction sera par la suite disponible dans le programme ; on aura par exemple :

 > sinc(n)
2/pi

Variables spéciales

Par défaut, deux variables sont initialisées par Eigenmath, et il est souvent intéressant de ne pas les redéfinir pendant l'éxécution.

last

La variable last, accessible via la combinaison [Shift]+[(-)] pointe résultat de la dernière opération réussie, et permet donc d'utiliser ce résultat dans la prochaine opération.

i

La variable i, qui correspond, comme habituellement, à l'unité imaginaire, est défini au lancement du programme par :

 > i = sqrt(-1)


Description des fonctions

Sont décrites ici les fonctions disponibles dans Eigenmath. Si il est possible de taper le nom des fonctions caractère par caractère, souvent, elles sont accessibles plus simplement dans le programme via une combinaison de touche ou un menu. Lorsque c'est le cas, cela est précisé ici.

Nombres complexes

Opérations élémentaires

Argument
 > arg(z)

Calcule l'argument du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Conjugaison
 > conj(z)

Calcule le conjugué du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Partie imaginaire
 > imag(z)

Calcule la partie imaginaire du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Partie réelle
 > real(z)

Calcule la partie réelle du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Module
 > mag(z)

Calcule le module du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Changement de forme

Forme polaire
 > polar(z)

Donne la forme polaire du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Forme cartésienne
 > rect(z)

Donne le forme polaire du nombre complexe \( z \).

Prizm : menu Complex number du catalogue

Graph 75/85/95 : menu Cplx ([F3])


Forme étrange
 > clock(z)

Donne la «clock form» du nombre complexe \( z \), c'est une sorte de forme polaire, mais basée sur -1 et non sur l'exponentielle ; je ne l'ai jamais vue ailleurs, et ne sais pas vraiment comment ça se nomme en français…

Prizm : menu Complex number du catalogue


Algèbre linéaire

Définir une matrice

Matrice identité
 > unit(n)

Renvoie la matrice identité de taille \( n \).

Prizm : menu Linear algebra du catalogue


Matrice nulle
 > zero(i,j,…)

Renvoie la matrice nulle de taille \( i \times j \). Lorsque utilisée avec plus d'arguments, la fonction renvoie le tenseur nul de la dimension précisée.

Prizm : menu Linear algebra du catalogue


Matrice de Hilbert
 > hilbert(n)

Renvoie la matrice de Hilbert d'ordre \( n \).

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu alge ([F4])


De manière général, on utilise la syntaxe suivante pour définir une matrice :

 > M = ((1,2,3),(4,5,6))

On a ainsi défini la matrice \( M = \begin{pmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ \end{pmatrix} \)

Définir un vecteur

On définit un vecteur avec la syntaxe suivante :

 > x = (a,b,c,…)

Opérations sur les matrices

Comatrice
 > adj(M)

Renvoie la comatrice de la matrice carrée \( M \).

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu alge ([F4])


Cofacteur
 > cofactor(a,i,j)

Retourne le cofacteur \( A_{i,j} \) de la matrice carrée \( a \).

Prizm : menu Linear algebra du catalogue


Trace
 > contract(M)

Retourne la trace de la matrice carrée \( M \). Plus généralement, si \( M \) est un tenseur, il est possible de préciser, en arguments supplémentaires, les composantes sur lesquelles sommer (sur les matrices, les arguments supplémentaires sont donc, par défaut, égaux à 1 et 2)

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu alge ([F4])


Déterminant
 > det(M)

Calcule le déterminant de la matrice carrée \( M \).

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu alge ([F4])


Dimension
 > dim(M,n)

Retourne la dimension de \( M \) selon la n-ème composante (1 pour le nombre de ligne, 2 pour les colonnes ; se généralise aux tenseurs).

Prizm : menu Linear algebra du catalogue


Valeurs propres
 > eigenval(M)

Retourne les valeurs propres de \( M \).

Prizm : menu Linear algebra du catalogue


Vecteurs propres
 > eigenvec(M)

Retourne les vecteurs propres de \( M \).

Prizm : menu Linear algebra du catalogue


Valeurs et vecteurs propres
 > eigen(M)

Stocke les valeurs propres de \( M \) sur la diagonale de la matrice \( D \) et les vecteurs propres de \( M \) dans les colonnes de la matrice \( Q \) (où \( D \) et \( Q \) sont les matrices désignées par les symboles D et Q dans Eigenmath)

Prizm : menu Linear algebra du catalogue


Inverse
 > inv(M)

Retourne la matrice inverse de \( M \).

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu alge ([F4])


Rang
 > rank(M)

Calcule le rang de la matrice \( M \). (Plus généralement, s'adapte aux tenseurs)

Prizm : menu Linear algebra du catalogue


Produit dyadique
 > outer(A,B)

Calcule le produit dyadique de \( A \) et de \( B \).

Prizm : menu Linear algebra du catalogue


Transposition
 > transpose(M)

Renvoie la matrice transposée de \( M \). S'adapte aux tenseurs si sont précisées en plus les composantes sur lesquelles transposer.

Prizm : menu Linear algebra du catalogue

Opérations sur les vecteurs

Produit scalaire
 > dot(x,y)

Calcule le produit scalaire de \( x \) par \( y \). S'adapte plus généralements aux tenseurs et donc aux matrices.

Prizm : menu Linear algebra du catalogue


Produit vectoriel
 > cross(x,y)

Calcule le produit vectoriel de \( x \) par \( y \), vecteurs de dimension 3.

Prizm : menu Linear algebra du catalogue


Rotationnel
 > curl(x)

Calcule le rotationnel du vecteur \( x \) de dimension 3.

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu 'alge' ([F4])

Polynômes, fractions

On confond polynômes et fonctions polynomiales, dans la mesure où les opérations relatives aux polynômes s'appliquent à des fonctions définies dans Eigenmath sous la forme :

 > P(x) = a * x^n + b * x^(n-1) + … + c

Opérations élémentaires

Degré
 > deg(P,x)

Retourne le degré du polynôme \( P \) en la variable \( x \). Si la variable étudiée est \( x \), le second paramètre peut être omis.

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu poly ([F5])


Coefficient dominant
 > leading(P,x)

Retourne le coefficient dominant du polynôme \( P \) en \( x \).

Prizm : menu Polynomial du catalogue


Coefficient
 > coeff(P,x,n)

Retourne le coefficient de \( x^n \) dans le polynôme \( P \).

Prizm : menu Linear algebra du catalogue

Graph 75/85/95 : menu poly ([F5])


Autres opérations

Décomposition en éléments simples
 > expand(R,x)

Retourne la décomposition en éléments simples de la fraction rationnelle \( Q \) en \( x \). Pour des fractions en \( x \), le second argument peut être omis.

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu calc ([F1])


Factorisation
 > factor(P,x,…)

Factorise le polynôme \( P \) en \( x \). Pour des polynômes à plusieurs variables, il est possible de préciser plusieurs variables selon lesquelles le polynôme sera successivment factorisé. Pour un polynôme en \( x \), le second argument peut être omis.

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu calc ([F1])


Division euclidienne
 > quotient(P,Q,x)

Retourne le quotient de la division euclidienne du polynôme \( P \) par \( Q \) (polynômes en \( x \), ce dernier argument peut être omis si les polynômes sont tous deux en \( x \)).

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu poly ([F5])


Racines
 > roots(P,x)
 > nroots(P,x)

La première fonction retourne les racines du polynôme P sous forme exacte lorsque le programme parvient à les déterminer. La seconde calcule des valeurs approchées des racines de P. Le dernier argument peut être omis si le polynôme est en \( x \).

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu poly ([F5])

Arithmétique

Nombre premiers

N-ième nombre premier
 > prime(n)

Retourne le n-ième nombre premier. \( n \) doit être compris entre 1 et 10000

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


Test de primalité
 > isprime(n)

Retourne 1 si le nombre \( n \) est premier, 0 sinon

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


Factorisation
 > factor(n)

Retourne la décomposition en produit de facteurs premiers de \( n \)

Prizm : menu Polynomial du catalogue

Graph 75/85/95 : menu arit ([F6])

Opérations sur les entiers

PGCD
 > gcd(a,b)

Retourne le PGCD de \( a \) et de \( b \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


PPCM
 > lcm(a,b)

Retourne le PPCM de \( a \) et de \( b \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


Division euclidienne
 > mod(a,b)

Retourne le reste dans le division euclidienne de \( a \) par \( b \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


PPCM
 > lcm(a,b)

Retourne le PPCM de \( a \) et de \( b \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu arit ([F6])


Diviseurs
 > divisor(n)

Retourne les diviseurs de \( n \). Plus généralement, si l'argument est une expression, seront retournées les diviseurs de l'expression.

Prizm : menu Calculus du catalogue


Analyse

Trigonométrie

Les fonctions suivantes sont implémentées :

 > cos(x) 
 > arccos(x) 
 > sin(x) 
 > arcsin(x) 
 > tan(x) 
 > arctan(x) 
 > cosh(x) 
 > arccosh(x) 
 > sinh(x) 
 > arcsinh(x) 
 > tanh(x) 
 > arctanh(x) 
 > expcos(x) 
 > expsin(x) 

Opérations

Dérivation
 > d(f,x)

Calcule la dérivé de l'expression \( f \) selon la variable \( x \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu calc ([F6]) (entrée derive )


Primitivation
 > integral(f,x)

Calcule une primitive de \( f \) par rapport à la variable \( x \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu calc ([F6])


Calcul d'intégrale (simple)
 > defint(f,x,a,b,…)

Calcule l'intégrale de \( f \) par rapport à la variable \( x \) entre \( a \) et \( b \).

Prizm : menu Calculus du catalogue


Calcul d'intégrale (multiple)
 > defint(f,x,a,b,y,c,d,…)

Calcule l'intégrale double de \( f \) par rapport à la variable \( x \) entre \( a \) et \( b \), et par rapport à \( y \) entre \( c \) et \( d \). Il est possible de calculer des intégrales d'ordre supérieur en rajoutant des arguments à la fonction.

Prizm : menu Calculus du catalogue


Développement en série de Taylor
 > taylor(f,x,n,a)

Retourne la série de Taylor d'ordre \( n \) de \( f \) par rapport à la variable \( x \) au voisinnage de \( a \)

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu calc ([F6])


Simplification, changement de forme

Forme exponentielle
 > circexp(f)

Retourne une expression de \( f \), où les fonctions circulaires sont sous forme exponentielle. Permet parfois de simplifier certaines expressions.<

Prizm : menu Calculus du catalogue

Graph 75/85/95 : menu calc ([F6]) (entrée derive()


Simplification
 > simplify(f)

Essaie d'aboutir à une forme plus simple de \( f \).

Prizm : menu Other du catalogue

Graph 75/85/95 : menu calc ([F6])


Facteurs communs
 > condense(f)

Repère et met en facteurs d'éventuels facteurs communs dans l'expression de \( f \).

Prizm : menu Other du catalogue


Mise au même dénominateur
 > rationalize(f)

Met les termes de \( f \) au même dénominateur.

Prizm : menu Other du catalogue