\documentclass{article}
\usepackage{amssymb}
\usepackage[pdftex]{hyperref}
%\title{HP49}
%\date{}
\begin{document}
%\textheight 25cm
%\textwidth 16.5cm \columnsep 10pt \columnseprule 0pt
\begin{center}
{\Large La HP49 en r\'esum\'e}\\
\end{center}
%\maketitle
\vskip 0.2cm
\section{Mise en route.}
{\bf Pour commencer} lancer l'\'emulateur en tapant {\tt emu49} dans une fen\^etre {\tt xterm}.\\
{\bf Pour arr\^eter} taper {\tt kw} dans une fen\^etre {\tt xterm} ({\tt kw} 
raccourci de  {\tt killall wine)}).\\
\vskip 0.2cm
{\bf Revenir \`a l'\'ecran HOME.}\\
Pour interrompre une commande ou quitter une application, tapez
sur la touche \verb|ON|. Pour revenir \`a l'\'ecran HOME, il est
parfois n\'ecessaire d'appuyer sur la touche \verb|ON| plusieurs fois
(par exemple pour quitter le traceur de fonctions, \verb|ON| renvoie
\`a la fen\^etre de d\'efinition de la fonction, il faut appuyer
sur \verb|ON| une deuxi\`eme fois).

\vskip 0.2cm

{\bf Cr\'eer des objets} \\
Pour cr\'eer un objet alg\'ebrique, utilisez la touche \verb|EQW|, entrez
votre objet comme d\'ecrit dans le guide, tapez \verb|ENTER| ce qui
recopie l'objet de l'\'editeur d'\'equations dans la ligne de commandes.
Vous pouvez bien sur entrer l'objet alg\'ebrique directement dans la
ligne de commande, mais vous devrez alors faire attention aux 
parenth\`eses.

Pour cr\'eer une matrice, utilisez shift \verb|shift-bleu EQW| (\verb|MTRW| matrixwriter), entrez ensuite les coefficients de la matrice
un par un en vous d\'epla\c{c}ant avec les touches du curseur.
Vous pouvez aussi entrer directement en ligne de commande par exemple
\verb|[[1,2],[3,4]]|.

A l'int\'erieur de l'\'editeur d'\'equations ou de matrices ou dans
la ligne de commandes, la touche \verb|HIST| permet d'acc\'eder
\`a l'historique pour par exemple recopier une ligne. La touche
\verb|shift-rouge CAT| (\verb|CHARS|) permet d'ins\'erer un caract\`ere 
sp\'ecial non accessible au clavier.

Les objets peuvent \^etre stock\'es dans des variables de nom
arbitraire, quelque soit le type de la variable 
(matrice, vecteur, objet alg\'ebrique, chaine de caract\`ere, 
liste, programme, etc.), par exemple pour stocker 
la matrice pr\'ec\'edente
dans la variable \verb|MAT|, on entre la matrice dans la ligne
de commande puis on tape sur la touche \verb|STO>| puis on tape
\verb|MAT| et on valide par \verb|ENTER|.

Vous pouvez connaitre la liste et le contenu des variables 
existantes en utilisant
l'explorateur de fichiers: touche shift-bleu \verb|APPS| (\verb|FILES|).
S\'electionnez ensuite \verb|HOME|, les autres possibilit\'es
propos\'ees (port 0, 1 et 2) servent \`a archiver des variables.
On peut ainsi (gr\^ace au menu du bandeau) \'editer le contenu d'une variable, modifier son nom, cr\'eer un r\'epertoire, changer une ou plusieurs variables 
de r\'epertoire, purger une variable, etc (pour voir tous les  menus du bandeau
il faut se servir de la touche \verb|NXT|).

\vskip 0.2cm

{\bf Les menus}\\
On distingue deux types de menus:
\begin{itemize}
\item le bandeau affich\'e en derni\`ere ligne de l'\'ecran graphique
contient des commandes qui s'ex\'ecutent en tapant sur les touches F1
\`a F6 correspondantes. Si il y a plus de 6 commandes la touche \verb|NXT| 
permet d'afficher les commandes suivantes.
\item les ``choosebox'' qui s'affichent en plein \'ecran, on s\'electionne
une commande avec les fl\`eches du curseur et la touche \verb|ENTER|.
\end{itemize}
Le syst\`eme de la HP49G est assez souple et vous permet de lancer
certaines applications \`a l'int\'erieur d'autres applications, par
exemple on peut lancer l'application \'editeur d'\'equations
\`a l'int\'erieur de l'application \'editeur de matrices pour entrer
un coefficient de la matrice. Ceci peut avoir pour effet de
changer le bandeau qui est affich\'e en bas de l'\'ecran. 
Pour retrouver le bandeau de l'application courante, on utilise la touche
\verb|TOOL|. 

Les touches permettant d'acc\'eder aux diff\'erents menus sont:
\begin{itemize}
\item \verb|APPS|: menu g\'en\'eral des applications
\item \verb|CAT|: catalogue des commandes par ordre alphab\'etique
\item \verb|SYMB|: menu g\'en\'eral des commandes de calcul symbolique
\end{itemize}
On peut aussi acc\'eder \`a un menu sp\'ecifique en tapant directement
la touche correspondante: \verb|S.SLV| (symbolic solver),
\verb|NUM.SLV| (numeric solver), \verb|EXP&LN| (fonctions de
r\'e\'ecriture des \verb|EXP| et \verb|LN|), \verb|TRIG| (r\'e\'ecriture
de fonctions trigonom\'etriques), \verb|CALC| (calcul diff\'erentiel
et int\'egral, d\'eveloppements limit\'es), \verb|ALG| (manipulations
alg\`ebriques), \verb|MATRICES|, \verb|STAT| (statistiques), \verb|ARIT|
(arithm\'etique enti\`ere et polynomiale), \verb|CMPLX| (nombres
complexes)

\vskip 0.2cm

{\bf Configuration}
La touche \verb|MODE| permet de configurer les modes de fonctionnement
de la calculatrice. Dans l'\'ecran principal, on peut r\'egler entres
autres le format d'affichage des nombres r\'eels et l'unit\'e d'angle.
En appuyant sur la touche \verb|CAS| du bandeau, on param\`etre le
logiciel de calcul formel (mode r\'eel/complexe, mode exact/approx,
variable courante, variable \verb|MODULO| pour faire des calculs
modulaires, mode \`a-pas/mode direct, etc.).

La commande \verb|CASCFG| permet de remettre les param\`etres
de configuration du calcul formel \`a leurs valeurs par d\'efaut.

\vskip 0.2cm

{\bf Aide}
En lan\c{c}ant la commande {\tt HELP} vous avez acc\`es \`a l'aide en ligne sur
 toutes les fonctions de calcul formel  : on peut taper {\tt HELP} ou, trouver
cette commande dans le bandeau de la touche {\tt TOOL} (puis {\tt NXT}).\\
\vskip 0.2cm

{\bf \'Evaluation}
Comme dans tout logiciel de calcul formel, l'ex\'ecution de la ligne
de commande est en fait une \'evaluation. \'Evaluer un objet alg\'ebrique
veut dire remplacer les variables par leur contenu et effectuer un
certain nombre de simplifications, par exemple si la variable \verb|A|
contient 0, \verb|SIN(A)| est \'evalu\'e en commen\c{c}ant par l'argument
de \verb|SIN|, donc \verb|A| est remplac\'e par 0, puis la fonction
\verb|SIN| s'ex\'ecute sur l'argument 0 et renvoie 0.

C'est pour cette raison que \verb|DEFINE(F(X)=SIN(X)| ou \verb|PURGE(A)|
va renvoyer une erreur \verb|Bad argument type| si les
variable \verb|F| ou \verb|A| contiennent une valeur.
Il est n\'ecessaire dans ce cas de dire au loigiciel de 
{\bf ne pas \'evaluer} la variable \verb|A| ou l'expression 
\verb|F(X)=SIN(X)|. On utilise pour cela l'op\'eration {\em quote}
qui diff\`ere l'\'evaluation. Sur la HP49G, on tapera le signe \verb|''|,
par exemple \verb|DEFINE('F(X)=SIN(X)')| ou \verb|DEFINE(QUOTE(F(X)=SIN(X)))|.

\vskip 0.2cm

{\bf En cas de blocage.}
L'appui simultan\'e sur les touches \verb|ON| et \verb|F3| relance
normalement la calculatrice sans perdre de donn\'ees, sauf l'historique.

Si cette commande ne fonctionne pas, on peut aussi introduire un
trombonne dans le petit trou \`a l'arri\`ere de la calculatrice
et appuyer sur \verb|ON|, ceci a le m\^eme effet que \verb|ON-F3|.

En dernier recours, si la m\'emoire est corrompue, on appuie
simultan\'ement sur \verb|ON|, \verb|F1| et \verb|F6| ce qui efface
compl\`etement la m\'emoire et reconfigure la calculatrice dans les
modes par d\'efaut.
\section{Aspects math\'ematiques}
\subsection{Les bases du langage}
On \'ecrit les commandes en mode alpha en majuscules ou on les appelle depuis un menu.\\
 L'assignation se fait avec la touche ${\tt STO \blacktriangleright}$  \ \ . \\
Exemples:\\ ${\tt 100! \blacktriangleright A\ ENTER}$  
(donne la valeur 100! \`a la variable {\tt A}, et affiche le r\'esultat)\\
{\tt FACTOR(A) ENTER} 
(donne la d\'ecomposition de ${\tt A=100!}$ en facteurs premiers).\\
Pour enlever une assignation \`a une variable, on utilise la commande
\verb|PURGE|, par exemple : \verb|PURGE('A')|\\
Il est possible de faire des hypoth\`eses sur une variable sans
lui assigner pour autant une valeur pr\'ecise \`a l'aide de la
commande \verb|ASSUME|.
\subsection{Quelques commandes utiles.}
\begin{itemize}
\item {\tt COMB(n,k)} (coefficient binomial 
${n\choose k}=C_n^k={n!\over k!(n-k)!}$),
\item ${\tt \int_A^B F(X)dX}$ (int\`egre $F(X)$ de $A$ \`a $B$),
\item {\tt INTVX(F(X))} (primitive de $F(X)$ par rapport \`a la variable contenue dans {\tt VX}),
\item {\tt RISCH(F(X),X)} (primitive de $F(X)$ par rapport \`a la variable $X$),
\item {\tt DERIV(F(X),X)} (d\'erive  $F(X)$ par rapport \`a $X$),
\item ${\tt LDEC(X.EXP(3.X),X^2+1)}$
(cherche la solution g\'en\'erale
d'une \'equation diff\'erentielle lin\'eaire \`a coefficients constants, ici
 $y''+y=x.e^{3.x}$),
\item {\tt XNUM(A)} ou ${\tt \rightarrow NUM(A)}$
(donne l'\'evaluation num\'erique avec pr\'ecision machine de $A$),
\item {\tt EXPAND(A)} (d\'eveloppe $A$), 
\item {\tt FACTOR(A)} (factorise $A$),
\item {\tt SIMPLIFY(A)} (essaie de simplifier $A$),
\item {\tt FACTOR(N)} (factorise un entier $N$), 
\item {\tt LIMIT(F(X),X=A)} (limite de $F(X)$ lorsque $X\longrightarrow A$),
\item {\tt MOD} ({\tt A mod N} calcule le reste de $A$ modulo $N$),
\item {\tt SERIES(F(X),X=A,K)} (d\'eveloppement limit\'e \`a l'ordre $K$ de $F(X)$ au
voisinage de $X=A$),
\item ${\tt SOLVE(X^4-1=3,X)}$ (cherche les solutions en $X$ de $X^4-1=3$), 
\item {\tt SUBST(F(X),X=A)} (remplace $X$ par $A$ dans $F(X)$), 
\item ${\tt \Sigma}$ permet de calculer certaines sommes discr\`etes
(par exemple les fractions rationnelles).
\end{itemize}
\subsubsection{Commandes de la HP49 d'algebre lineaire} \label{sec:erable}
Pour entrer une matrices $A$ vous pouvez utiliser le MatrixWriter 
(\verb|MTRW| sur le clavier). On peut aussi cr\'eer une matrice
dont l'\'el\'ement $m_{i,j}$ est donn\'e par une fonction
$(i,j) \rightarrow m_{i,j}$ \`a l'aide de \verb|LC2M|.

\begin{itemize}
\item \verb|IDN(n)| permet de creer une matrice identit\'e en fonction
de sa taille, \verb|RANM({n,m})| cr\'ee une matrice al\'eatoire de
taille $n\times m$ dont
les coefficients sont des entiers compris entre -9 et 9
\item \verb|TRAN| calcule la transpos\'ee d'une matrice,
\item \verb|RREF| pour faire une r\'eduction de Gau\ss,
\item \verb|LU| pour faire une factorisation LU,
\item \verb|COND| pour calculer le conditionnement d'une matrice 
($||A|| \times ||A^{-1}||$),
\item \verb|LINSOLVE| pour r\'esoudre un syst\`eme lin\'eaire.
\item \verb|BASIS| donne la base d'un espace vectoriel,
\verb|IBASIS| donne une base de l'intersection de deux espaces vectoriels,
\item \verb|KER| donne une base du noyau d'une application lin\'eaire de 
matrice $A$, \verb|IMAGE| donne une base de l'image d'une application 
lin\'eaire de matrice $A$
\item \verb|PCAR|  donne le polynome caract\'eristique de $A$,
\verb|PMINI| donne le polyn\^ome minimal.
\item \verb|EGV|  donne les valeurs propres et vecteurs propres de $A$,
\verb|JORDAN| donne la d\'ecomposition de Jordan de $A$.
\item \verb|QR|  effectue la factorisation QR num\'eriquement,
 \verb|qr| symboliquement.
\end{itemize}

\end{document}











