/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S D E S F O N C T I O N S N E C E S S A I R E S */
/* A L ' E T U D E D E L ' A T O M E D ' H Y D R O G E N E : */
/* */
/* */
/* Author of '$xrq/Hspherik.11$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 1993??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* H A R M O N I Q U E S S P H E R I Q U E S : */
/* */
/*************************************************************************************************************************************/
-define HARMONIQUES_SPHERIQUES_RI(harmonique_spherique,theta,phi,l,m,ligne_trigonometrique) \
-_-_-_- Bblock \
-_-_-_- DEFV(Float,INIT(cos_theta,COSX(theta))); \
-_-_-_- DEFV(Float,INIT(d_cos_theta,d_FVARIABLES_DE_DERIVATION)); \
-_-_-_- /* Il est imperatif de passer par une valeur intermediaire pour la valeur du cosinus ou du */ \
-_-_-_- /* sinus courant ; en effet, sinon, si l'on ecrit : */ \
-_-_-_- /* */ \
-_-_-_- /* LEGENDRE(COSX(theta),l,m) */ \
-_-_-_- /* */ \
-_-_-_- /* la derivation formelle ne se fait pas par rapport a la variable "muette" 'x' definissant */ \
-_-_-_- /* le polynome de Legendre, mais par rapport a 'theta' ce qui est mauvais... */ \
-_-_-_- /* */ \
-_-_-_- /* Les variables 'd_d_cos_theta' et 'd_d_d_cos_theta' ont ete introduites respectivement */ \
-_-_-_- /* le 20161206143638 et le 20161206144354. Finalement, le 20161224105135 elles ont disparu */ \
-_-_-_- /* suite a la nouvelle version de 'v $xccp/derive_varia$sed'... */ \
-_-_-_- EGAL(harmonique_spherique \
-_-_-_- ,MUL4(MONX(NEGA(FU),m) \
-_-_-_- ,RACX(DIVI(MUL2(DOUP(l),FACT(SOUS(l,m))) \
-_-_-_- ,MUL2(GRO4(PI),FACT(ADD2(l,m))) \
-_-_-_- ) \
-_-_-_- ) \
-_-_-_- ,LEGENDRE(cos_theta,l,m) \
-_-_-_- ,ligne_trigonometrique(MUL2(m,phi)) \
-_-_-_- ) \
-_-_-_- ); \
-_-_-_- Eblock
-define HARMONIQUES_SPHERIQUES_R(harmonique_spherique_R,theta,phi,l,m) \
-_-_-_- Bblock \
-_-_-_- HARMONIQUES_SPHERIQUES_RI(harmonique_spherique_R,theta,phi,l,m,COSX); \
-_-_-_- Eblock
-define HARMONIQUES_SPHERIQUES_I(harmonique_spherique_I,theta,phi,l,m) \
-_-_-_- Bblock \
-_-_-_- HARMONIQUES_SPHERIQUES_RI(harmonique_spherique_I,theta,phi,l,m,SINX); \
-_-_-_- Eblock
/* Definition des harmoniques spheriques : */
/* _______________ */
/* / */
/* m m \ / (2.l+1).(l-m)! m i.m.phi */
/* Y (theta,phi) = (-1) . \ / ----------------.P (cos(theta)).e */
/* l \/ 4.pi.(l+m)! l */
/* */
/* avec : */
/* */
/* l = 0,1,2,...,+infini */
/* m = 0,1,2,...,l */
/* */
/* soit : */
/* */
/* 0 <= m <= l */
/* */
/* et ou 'P(...)' designe un polynome de Legendre. */