Les documentations de ti-cas ...
TI-92 Plus, la première calculatrice évolutive

La première partie de cette documentation a été réalisée par Olivier Miclo pour les Fnac de Lyon.
La seconde partie par Jean Michel Ferrard pour la revue TIMag.

TI-92 Plus : La première calculatrice évolutive.
· PLUS de mémoire : 900Ko disponibles (188 RAM + 702 mémoire de stockage)
· PLUS de performances : programmation possible du calcul formel
· PLUS de fonctions mathématiques : contient toutes les fonctions mathématiques de la TI-92 avec en plus la résolution formelle d’équations différentielles, l’exploration graphique de solution d’équations différentielles avec champs de vecteurs, les valeurs et vecteurs propres, la résolution de systèmes d’équations non linéaires, un solveur d’équation numérique avec déclaration automatique des variables, des centaines de conversions d’unités, l’homogénéisation automatique d’unités physiques …
· PLUS de rapidité : accès à l’assembleur du processeur 68000 à 12MHz pour des programmes d’une extrême rapidité, géométrie plus rapide (animation, déplacement d’objets), rotation graphes 3D en temps réel …
· PLUS de convivialité : menus de géométrie et messages en 5 langues.
· PLUS d’évolution : (ROM Flash) possibilité de faire évoluer sa TI-92+ en chargeant un nouveau code via Internet ou une autre TI-92+.
Le plus gros saut technologique jamais réalisé dans le monde des calculatrices ...

 

Scr92p1.jpg (4278 octets)
Animations 3D temps réél
Mode écran étendu ...
Scr92p2.jpg (4278 octets)
Graphe des équations différentielles
Champs de vecteurs ...
Scr92p3.jpg (4278 octets)
Fonctions implicites
Graphes 3D définis par morceaux ...
Scr92p4.jpg (4278 octets)
Editeur de textes avec ctrl v, c, x /find
Commandes possibles ...
Scr92p5.jpg (4278 octets)
Une première :
Equations différentielles formelles
Scr92p6.jpg (4278 octets)
Nouvelles barres de taches
Mise à jour du code machine ...
scr92p7.gif (3443 octets)
Tracé des lignes de niveau ...
Scr92p8.jpg (4278 octets)
Cstes physiques, conversions
Homogénéisation automatique ...
Scr92p9.jpg (4278 octets)
Environnement géo plus puissant
Macro-constructions (inv cplx ...)   ...

Les plus de la TI-92 Plus (v1,00) comparé à la TI-92.92II
Documentation réalisée par J.M.Ferrard.
Après le succès de la TI-92 et l’avance technologique qu’elle a représenté, Texas Instruments ne s’est pas reposé sur ses lauriers, bien au contraire : le module TI-92II, avec ses 128K de mémoire supplémentaire et la géométrie en français, répondait déjà à l’attente des utilisateurs et inaugurait un nouveau concept de calculatrice " évolutive ".
Aujourd’hui, TI va encore plus loin dans cette direction en proposant un nouveau module, baptisé " TI-92 Plus ", qui est disponible depuis la rentrée 1998, et dont nous vous livrons aujourd’hui les principales caractéristiques.
Précisons que le modèle que nous avons testé en avril 1998 est un prototype. D'ici à la commercialisation du produit, certaines fonctionnalités peuvent encore évoluer.
Quelle mémoire !
Première énorme surprise : la mémoire !
Un appui sur [2nd] [MEM] indique en effet une mémoire disponible totale de plus de 650000 caractères !
Par rapport à la TI-92II, nous gagnons presque 400K (et 702K avec une ROM2.03), sous la forme de " mémoire d’archive ".
Nous voyons aussi que le menu " F1:Reset "  contient deux nouvelles entrées : " 4:Code " et " 5:Init Cert " 

Attention, cet écran provient d'une béta version.

 

La mémoire d’archive

