home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / DERIVE.ZIP / APPROX.MTH < prev    next >
Encoding:
Text File  |  1990-01-10  |  835 b   |  28 lines

  1. "File:    APPROX.MTH  (c)     01/10/90    Soft Warehouse, Inc."
  2.  
  3. "CF, DV, NV, P3, P2 & P1 are helper functions for Pade."
  4.  
  5. CF(a,m,n):=VECTOR(VECTOR(ELEMENT(a,m-n+i+j),j,1,n+1),i,1,n)
  6.  
  7. DV(a,m,n):=ELEMENT(ROW_REDUCE(CF(a,m,n))`,n+1)
  8.  
  9. NV(a,u,m,n):=VECTOR(ELEMENT(a,k+1)-SUM(ELEMENT(u,n+1-i)*ELEMENT(a,k+1-i),i,1,k~
  10. ),k,1,MIN(m,n))
  11.  
  12. P3(a,v,u,x,c,m,n):=(ELEMENT(a,1)+SUM(ELEMENT(v,k)*(x-c)^k,k,1,m))/(1-SUM(ELEME~
  13. NT(u,n+1-k)*(x-c)^k,k,1,n))
  14.  
  15. P2(a,u,x,c,m,n):=P3(a,NV(a,u,m,n),u,x,c,m,n)
  16.  
  17. P1(a,x,c,m,n):=P2(a,DV(a,m,n),x,c,m,n)
  18.  
  19. PADE(wx,x,c,m,n):=P1(VECTOR(LIM(DIF(wx,x,k),x,c)/k!,k,0,m+n+1),x,c,m,n)
  20.  
  21. "PADE(w,x,c,m,n) returns a rational expression approximating w(x) @ x=c"
  22.  
  23. " with m=deg(numerator), n=deg(denominator) & (m=n or m=n-1)"
  24.  
  25. "For example, Simplify the following then plot the result:"
  26.  
  27. PADE(EXP(x),x,0,2,2)
  28.