/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N G E N E R A L E D E S O P E R A T E U R S D A N S L E S */ /* C O R P S C O N S T R U I T S A P A R T I R D E S N O M B R E S R E E L S : */ /* */ /* */ /* Nota : */ /* */ /* Tous les operateurs arithmetiques dans */ /* un corps vont etre definis recursivement */ /* a partir de ceux du sous-corps grace auquel */ /* le corps est defini. Soient ainsi 'a', 'a1' */ /* et 'a2' des nombres Arguments dans le corps, */ /* et 'r' le Resultat d'une certaine operation */ /* concernant ces Arguments ; soit d'autre part */ /* 'R(...)' et 'I(...)' les fonctions d'acces */ /* aux parties Reelle et Imaginaire generalisees */ /* definissant un nombre quelconque du corps en */ /* tant que vecteur compose de deux nombres du */ /* sous corps. */ /* */ /* On a donc, par definition, pour tout nombre 'a' : */ /* */ /* a = {R(a),I(a)} */ /* */ /* 'a' appartenant a un certain corps K et */ /* 'R(a)' et 'I(a)' appartenant au "sous-corps" */ /* sK a partir duquel K est defini. */ /* */ /* De plus, tout nombre Reel 'x' est egal a */ /* son conjugue : */ /* */ /* _ */ /* x = x */ /* */ /* A partir de R (les nombres Reels) sera */ /* donc construit C (les nombres Complexes), */ /* qui lui-meme servira de base a Q (les */ /* Quaternions, appeles aussi HC [Hyper-Complexes]), */ /* qui lui-meme servira de base a O (les */ /* Octonions, appeles aussi HHC [Hyper-Hyper-Complexes]). */ /* */ /* */ /* Definition recursive des operateurs arithmetiques : */ /* */ /* r = a <==> {R(r),I(r)} = {R(a),I(a)} */ /* */ /* r = -a <==> {R(r),I(r)} = {-R(a),-I(a)} */ /* */ /* _ ____ */ /* r = a <==> {R(r),I(r)} = {R(a),-I(a)} */ /* */ /* r = a1 + a2 <==> {R(r),I(r)} = {R(a1)+R(a2),I(a1)+I(a2)} */ /* */ /* r = a1 - a2 <==> {R(r),I(r)} = {R(a1)-R(a2),I(a1)-I(a2)} */ /* */ /* r = (A.a1) + (B.a2) <==> {R(r),I(r)} = {[A.R(a1)]+[B.R(a2)],[A.I(a1)]+[B.I(a2)]} */ /* */ /* _____ _____ */ /* r = a1.a2 <==> {R(r),I(r)} = {[R(a1).R(a2)] - [I(a1).I(a2)],[R(a1).I(a2)] + [I(a1).R(a2)]} */ /* */ /* 2 2 2 2 */ /* |a| <==> |a| = |R(a)| + |I(a)| */ /* */ /* */ /* Exceptions au schema recursif : */ /* */ /* Malheureusement, echappent a ce schema, deux */ /* operateurs car, en effet, ils considerent chaque */ /* nombre du groupe, non pas comme un vecteur */ /* bidimensionnel dans le sous-groupe sous-jacent, */ /* mais comme un vecteur N-dimensionnel defini dans */ /* les nombres Reels. Ces operateurs d'exception */ /* sont : */ /* */ /* FH...Cinitialisation(...) */ /* FH...Cforme_lineaire(...) */ /* */ /* qui initialise et calcule une forme lineaire */ /* respectivement. D'une part le nombre d'arguments */ /* varient quand la dimension du groupe change, et */ /* d'autre part, en ce qui concerne le second, l'operation */ /* qu'il realise dissymetrise les differentes composantes, */ /* la premiere etant "scalee" et "translatee", alors que */ /* les suivantes ne sont que "scalees"... */ /* */ /* */ /*************************************************************************************************************************************/