La " mémoire d’archive " est une zone de sauvegarde dans laquelle on peut tout stocker (programmes, expressions, textes, figures, etc.). Quand une variable est " archivée ", elle est protégée contre tout effacement ou recouvrement accidentel. Pour la modifier, la supprimer, ou simplement la renommer, il faut la " désarchiver ". La zone d’archive a donc vocation à recevoir les données et programmes qui sont parfaitement au point.
Une variable archivée peut cependant être évaluée comme les autres.
Cette évaluation (notamment dans le cas des programmes, ou des macros de géométrie) s’accompagne d’une duplication en RAM, cette copie provisoire étant effacée dès que la variable n’est plus " accédée ".
On peut toujours ouvrir un programme archivé dans l’éditeur de texte (pour examiner son contenu), mais toute modification est alors impossible. Pour modifier un programme, il faut le désarchiver (donc le stocker en mémoire vive).
Les opérations d’archivage ou de désarchivage ressemblent à celles du (dé)verrouillage. Elles prennent d’ailleurs place à la suite de celles-ci dans le menu " F1:Manage " de l’environnement " Var-Link ".

Attention, cet écran provient d'une béta version.
Quand une variable est archivée, son nom est précédé du caractère ¤.L’archivage est prioritaire sur le verrouillage. Dans l’exemple ci-dessous, la variable abc est non protégée (en mémoire vive), le programme essai est archivé (en mémoire d’archive), et le texte lismoi est verrouillé en mémoire vive.
 Du point de vue de l’utilisateur, l’archivage d’une variable est donc une opérattion assez " transparente ". En particulier les variables archivées sont toujours accessibles dans leur dossier (folder) d’origine, comme si elles n’avaient pas changé de place !
