home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / calculat / sm30a.zip / EI.(X) < prev    next >
Text File  |  1993-11-14  |  838b  |  31 lines

  1. # library ei.(x)
  2. # ei(x) is the exponential integral function Ei(x),
  3. # ei(x) = inte(e^t/t, t,-inf,x), d(ei(x),x)=e^x/x, 
  4.  
  5. # ei(n,x) is the exponential integral function En(x), 
  6. # ei(n,x)=inte(t^n*e^t, t,-inf,x), d(ei(n,x),x)=x^n*e^x, ei(-1, x)=ei(x),
  7. # ei(0,x)=e^x.
  8.  
  9. # See also: gamma.sm.
  10.  
  11. # d(ei(n_,x_),x_):= x^n*e^x
  12. # d(ei(x_) ,x_) := e^x/x
  13. # ei(n_,x_) := if(n>=1, -n*ei(n-1,x)+x^n*e^x,
  14.     if(n<-1, (-ei(n+1,x)+x^(n+1)*e^x)/(n+1)))
  15.  
  16. ei(0) := 1
  17. ei(-inf) := 0
  18. #ei(1):=1
  19. #ei(2):=1
  20. #ei(n_):=if(n>2, if(isinteger(n), (n-1)!, (n-1)*ei(n-1)))
  21. #ei(n_):=if(n>0 and numerical==on, sqrt(2*pi)*n^(n-0.5)*exp(-n)*(1+1/(12*n)))
  22.  
  23. ei(0,0) := 1
  24. #ei(n_,0) := (-1)^n*n!
  25. #ei(n_,inf) := inf
  26. ei(n_,-inf) := 0
  27. ei(-1,x_) := ei(x)
  28. ei(0,x_) := e^x
  29. ei(-0.5,x_) := -i*sqrt(pi)*erf(i*sqrt(x))
  30. #ei(-1/2,x_) := -i*sqrt(pi)*erf(i*sqrt(x))
  31.