Principe

Accueil

Quelques fonctions en multi précision

Calculs numériques en multi précision

2 Les 4 opérations en multi précision

1 Principe

2 Les 4 opérations en multi précision

3 Quelques fonctions en multi précision

4 Application : Pi en multi précision

5 Application : Inversion de matrice en multi précision


  Chacune de ces opérations fera l'objet d'un sous programme comportant 4 arguments :
- 2 variables dimensionnées A() et B() contenant les données
- 1 variable dimensionnée C() pour le résultat
- 1 variable disponible
Le nombre de bloc de 6 chiffres MP , avant et après la virgule, est déclaré en variable globale.( MP2 = 2 MP )

 


2.1 Addition

  Soit deux grands nombres à additionner :

123234 345456 + 567678 789890

les deux blocs d'unités donnent : 035346 + 1 000000 , la retenue de 1 million est reportée dans le second bloc ( bloc des millions )

Remarque

  Ceci revient à calculer en base 1 million , si la chaîne de caractères "123234" est le chiffre représentant le nombre " cent vingt trois milles deux cent vingt quatre ".

  En Visual Basic l'opération peut se réalisera à l'aide du sous programme ci-contre.

  Il réalise la somme des valeurs absolues de deux nombre. Il est appelé par le sous programme SOMM qui effectue la somme algébrique de 2 nombres.

"Ret"  est la retenue éventuelle d'un bloc vers le suivant
"Rel" est une variable relais contenant, à chaque cycle de la boucle, la somme de 2 blocs à laquelle il convient de soustraire éventuellement 1 million.


2.2 Soustraction

  Aux signes près, le sous programme est identique au précédant et comme lui, il porte sur les valeurs absolue des deux nombres traités.

Remarque

  Ces deux sous programmes pourraient facilement se réunir en un seul, le dernier argument portant le signe de l'opération. Ce regroupement augmenterait les risques d'erreur de programmation.


2.3 relation d'ordre

  Avant d'effectuer la somme algébrique de deux termes il est indispensable de déterminer lequel possède la plus grande valeur absolue.

  Le résultat de l'analyse s'inscrit dans le dernier argument.


2.4 Somme algébrique

  Selon le type d 'opération, (addition ou soustraction) et en fonction du signe des nombres impliqués, ce sous programme peut faire appel aux  3  sous programmes ci-dessus.

 

 


2.5 Multiplication

 

 

 

 

 


2.6 inverse

  L'inversion sera réalisée par des approximations successives comportant seulement des multiplication, en utilisant la méthode Newton pour déterminer la valeur de x, annulant la fonction :

et dont la dérivée vaut :

  Selon la méthode Newton la différence entre deux approximations successive est donnée par :

d'où


et donc la formule d'itération :


  Partant d'une approximation initiale en double précision, chaque itération doublera le nombre de chiffres exacts.
  Ceci se démontre facilement en considérant les erreurs relatives sur 2 évaluations successives.
  L'erreur relative s'exprime par :

d'où

qui avec la formule d'itération conduisent à :

  L'erreur relative se trouvant élevée au carré, le nombre de chiffres significatifs de l'inverse doublera effectivement à chaque nouvelle itération.


2.7 Division

  Ce serait un réel problème si la difficulté ne pouvait se contourner en multipliant le dividende par l'inverse du diviseur :

  Il suffira donc d'inverser le diviseur avec INVR, puis de multiplier le résultat et le dividende.


Extraire la page pour l'enregistrer ou l'imprimer