Signalons que l’archivage et le désarchivage sont possibles en ligne de commande, ou dans un programme. L’utilisateur dispose en effet des instructions Archive et Unarchiv, dont la syntaxe est analogue à celle de l’instruction Delvar.
Toujours la dernière version !
L’option " 4:Code " du menu Reset, dans l’environnement Mem, est une nouveauté extraordinaire : elle permet en effet de mettre à jour la Rom de la TI-92 Plus !
La dernière version du code de la calculatrice sera en effet toujours disponible sur Internet (à l’adresse http://www.ti.com/calc) Il vous suffira de la télécharger avant de la transmettre à votre TI-92 Plus, via le cable ! Toute la ROM de la TI-92 Plus est en effet stockée dans une mémoire flash (une mémoire morte réinscriptible).
Vous êtes ainsi assurés de posséder toujours la version la plus récente de la machine. Ce principe a des prolongements excitants : on peut en effet imaginer que TI proposera des codes personnalisés (ce service serait sans doute payant). Peut-être des " bricoleurs " mettront-ils au point des ROM très " spéciales " (avec un assembleur intégré, par exemple…) ?
Le menu F1 (la " boîte à outils ") de l’environnement Home contient une entrée supplémentaire, baptisée " A:About… ", qui ouvre la fenêtre ci-contre.
Vous prenez ainsi connaissance du numéro de version de la ROM de votre machine, ainsi que d’un numéro de série qui vous sera certainement nécessaire pour " upgrader " votre calculatrice sur Internet.
Attention, cet écran provient d'une béta version.

 

De l’assembleur !

Dans la première copie d’écran de cet article, sous le menu " F1 :Reset ", est cachée une nouveauté capitale : parmi les objets " reconnus " par la TI-92 Plus, il en est un qui intéressera de nombreux utilisateurs, notamment dans la communauté étudiante : il s’agit des programmes en assembleur, que nous pourrons évaluer comme n’importe quel autre programme !
Il semble que TI ait lui-même l’intention de mettre à disposition du public des programmes en assembleur pour étendre les possibilités de la machine (un noyau de statistiques, par exemple) et répondre ainsi à des demandes plus personnalisées.
Un programme en assembleur se présentera sous deux aspects possibles :
     Soit sous la forme d’un objet de type asm. Un tel programme pourra être évalué par son nom, comme n’importe quel autre programme. On ne pourra cependant pas l’ouvrir dans l’éditeur de la TI-92 Plus. C’est sans doute sous cette forme que TI mettra des compléments de code à la disposition des utilisateurs.
     Soit sous la forme d’une chaîne de caractères, qui sera alors évaluée au moyen de l’instruction exec. C’en est donc fini de " Fargo " (le système un peu artisanal qui permet aujourd’hui d’exécuter du code assembleur sur une TI-92). Nul doute qu’apparaitront rapidement (et au fond de la classe) les inévitables " Tétris ", " Casse briques " et autres jeux d’arcade indémodables qui font les délices de beaucoup d’étudiants.
La TI-92 Plus lave plus blanc

Jusqu’ici la touche [F6] (dans l’environnement Home) permettait de " nettoyer " d’un coup toutes les variables dont le nom était formé d’une seule lettre, de a à z. Le mécanisme s’est un peu amélioré avec la TI-92 Plus. [F6] ouvre en effet un menu proposant deux options.
La première est l’habituel " Clear a-z… " et la seconde, baptisée Newprob, envoie l’instruction de même nom en ligne de commande ou dans le programme en cours d’édition.

Newprob effectue un " nettoyage " plus approfondi :
Les variables a-z sont effacées, et les instructions FnOff, PlotsOff, ClrDraw, ClrErr, ClrGraph, ClrHome, ClrIO et ClrTable sont évaluées.

 

Transmission de données

Le menu Link, dans l’environnement Var-Link, s’est enrichi de nouvelles fonctionnalités.
Les options Send et Receive sont déjà connues. Cette dernière permet de recevoir sur une TI-92 Plus ce qui vient d’une TI-92 quelle qu’elle soit.
L’option Send92 est nécessaire pour envoyer des données d’une TI-92 Plus à une TI-92 " normale ".
Attention, cet écran provient d'une béta version.
L’option 4 du menu Link permet de transmettre la totalité du contenu d’une TI-92 Plus (Ram et Archive) à une autre. Comme cette opération réinitialise la mémoire de la machine cible, un message d’avertissement est affiché. L’option 5 permet à une TI-92 Plus de recevoir toute la mémoire d’une autre (il y a un message du même genre).

 

Equations différentielles
Le module TI-92 Plus est clairement ciblé sur l’enseignement post-baccalauréat. La preuve en est fournie par les nouvelles fonctionnalités mathématiques. L’exemple le plus impressionnant est celui du traitement des équations différentielles, tant d’un point de vue symbolique (résolution exacte) que numérique (résolution approchée et tracé d’une ou de plusieurs solutions).

Vous trouverez plus d'informations à ce sujet dans la rubrique "Méthodes" du site.

 

Tracés en 3D
La TI-92 " normale " permet déjà de tracer des surfaces du type z = f (x,y). La TI-92 Plus va (comme son nom l’indique) encore plus loin dans ce domaine. L’innovation la plus spectaculaire est la possibilité de " tourner autour " de cette surface, c’est-à-dire de changer la position de l’observateur en temps réel. Impressionnant !
Il faut pour cela passer en mode de tracé 3D (rien de nouveau jusqu’ici).
Dans notre exemple, nous allons considérer la surface d’équation z = x3y-5xy. Comme d’habitude, on entre cette expression dans l’environnement " Y= ".
Dans l’écran Window nous choisissons ici les intervalles [-2,2] (en x et en y) et [-8,8] (en z).
Cet écran contient un nouveau champ, ncontour (par défaut égal à 5) dont nous reparlerons.
Autre surprise : dans l’écran Format (touches [F1] [9] ou [Diamond] [F] ), on voit que le champ Style propose cinq options. Or seules les options Wire Frame et Hidden Surface étaient présentes jusqu’ici !
A suivre… Pour l’heure choisissons Hidden Surface.
Voici ce que nous obtenons dans l’environnement Graph
Un appui sur la touche [^] agrandit l’image
(et un nouvel appui ramène à la vue initiale) !
La " vue étendue " est une nouveauté et permet de voir notre surface plus en détail. Mais le meilleur reste à venir. Un appui sur la touche de curseur provoque en effet une rotation de la surface (ou, si vous préférez, un déplacement de l’observateur). Toutes les directions de déplacements sont autorisées.
Plus extraordinaire encore, si on maintient appuyée la touche du curseur pendant au moins une seconde, le défilement devient automatique, et l’utilisateur n’a plu qu’à admirer le spectacle (bien entendu, le défilement est plus rapide en mode " grillage " qu’en mode " surface cachée "). Voici quelques points de vue sur la surface précédente :
D’autres progrès très intéressants ont été effectués pour améliorer la visibilité des surfaces tracées, et faciliter ainsi leur compréhension.
Notons par exemple que l’appui sur certaines touches modifie instantanément le point de vue de l’utilisateur :
    - Les touches X, Y, Z réorientent l’angle de vue dans la direction, respectivement, des axes Ox, Oy et Oz.
    - La touche 0 ramène à l’orientation initiale (utile si on a lancé une animation). Chaque appui sur la touche F permet, en boucle, de voir la surface suivant l’un des quatre premiers des 5 modes de tracés évoqués ci-dessus.
Il est donc temps d’évoquer ce que signifient les modes Contour Levels et Wire and Contour.
La surface d’équation z = x2+y2 (paraboloïde de révolution d’axe Oz) nous permettra de bien distinguer ce qu’apportent ces deux nouveaux modes de tracé.
Les quatre " photos " ci-dessous on été prises en " vue étendue ". On est passé de l’une à l’autre par des appuis successifs sur la touche F.
Le nombre de contours a été choisi égal à 10 (par modification de la variable ncontour, dans l’écran Window).
Vue en mode " Face cachée "
Vue en mode " Contours "
Vue en mode " Grillage et Contours "
Vue en mode " Grillage "
Comme on le voit, le mode Contours  permet de découper la surface par des plans horizontaux (cote z = constante). C’est l’équivalent des lignes de niveaux sur une carte géographique. Ce mode est particulièrement utile pour visualiser une surface de révolution d’axe Oz, les contours étant alors des cercles centrés sur cet axe. Signalons qu’il existe une instruction DrwCtour permettant bien sûr d’effectuer de tels tracés.

 

Tracé de fonctions implicites

Même s’il ne s’agit pas à priori de tracé en 3 dimensions, " Implicit Plot " figure comme option de style dans le menu Format relatif au mode de tracé 3D. L’idée est ici de tracer une courbe G du plan donnée par une équation f (x,y) = 0, quand cette égalité ne peut être transformée algébriquement en y = g(x) (qui relèverait alors du mode Function).
Il arrive souvent qu’une telle courbe G puisse être paramétrée en x = x(t), y = y(t), ou en polaires, sous la forme r = r(q). Dans ce cas, on utilisera les modes Parametric ou Polar.
Ce passage à une représentation paramétrique n'est pas forcément facile, ni même possible.
Le mode Implicit Plot peut donc s’avérer très utile (d’autant que l’aspect des courbes obtenues peut justement donner à l’utilisateur l’idée d’utiliser tel ou tel paramètre).
Si les tracés de fonctions implicites relèvent du mode 3D, c’est que la TI-92 Plus considère la courbe f (x, y) = 0 comme étant la coupe de la surface z = f (x, y) par le plan z = 0 : c’est un peu comme si on utilisait le mode Contours, en donnant à ncontour la valeur 1.
La première chose à faire ici est, dans le menu Format du mode de tracé 3D, de choisir l’option 5:Implicit Plot. Dans l’exemple qui va suivre, nous avons également choisi de tracer les axes de coordonnées (option Axes dans le menu Format).
Nous allons tracer la courbe x3 + xy + y4 = 0. On entre l’expression dans l’écran " Y= ".
La sélection du mode Implicit Plot provoque une réorientation de l’observateur, qui va voir la courbe (c’est-à-dire le contour z=0 de la surface z = f(x,y)) depuis " le haut " (avec une colatitude y égale à 0°), l’axe des abcisses apparaissant horizontal et dirigé vers la droite (la longitude q est égale à –90°).
Notons que ce point de vue peut être modifié.

 

 

Solver numérique interactif
Cela manquait à la TI-92 d’autant que c’est une fonctionnalité présente sur d’autres machines. La TI-92 Plus propose maintenant un environnement interactif de résolution numérique d’une équation. De quoi s’agit-il ? On cherche à résoudre une équation f (x, y, z, …) = 0, l’expression f dépendant d’une ou de plusieurs variables x, y, z (les noms peuvent être quelconques).
L’une de ces variables sera l’ " inconnue ". Quant aux autres, l’utilisateur devra préciser leur valeur, avant de " lancer " la résolution par rapport à l’inconnue. Il pourra au préalable préciser un intervalle de recherche (soit pour isoler une solution parmi d’autres, soit pour accélérer un peu l’obtention du résultat).
Précisons que la résolution s’effectue sur l’ensemble des nombres réels, et qu’il est exclu de trouver d’éventuelles solutions complexes.
Comme on le constate ici (l’écran a été obtenu par un appui sur la touche [APPS] ) le " solveur numérique " est une application à part entière.
La TI-92 Plus nous demande d’entrer l’équation :
Nous allons ici résoudre mx+1 = ln(x).
Dès l’appui sur [ENTER] , la TI-92 Plus analyse l’équation et elle affiche les noms des variables qui y figurent. Ici ni m ni x n’ont de valeur pour l’instant.
bound " désigne l’intervalle dans lequel la solution sera recherchée. Par défaut, c’est pratiquement ]-¥ ,+¥ [.
On a posé m =  ½, positionné le curseur sur la ligne de x, et actionné la touche [F2] (solve).
La TI-92 Plus affiche alors la solution trouvée x, ainsi qu’une estimation " left-rt " de la différence entre le membre gauche et le membre droit de l’équation pour cette valeur de x. Ici cette différence est nulle (et c’est le signe d’une " très bonne " solution).
Avec la même valeur de m, il y a une autre solution x.
Nous l’avons obtenue en modifiant l’intervalle de recherche (puis en relançant un " solve sur x ").
Cet environnement de résolution d’équations a d’autres fonctionnalités très intéressantes. Il était en effet possible ici de " deviner " la présence d’une deuxième solution en utilisant le menu F3:Graph.
Voici ce que nous avons obtenu en utilisant l’option 4:ZoomFit (cadrage automatique en ordonnée. Ici l’intervalle des abscisses est [-10,10]).
Le mode " trace " permet alors de se déplacer sur la courbe (qui représente la différence left-right des deux membres de l’équation) et d’approcher la deuxième solution " à la main ".
Si nous revenons alors à l’écran du solveur (touches [2nd] [<-!->] ), l’option F4:Get Cursor, importe dans la variable x l’abscisse du point où se trouvait le curseur, ainsi que l’intervalle {xmin, xmax}.
On note également que la différence left-rt est évaluée pour cette abscisse.
Précisons qu’un retour sur la permière ligne permet de saisir une nouvelle équation (donc sans sortir de l’environnement), et que l’option F5:Eqns donne à choisir parmi les différentes équations qui ont déjà été utilisées dans le solveur numérique.
Le menu format (touches [Diamond] [F] ) permet de choisir combien d’équations peuvent être mémorisées (de une à onze, la valeur par défaut).
Enfin, indépendamment de cette notion d’historique, il est possible, dans le menu F1 (boîte à outils) de sauvegarder ou de réouvrir une équation.
N’ayons pas peur des mots : cet environnement de résolution d’équations est un chef d’oeuvre !

 

Unités physiques
La TI-92 Plus permet d’effectuer des calculs, et notamment des conversions, entre les unités de mesure : masse, énergie, intensité lumineuse, etc. On peut même définir son propre système d’unités. Enfin les principales constantes physiques sont connues de la TI-92 Plus.
Une boîte de dialogue, qu’on ouvre par la combinaison de touches [Diamond] [P], affiche toutes les catégories d’unités reconnues par la TI-92 Plus, et il y en a beaucoup :
Unités reconnues : page 1
Unités reconnues : page 2
Unités reconnues : page 3
Nous avions remarqué précédemment que l’écran " Mode " de la TI-92 Plus contenait trois pages.
La troisième page propose le choix du système d’unités (Internationl, ENG/US ou personnalisé).
Par défaut, le système SI est actif.
Comme il a été dit, la TI-92 Plus reconnaît un certain nombre de constantes physiques classiques. La liste de ces constantes (20 au total) apparaît dans le premier sous-menu de la boîte de dialogue des unités (touches [Diamond] [P]).
Dans ce sous-menu, le fait de choisir l’une de ces constantes envoie son nom en ligne de commande (et son expression au premier niveau de Home si vous validez par [ENTER] ).
C’est de cette façon que nous avons ici sélectionné puis évalué quatre constantes classiques.
Vous remarquez que les noms d’unités (et cela apparaissait déjà dans les écrans précédents) commencent par le caractère de soulignement _ (touche [2nd] [P]) et c’est même ce qui les caractérise sur la TI-92 Plus.
On peut même définir ses propres raccourcis pour désigner une combinaison d’unités.
On crée ici l’unité _acc pour désigner une accélération exprimée en " mètres par seconde carrée ".
On constate alors que la TI-92 Plus effectue la conversion automatique en Newtons du produit d’une masse par une telle accélération.
Pour effectuer une conversion d’unité, on utilise l’opérateur  > (accessible par la touche [2nd] [Y]).
Les noms d’unités peuvent être obtenus par sélection dans la boîte de dialogue des unités ([2nd] [P]) ou bien directement tapés au clavier. On a ici converti des Joules en Kilowatt-heure, des Pascals en Bars, et des inches par seconde en kilomètres par jour…
scr92p43.gif (2586 octets)
Le cas des conversions de température est un peu particulier (car il n'y a pas proportionnalité, les origines n’étant pas prises au même " endroit ").
L’instruction tmpCnv() permet de convertir des températures entre degrés Celsius, Farenheit, Kelvin et Rankin. L’instruction Dtmpcnv() convertit quant à elle des écarts de température.
Signalons l’existence de l’instruction getUnits qui permet de " récupérer ", dans une liste, les principaux modes en cours concernant les unités, et de l’instruction setUnits, qui permet quant à elle de spécifier ces paramètres (et par exemple de restaurer les choix qui auraient préalablement été lus avec getUnits : ceci est particulièrement utile en programmation).

 

Calculs algébriques avancés
La TI-92 Plus apporte de nouvelles fonctions très importantes dans le domaine de l’algèbre (essentiellement linéaire), sans compter quelques améliorations (notamment dans la résolution des sytèmes d’équations).
Vecteurs & Valeurs propres

On peut maintenant calculer des valeurs propres et des vecteurs propres.
La fonction eigVl (Eigen Values) donne les valeurs propres d’une matrice, et eigVc (Eigen Vectors) en donne les vecteurs propres.
Ces deux fonctions n’agissent que sur des matrices numériques (pas de variables formelles) et renvoient des résultat réels approchés.
Les vecteurs propres obtenus sont unitaires.
La TI-92 Plus ... plus tolérante


Une matrice carrée A est inversible si et seulement si son déterminant est non nul (ça n’est pas une nouveauté de la TI-92 Plus !). Selon que A est inversible ou non, certains calculs deviennent impossibles ou donnent des résultats très différents (on pense à la recherche des solutions de systèmes qui ne sont pas de Cramer, et notamment à celle des vecteurs propres).
Malheureusement, quand le calcul est effectué avec des réels approchés, les déterminants sont entachés d’erreurs d’arrondi, ce qui est gènant pour répérer ceux qui sont nuls.
Pour améliorer le contrôle de l’utilisateur dans ce genre de situation, la TI-92 Plus offre une notion de tolérance. Ce paramètre, toujours optionnel, peut être ajouté en dernière position lors de l’appel à de nombreuses fonctions en rapport avec les calculs de déterminant.

Prenons l’exemple de la matrice M. La fonction eigVl en donne des valeurs propres l1, l2 et l3 approchées.
Théoriquement, le déterminant de M-l1 devrait être nul. Or la fonction det nous donne ici environ 3e-11.
En ajoutant un paramètre de tolérance (ici 1e-10), on constate que le déterminant est maintenant considéré comme exactement égal à 0.
Evidemment, l’utilisateur " moyen " voyant un déterminant égal à 3e-11 aura compris que ce déterminant est nul. Mais une instruction comme rref, dont les résultats dépendent de l’inversibilité ou non de la matrice, peuvent être trompés par ce manque de précision.
Avec le même exemple, rref " tombe dans le panneau " en jugeant que M-l1 est non inversible.
Si on ajoute un paramètre de tolérance, l’instruction rref " comprend " que M-l1 est de rang 2. Les deux premières lignes du résultat nous renseignent alors valablement sur le noyau de M-l1, c’est-à-dire sur le sous-espace propre de M pour la valeur propre l1.

Des exponentielles (entre autre) de matrices
Signalons (même si ça n’est pas utile tous les jours) que la TI-92 Plus peut maintenant calculer l’exponentielle d’une matrice M, et même son logarithme, son cosinus, etc…
Ces calculs sont effectués par utilisation de séries entières, et ils utilisent les résultats fournis par les fonctions eigVl et eigVc.
Les fonctions arithmétiques n’agissent que sur des matrices contenant des constantes (entières ou rationnelles, réelles ou complexes).
Elles renvoient toujours un résultat au format numérique approché. A titre d’exemple, on a calculé l’exponentielle B d’une matrice A, puis le logarithme de : on retrouve bien la matrice A.


Décomposition LU

L’instruction LU effectue la décomposition d’une matrice A sous la forme PA=LU, où P est une matrice inversible, L une matrice triangulaire inférieure " à diagonale unité ", et U une matrice triangulaire supérieure. Dans l’exemple ci-dessous, pour des raisons de place, on a affiché L et U " côte à côte ". On a ensuite affiché P puis vérifié l’égalité PA = LU.

scr92p51.gif (2583 octets)
La décomposition LU s’applique aussi à des matrices contenant des coefficients symboliques.
Notons enfin qu’une valeur de tolérance peut être transmise en cinquième argument.

 

Décomposition QR

L’instruction QR décompose une matrice A sous la forme A = QR, où Q est une matrice orthogonale et R une matrice triangulaire supérieure à coefficients diagonaux positifs.
Comme LU, l’instruction QR peut traiter des matrices symboliques. La différence est dans la méthode employée : Gram-Schmidt pour une matrice symbolique ou exacte, et Householder pour une matrice contenant au moins un réel approché (présence d’un point décimal).
Attention cependant : la décomposition par Gram-Schmidt d’une matrice contenant des variables formelles peut prendre un " certain temps " et produire un résultat compliqué.
NB : une valeur de tolérance peut être transmise en quatrième argument.

 

Résolution de système d'équations

Nous avons gardé le meilleur pour la fin : les fonctions Solve et nZeros sont maintenant capables de résoudre des systèmes d’équations. Il suffit de les séparer par and, et d’indiquer ensuite la variable ou la liste des variables par rapport auxquelles on résout le système.
Résolution d’un système linéaire :
Résolution d’un système non linéaire :
scr92p56.gif (2676 octets)

Dans le cas d’un système d’équations, la fonction Zeros obéit à une syntaxe un peu différente.

On a ici résolu le même système de deux équations que dans l’exemple précédent, mais le résultat consiste ici en une matrice dont chaque ligne représente une solution.

 

La TI-92 Plus ... plus de programmation !
A l'assaut des sous expressions


Une nouvelle instruction va faire le régal des programmeurs. Il s’agit de la fonction part, dont le rôle est d’extraire les composantes d’une expression donnée.
Une expression est codée en mémoire sous la forme d’un " arbre ", avec une racine et des branches. Par exemple, dans l’expression min(2sin(x),1+cos(x)), la racine est l’opérateur min, et les deux branches sont les arguments 2sin(x) et 1+cos(x). On voit que les branches peuvent elles-mêmes être des expressions possédant leur propre structure hiérarchisée.
Finalement, on peut imaginer qu’une expression contient des rameaux plus ou moins éloignés de la racine (les composantes ultimes étant les feuilles de l’arbre). L’instruction part permet de " cueillir " ces feuilles, et plus généralement toute composante d’une expression donnée.

part(exp,0) renvoie l’opérateur racine de exp. En l’abscence de deuxième argument, elle renvoie le nombre d’opérandes de cet opérateur.
Enfin part(exp,n) renvoie le n-ème opérande.
On voit que des applications répétées de cette fonction permettent d’extraire n’importe quelle composante de l’expression initiale.
On prendra garde que la TI-92 commence par simplifier l’expression, et que cette simplification peut réordonner différemment les arguments des opérateurs commutatifs (addition, produit, fonction min, etc.) par rapport à l’ordre utilisé lors de la saisie de l’expression (on le voit bien sur l’exemple précédent). Il convient donc d’être prudent avec ce type d’opérateurs, avant de donner un rôle à ses arguments en fonction de leur position.
Un meilleur accès à " Custom " et à " Home "

Toujours dans le domaine de la programmation, on peut noter la présence des instructions CustmOn et CustmOff, qui respectivement activent et désactivent la barre de menu personnalisée construite avec l’instruction Custom.
Jusqu’ici l’accès au menu Customisé n’était possible que manuellement, avec la combinaison de touches [2nd] [CUSTOM] .
Notons également l’instruction DispHome, qui (comme son nom l’indique) permet d’afficher le contenu de l’écran Home depuis un programme (alors que jusqu’à présent seul l’écran I/O pouvait être visualisé pendant l’exécution de la procédure).

Quelques derniers petits "plus"

Nous arrivons au bout de cette présentation, où nous parcouru dans les grandes lignes ce qu’apporte la TI-92 Plus. Il reste encore de nombreuses améliorations de détail, qui contribuent à faire de la TI-92 Plus une calculatrice encore plus extraordinaire que son ainée.

Variables complexes

On sait que la TI-92 " sans plus " considère qu’une variable purement formelle possède, par défaut, un contenu réel. Cela est particulièrement visible avec les fonctions real, imag, conj.
On peut maintenant utiliser des noms de variables formelles et indiquer à la TI-92 Plus que leur contenu " virtuel " est un nombre complexe. Il suffit pour cela que le nom de ces variables se termine par le caractère de soulignement _ (obtenu par [2nd] [P]).
On voit ici que la variable formelle x est considérée comme réelle, alors que la variable formelle z_ est considérée comme contenant un nombre complexe.
On note aussi la possibilité d’écrire un nombre complexe sous la forme " module-argument ", sans avoir besoin d’utiliser la fonction exponentielle.
La syntaxe est (q) (parenthèses obligatoires).
Le caractère Ð séparant le module et l’argument est obtenu par appui sur les touches [2nd] [F] .
NB : la notation (q) est utilisé par la TI-92 Plus pour afficher les résultats complexes, si le mode d’affichage est Polar et si le mode de calcul des angles est degree.
Deux modes statistiques de ... plus

Logistic et SinReg.
Le modèle Logistic effectue un ajustement par une expression y = a/(1+b*exp(cx))+; quant à SinReg, il utilise un modèle basé sur l’expression y = asin(bx+c).

L'instruction BldData

Elle place dans la variable sysData les informations (sous forme de table) qui ont été utilisées pour tracer le graphe en cours (on peut aussi spécifier un nom de variable quelconque). Cette instruction est valable dans tous les modes graphiques. Tout se passe donc comme si on mémorisait le contenu de la table de valeurs associée à un graphique.
Des déplacements ... plus rapides

On connaît déjà les déplacements par pages (dans l’éditeur de programmes, par exemple, ou dans un menu, etc.) obtenus en préfixant par [2nd] l’appui sur le curseur.
On peut maintenant aller encore plus vite, en préfixant par la touche [Diamond] .
Voici deux exemples parmi d’autres :
    - Dans un éditeur (de programmes, de textes, de matrices,etc.), la combinaison [Diamond] [Curseur Haut] amène à la première ligne et [Diamond] [Curseur Bas] conduit à la dernière ligne (utile si le texte fait une centaine de lignes, par exemple !).
    - Dans l’historique de l’environnement Home, [Diamond] [Curseur Haut] nous place sur la ligne de saisie la plus ancienne (auparavant, il fallait monter page par page).

Des raccourcis pour 9 programmes

Pour vos programmes préférés, vous disposerez maintenant de 9 raccourcis-clavier possibles.
La séquence [Diamond] [1] , par exemple, lance le programme baptisé kbdprgm1. On peut aller jusqu’à [Diamond] [9] , qui lance le programme nommé kbdprgm9. Ces noms de programmes sont imposés. Rien ne vous empêche bien sûr de conserver le nom de votre programme préféré et de placer un appel à ce programme comme seule instruction dans kbdprgm1.

Et la géométrie ?

Nous n’avons pas parlé de la géométrie jusqu’ici, tout simplement parce qu’il n’y a pas beaucoup de nouveautés. Signalons cependant que la personnalisation linguistique (en clair le choix du français) est devenue une option du menu F8.
On peut maintenant redéfinir la situation d’objets géométriques (et plus seulement celles des points). D’autre part, on peut tester deux nouvelles propriétés (en plus de l’alignement, du parallélisme et de la perpendicularité) : l’appartenance d’un point à un objet, et l’équidistance d’un point relativement à deux autres points.
Il semble également que l’application géométrie ait été optimisée, et qu’elle soit moins gourmande en mémoire, mais nous ne l’avons pas vérifié de façon exhaustive.

CONCLUSION
On va finir par être blasé, mais tout de même : quelle merveille !
Ce qui est assez extraordinaire avec la TI-92 Plus, c’est qu’elle donne à la fois un sentiment de familiarité (la machine, extérieurement, semble être la même, et de fait l’interface est inchangée) et de grande nouveauté (le solveur interactif, les équations différentielles, les animations de surface en 3D, les unités, la programmation en assembleur, etc.).
Et puis la TI-92 c’est un sacré saut technologique, avec ses 600K de mémoire et la possibilité de mettre à jour la version de la ROM par téléchargement du nouveau code sur l’Internet.
Reste une seule inconnue, qui peut tempérer les optimismes : le prix public. Ne rêvons pas : une telle perfection se paie. Espérons tout de même que Texas-Instruments, qui a certainement investi des sommes considérables dans ce projet, saura faire les efforts nécessaires pour mettre cette technologie au service du plus grand nombre.