home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / derive / download / Setup.exe / %MAINDIR% / Math / Orth_pol.mth < prev    next >
Encoding:
Text File  |  2002-05-15  |  4.6 KB  |  125 lines

  1. "File ORTH_POL.MTH, copyright (c) 1990-2000 by Texas Instruments Incorporated"
  2.  
  3. "The fast iterative algorithms for generating individual orthogonal"
  4.  
  5. "polynomials in this file contributed by Wolfram Koepf."
  6.  
  7. RECURRENCE(u,v,v0,m):=REVERSE(ITERATE(APPEND([u],v),v,v0,m-DIM(v0)))
  8.  
  9. CHEBYCHEV_T_SYMBOLIC(n,x):=IF(n=0,1,(SUM(ITERATES([v_ SUB 1*(2*v_ SUB 2-n-1)*(~
  10. 2*v_ SUB 2-n-2)/(4*x^2*v_ SUB 2*(v_ SUB 2-n)),v_ SUB 2+1],v_,[2^(n-1)*x^n,1],n~
  11. /2))) SUB 1)
  12.  
  13. CHEBYCHEV_T_NUMERIC(n,x):=IF(n=0,1,IF(n=1,x,IF(MOD(n,2)=0,2*CHEBYCHEV_T_NUMERI~
  14. C(n/2,x)^2-1,2*CHEBYCHEV_T_NUMERIC((n-1)/2,x)*CHEBYCHEV_T_NUMERIC((n+1)/2,x)-x~
  15. )))
  16.  
  17. CHEBYCHEV_T(n,x):=IF(NUMBER(x),CHEBYCHEV_T_NUMERIC(n,x),CHEBYCHEV_T_SYMBOLIC(n~
  18. ,x),CHEBYCHEV_T_SYMBOLIC(n,x))
  19.  
  20. CHEBYCHEV_T_LIST(n,x):=RECURRENCE('(2*x*v_ SUB 1-v_ SUB 2),v_,[x,1],n)
  21.  
  22. CHEBYCHEV_T_WEIGHT(x):=1/SQRT(1-x^2)
  23.  
  24. CHEBYCHEV_T_SQUARED_NORM(n):=IF(n=0,pi,pi/2)
  25.  
  26. CHEBYCHEV_U_SYMBOLIC(n,x):=IF(n=0,1,(SUM(ITERATES([(2*v_ SUB 2-n-1)*(2*v_ SUB ~
  27. 2-n-2)/(4*v_ SUB 2*x^2*(v_ SUB 2-n-1))*v_ SUB 1,v_ SUB 2+1],v_,[2^n*x^n,1],n/2~
  28. ))) SUB 1)
  29.  
  30. CHEBYCHEV_U_NUMERIC(n,x):=IF(n=0,1,IF(n=1,2*x,IF(MOD(n,2)=0,2*CHEBYCHEV_T_NUME~
  31. RIC(n/2,x)*CHEBYCHEV_U_NUMERIC(n/2,x)-1,2*CHEBYCHEV_T_NUMERIC((n-1)/2,x)*CHEBY~
  32. CHEV_U_NUMERIC((n+1)/2,x)-2*x)))
  33.  
  34. CHEBYCHEV_U(n,x):=IF(NUMBER(x),CHEBYCHEV_U_NUMERIC(n,x),CHEBYCHEV_U_SYMBOLIC(n~
  35. ,x),CHEBYCHEV_U_SYMBOLIC(n,x))
  36.  
  37. CHEBYCHEV_U_LIST(n,x):=RECURRENCE('(2*x*v_ SUB 1-v_ SUB 2),v_,[2*x,1],n)
  38.  
  39. CHEBYCHEV_U_WEIGHT(x):=SQRT(1-x^2)
  40.  
  41. CHEBYCHEV_U_SQUARED_NORM(n):=pi/2
  42.  
  43. LEGENDRE_P(n,x):=2^(-n)*(SUM(ITERATES([v_ SUB 1*(2*v_ SUB 2-n-1)*(2*v_ SUB 2-n~
  44. -2)/(2*x^2*v_ SUB 2*(2*v_ SUB 2-2*n-1)),v_ SUB 2+1],v_,[COMB(2*n,n)*x^n,1],n/2~
  45. ))) SUB 1
  46.  
  47. LEGENDRE_P_LIST(n,x):=RECURRENCE('(2*x*v_ SUB 1-v_ SUB 2+(v_ SUB 2-x*v_ SUB 1)~
  48. /DIMENSION(v_)),v_,[x,1],n)
  49.  
  50. LEGENDRE_P_WEIGHT(x):=1
  51.  
  52. LEGENDRE_P_SQUARED_NORM(n):=2/(2*n+1)
  53.  
  54. ASSOCIATED_LEGENDRE_P(n,m,x):=(-1)^m*(1-x^2)^(m/2)*DIF(LEGENDRE_P(n,x),x,m)
  55.  
  56. HERMITE_H(n,x):=(SUM(ITERATES([-v_ SUB 1*(2*v_ SUB 2-n-1)*(2*v_ SUB 2-n-2)/(4*~
  57. x^2*v_ SUB 2),v_ SUB 2+1],v_,[2^n*x^n,1],n/2))) SUB 1
  58.  
  59. HERMITE_H_LIST(n,x):=RECURRENCE('(2*x*v_ SUB 1-2*(DIMENSION(v_)-1)*v_ SUB 2),v~
  60. _,[2*x,1],n)
  61.  
  62. HERMITE_H_WEIGHT(x):=#e^(-x^2)
  63.  
  64. HERMITE_H_SQUARED_NORM(n):=2^n*SQRT(pi)*n!
  65.  
  66. HERMITE_HE(n,x):=(SUM(ITERATES([-v_ SUB 1*(2*v_ SUB 2-n-1)*(2*v_ SUB 2-n-2)/(2~
  67. *x^2*v_ SUB 2),v_ SUB 2+1],v_,[x^n,1],n/2))) SUB 1
  68.  
  69. HERMITE_HE_LIST(n,x):=RECURRENCE('(x*v_ SUB 1-(DIMENSION(v_)-1)*v_ SUB 2),v_,[~
  70. x,1],n)
  71.  
  72. HERMITE_HE_WEIGHT(x):=#e^(-x^2/2)
  73.  
  74. HERMITE_HE_SQUARED_NORM(n):=SQRT(2)*SQRT(pi)*n!
  75.  
  76. WEBER_D(n,x):=#e^(-x^2/4)*HERMITE_HE(n,x)
  77.  
  78. LAGUERRE_L(n,x):=(SUM(ITERATES([v_ SUB 1*x*(v_ SUB 2-n-1)/(v_ SUB 2*v_ SUB 2),~
  79. v_ SUB 2+1],v_,[1,1],n))) SUB 1
  80.  
  81. LAGUERRE_L_LIST(n,x):=RECURRENCE('(2*v_ SUB 1-v_ SUB 2+(v_ SUB 2-(x+1)*v_ SUB ~
  82. 1)/DIMENSION(v_)),v_,[1-x,1],n)
  83.  
  84. LAGUERRE_L_WEIGHT(x):=#e^(-x)
  85.  
  86. LAGUERRE_L_SQUARED_NORM(n):=1
  87.  
  88. GENERALIZED_LAGUERRE(n,alpha,x):=(SUM(ITERATES([v_ SUB 1*x*(v_ SUB 2-n-1)/(v_ ~
  89. SUB 2*(alpha+v_ SUB 2)),v_ SUB 2+1],v_,[PRODUCT(alpha+k_,k_,1,n)/n!,1],n))) SU~
  90. B 1
  91.  
  92. GENERALIZED_LAGUERRE_LIST(n,alpha,x):=RECURRENCE('(2*v_ SUB 1-v_ SUB 2+((1-alp~
  93. ha)*v_ SUB 2-(1+x-alpha)*v_ SUB 1)/DIMENSION(v_)),v_,[1-x+alpha,1],n)
  94.  
  95. GENERALIZED_LAGUERRE_WEIGHT(alpha,x):=#e^(-x)*x^alpha
  96.  
  97. GENERALIZED_LAGUERRE_SQUARED_NORM(alpha,n):=(alpha+n)!/n!
  98.  
  99. JACOBI_P(n,alpha,beta,x):=(SUM(ITERATES([v_ SUB 1*(alpha+beta+v_ SUB 2+n)*(v_ ~
  100. SUB 2-n-1)*(1-x)/(2*v_ SUB 2*(alpha+v_ SUB 2)),v_ SUB 2+1],v_,[PRODUCT(alpha+k~
  101. _,k_,1,n)/n!,1],n))) SUB 1
  102.  
  103. JACOBI_P_LIST(n,alpha,beta,x):=RECURRENCE('(((alpha+beta+2*DIMENSION(v_)-1)*(x~
  104. *(alpha+beta+2*DIMENSION(v_))*(alpha+beta+2*(DIMENSION(v_)-1))+alpha^2-beta^2)~
  105. *v_ SUB 1-2*(alpha+beta+2*DIMENSION(v_))*(alpha+DIMENSION(v_)-1)*(beta+DIMENSI~
  106. ON(v_)-1)*v_ SUB 2)/(2*DIMENSION(v_)*(alpha+beta+DIMENSION(v_))*(alpha+beta+2*~
  107. (DIMENSION(v_)-1)))),v_,[(x*(alpha+beta+2)+alpha-beta)/2,1],n)
  108.  
  109. JACOBI_P_WEIGHT(alpha,beta,x):=(1-x)^alpha*(1+x)^beta
  110.  
  111. JACOBI_P_SQUARED_NORM(alpha,beta,n):=2^(alpha+beta+1)*(alpha+n)!*(beta+n)!/((a~
  112. lpha+beta+2*n+1)*n!*(alpha+beta+n)!)
  113.  
  114. GEGENBAUER_C(n,alpha,x):=(SUM(ITERATES([v_ SUB 1*(2*v_ SUB 2-n-1)*(2*v_ SUB 2-~
  115. n-2)/(4*x^2*v_ SUB 2*(v_ SUB 2-alpha-n)),v_ SUB 2+1],v_,[(2*x)^n*IF(alpha=0,1/~
  116. n,PRODUCT(alpha+k_-1,k_,1,n)/n!,PRODUCT(alpha+k_-1,k_,1,n)/n!),1],n/2))) SUB 1
  117.  
  118. GEGENBAUER_C_LIST(n,alpha,x):=RECURRENCE('((2*x*(alpha+DIMENSION(v_)-1)*v_ SUB~
  119.  1-(2*alpha+DIMENSION(v_)-2)*v_ SUB 2)/DIMENSION(v_)),v_,[2*alpha*x,1],n)
  120.  
  121. GEGENBAUER_C_WEIGHT(alpha,x):=(1-x^2)^((2*alpha-1)/2)
  122.  
  123. GEGENBAUER_C_SQUARED_NORM(alpha,n):=2^(1-2*alpha)*pi*(2*alpha+n-1)!/((alpha+n)~
  124. *n!*(alpha-1)!^2)
  125.