/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D ' U N E V A R I E T E D E C A L A B I - Y A U 8 - D I M E N S I O N N E L L E : */ /* */ /* */ /* Author of '$xrs/CalabiYau.31.1$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20230210114658). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D E S T R O I S F O N C T I O N S ' F ' : */ /* */ /* */ /* Definition ('v $xrs/CalabiYau.32$K') : */ /* */ /* Une variete hyper-complexe de Calabi-Yau */ /* 8-dimensionnelle est definie */ /* implicitement par : */ /* */ /* / \n1 / \n2 */ /* | Q' | | Q' | */ /* | 1 | | 2 | */ /* | ---- | + | ---- | = 1 */ /* | A | | B | */ /* \ / \ / */ /* */ /* posons : */ /* */ /* Q' */ /* 1 */ /* Q = ---- */ /* 1 A */ /* */ /* Q' */ /* 2 */ /* Q = ---- */ /* 2 B */ /* */ /* d'ou : */ /* */ /* n1 n2 */ /* Q + Q = 1 */ /* 1 2 */ /* */ /* ou 'Q1' et 'Q2' sont deux nombres hyper-complexes. */ /* Cela peut se reecrire : */ /* */ /* 2 2 */ /* / n1 \ / n2 \ */ /* | ---- | | ---- | */ /* | 2 | | 2 | */ /* | Q | + | Q | = 1 */ /* \ 1 / \ 2 / */ /* */ /* ou encore : */ /* */ /* 2 2 */ /* cos(Q) + sin(Q) = 1 */ /* */ /* d'ou : */ /* */ /* n1 2 */ /* Q = cos(Q) */ /* 1 */ /* */ /* n2 2 */ /* Q = sin(Q) */ /* 2 */ /* */ /* (ou 'Q' est un "angle" hyper-complexe) d'ou : */ /* */ /* 1 */ /* k1 / \ ---- */ /* 2Ip.---- | | n1 */ /* n1 | 2 | */ /* Q = e | cos(Q) | */ /* 1 \ / */ /* */ /* 1 */ /* k2 / \ ---- */ /* 2Ip.---- | | n2 */ /* n2 | 2 | */ /* Q = e | sin(Q) | */ /* 2 \ / */ /* */ /* */ /* ou 'I' represente l'imaginaire pur (0,1,1,1). */ /* */ /* D'ou : */ /* */ /* k1 2 */ /* 2Ip.---- ---- */ /* n1 n1 */ /* Q = e .cos(Q) */ /* 1 */ /* */ /* k2 2 */ /* 2Ip.---- ---- */ /* n2 n2 */ /* Q = e .sin(Q) */ /* 2 */ /* */ /* et : */ /* */ /* Q' = A.Q */ /* 1 1 */ /* */ /* Q' = B.Q */ /* 2 2 */ /* */ /* ou 'k1' et 'k2' indicent les racines n-iemes */ /* de l'unite (n = {n1,n2}) : */ /* */ /* k1 E [ 0 , n1-1 ] */ /* */ /* k2 E [ 0 , n2-1 ] */ /* */ /* La variete est ainsi composee de n1.n2 "patches" */ /* parametres chacun par {u,v}, avec : */ /* */ /* u E [ 0 , p/2 ] */ /* */ /* v E [ -1 , +1 ] */ /* */ /* (ou 'p' designe 'pi') et : */ /* */ /* Q = u + i.v + j.u' + k.v' */ /* */ /* {u',v'} etant deux parametres supplementaires... */ /* */ /* */ /*************************************************************************************************************************************/ /*************************************************************************************************************************************/ /* */ /* */ /* Cette variete est donc a 8 dimensions, et la */ /* surface a 3 dimensions que l'on visualisera */ /* sera definie par : */ /* */ /* */ /* X = (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) + (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) */ /* X1 1 X2 1 X3 1 X4 1 X5 2 X6 2 X7 2 X8 2 */ /* */ /* */ /* Y = (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) + (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) */ /* Y1 1 Y2 1 Y3 1 Y4 1 Y5 2 Y6 2 Y7 2 Y8 2 */ /* */ /* */ /* Z = (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) + (A .R(Q )) + (A .I(Q )) + (A .J(Q )) + (A .K(Q )) */ /* Z1 1 Z2 1 Z3 1 Z4 1 Z5 2 Z6 2 Z7 2 Z8 2 */ /* */ /* */ /* soit, par defaut (qui fait que 'v $xiirs/CAYA.A1.0129' et 'v $xiirs/CAYA.O3' sont semblables bien qu'ayant ete */ /* generees par '$xrs/CalabiYau.12$X' et '$xrs/CalabiYau.32$X' respectivement) : */ /* */ /* */ /* X = R(Q ) + I(Q ) */ /* 1 2 */ /* */ /* */ /* Y = I(Q ) + I(Q ) */ /* 1 2 */ /* */ /* */ /* Z = R(Q ) + I(Q ) */ /* 2 2 */ /* */ /* */ /* (ou 'R(...)', 'I(...)', J(...)' et 'K(...)' designent respectivement */ /* les parties Reelle, Imaginaire, Jmaginaire et Kmaginaire). Une possible */ /* matrice 'A' sera : */ /* */ /* | 1 0 0 0 0 1 0 0 | */ /* | 0 1 0 0 0 1 0 0 | */ /* | 0 0 0 0 1 1 0 0 | */ /* */ /* qui permet de retrouver 'v $xiirs/CAYA.A1.0129' */ /* avec 'v $xiirs/CAYA.O3'... */ /* */ /*************************************************************************************************************************************/ #define GENERATION_DU_CALABI_YAU_OCTODIMENSIONNEL(coordonnee_w,coordonnee_t) \ Bblock \ begin_nouveau_block \ Bblock \ DEFV(Float,INIT(exposant_n1,parametre_n1)); \ DEFV(Float,INIT(demi_exposant_n1,MOIT(parametre_n1))); \ /* Exposant (n1) et demi-exposant (n1/2). */ \ DEFV(Float,INIT(exposant_n2,parametre_n2)); \ DEFV(Float,INIT(demi_exposant_n2,MOIT(parametre_n2))); \ /* Exposant (n2) et demi-exposant (n2/2). */ \ DEFV(hyper_complexe,quv); \ DEFV(hyper_complexe,cosinus_quv); \ DEFV(hyper_complexe,sinus_quv); \ DEFV(hyper_complexe,puissance_de_cosinus_quv); \ DEFV(hyper_complexe,puissance_de_sinus_quv); \ DEFV(hyper_complexe,racine_de_l_unite_1); \ DEFV(hyper_complexe,racine_de_l_unite_2); \ /* Nombres hyper-complexes de manoeuvre... */ \ \ HCinitialisation(quv,u,v,coordonnee_w,coordonnee_t); \ /* Calcul de : */ \ /* */ \ /* q = u + i.v + j.w + k.t */ \ /* uv */ \ /* */ \ HCcosinus(cosinus_quv,quv); \ /* Calcul de : */ \ /* */ \ /* cos(q ) */ \ /* uv */ \ /* */ \ HCsinus(sinus_quv,quv); \ /* Calcul de : */ \ /* */ \ /* sin(q ) */ \ /* uv */ \ /* */ \ HCpuissance(puissance_de_cosinus_quv,cosinus_quv,INVE(demi_exposant_n1)); \ /* Calcul de : */ \ /* */ \ /* 2 */ \ /* ---- */ \ /* n1 */ \ /* cos(q ) */ \ /* uv */ \ /* */ \ HCpuissance(puissance_de_sinus_quv,sinus_quv,INVE(demi_exposant_n2)); \ /* Calcul de : */ \ /* */ \ /* 2 */ \ /* ---- */ \ /* n2 */ \ /* sin(q ) */ \ /* uv */ \ /* */ \ HCdefinition_trigonometrique(racine_de_l_unite_1 \ ,HC_MODULE_UNITAIRE \ ,SCAL(CERCLE_TRIGONOMETRIQUE,exposant_n1,parametre_k1) \ ); \ /* Calcul de : */ \ /* */ \ /* k1 */ \ /* 2Ip.---- */ \ /* n1 */ \ /* e */ \ /* */ \ HCdefinition_trigonometrique(racine_de_l_unite_2 \ ,HC_MODULE_UNITAIRE \ ,SCAL(CERCLE_TRIGONOMETRIQUE,exposant_n2,parametre_k2) \ ); \ /* Calcul de : */ \ /* */ \ /* k2 */ \ /* 2Ip.---- */ \ /* n2 */ \ /* e */ \ /* */ \ HCproduit(q1,racine_de_l_unite_1,puissance_de_cosinus_quv); \ /* Calcul de : */ \ /* */ \ /* k1 2 */ \ /* 2Ip.---- ---- */ \ /* n1 n1 */ \ /* e .cos(q ) */ \ /* uv */ \ /* */ \ HCproduit(q2,racine_de_l_unite_2,puissance_de_sinus_quv); \ /* Calcul de : */ \ /* */ \ /* k2 2 */ \ /* 2Ip.---- ---- */ \ /* n2 n2 */ \ /* e .sin(q ) */ \ /* uv */ \ /* */ \ HCproduit(q1,parametre_qA,q1); \ /* Calcul de : */ \ /* */ \ /* k1 2 */ \ /* 2Ip.---- ---- */ \ /* n1 n1 */ \ /* A.e .cos(q ) */ \ /* uv */ \ /* */ \ HCproduit(q2,parametre_qB,q2); \ /* Calcul de : */ \ /* */ \ /* k2 2 */ \ /* 2Ip.---- ---- */ \ /* n2 n2 */ \ /* B.e .sin(q ) */ \ /* uv */ \ /* */ \ \ Test(IL_FAUT(valider_la_qualite_du_calcul_de_q1_et_de_q2)) \ /* On notera le probleme "existentiel" decrit dans 'v $ximcd/operator$FON 20230324100530' */ \ /* qui fait que ce test de validation n'a peut-etre, a cause de 'HCpuissance(...)', aucun */ \ /* sens ! Et d'ailleurs cela peut concerner en fait tous les calculs precedents. Cela s'est */ \ /* vu lors du calcul de 'v $xiirs/CAYA.W4' aux environs du 20230324100530... */ \ Bblock \ DEFV(hyper_complexe,q1_puissance_n1); \ DEFV(hyper_complexe,q2_puissance_n2); \ DEFV(hyper_complexe,validation); \ /* Nombres hyper-complexes de manoeuvre... */ \ \ HCpuissance(q1_puissance_n1,q1,parametre_n1); \ /* Calcul de : */ \ /* */ \ /* n1 */ \ /* q */ \ /* 1 */ \ /* */ \ HCpuissance(q2_puissance_n2,q2,parametre_n2); \ /* Calcul de : */ \ /* */ \ /* n2 */ \ /* q */ \ /* 2 */ \ /* */ \ HCsomme(validation,q1_puissance_n1,q2_puissance_n2); \ /* Calcul de : */ \ /* */ \ /* n1 n2 */ \ /* q + q */ \ /* 1 2 */ \ /* */ \ \ Test(HCTestIFNE_a_peu_pres_absolu(validation,HC_____quaternion_p1__0__0__0 \ ,epsilon_de_validation_du_calcul_de_q1_et_de_q2 \ ) \ ) \ Bblock \ PRINT_ERREUR("le calcul de 'q1' et de 'q2' est incorrect"); \ PRINT_DANS_HC("quv",quv); \ /* Introduit le 20230323092855... */ \ PRINT_DANS_HC("q1",q1); \ PRINT_DANS_HC("q2",q2); \ CAL1(Prer8("(%+.^^^,%+.^^^,%+.^^^,%+.^^^) est obtenu au lieu de (%+.^^^,%+.^^^,%+.^^^,%+.^^^)\n" \ ,HReelle(validation) \ ,HImaginaire(validation) \ ,HJmaginaire(validation) \ ,HKmaginaire(validation) \ ,HReelle(HC_____quaternion_p1__0__0__0) \ ,HImaginaire(HC_____quaternion_p1__0__0__0) \ ,HJmaginaire(HC_____quaternion_p1__0__0__0) \ ,HKmaginaire(HC_____quaternion_p1__0__0__0) \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ end_nouveau_block \ Eblock \ /* Calcul sur la variete hyper-complexe a 2 dimensions. */