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

  1. "File VECTOR.MTH, copyright (c) 1990-2000 by Texas Instruments Incorporated"
  2.  
  3. i_:=[1,0,0]
  4.  
  5. j_:=[0,1,0]
  6.  
  7. k_:=[0,0,1]
  8.  
  9. OUTER(v,w):=VECTOR([v SUB n_],n_,DIM(v)) . [w]
  10.  
  11. KRONECKER(i,j):=IF(i=j,1,0)
  12.  
  13. ADJOIN_ELEMENT(e,v):=ADJOIN(e,v)
  14.  
  15. MATRIX?(a,r_):=VECTOR?(a) AND EVERY(VECTOR?(r_),r_,a)
  16.  
  17. APPEND_COLUMNS Args:=IF(DIM(Args)=1 AND VECTOR?(Args SUB 1) AND EVERY(MATRIX?(~
  18. a_),a_,Args SUB 1),APPEND(VECTOR(a_`,a_,Args SUB 1))`,APPEND(VECTOR(a_`,a_,Arg~
  19. s))`)
  20.  
  21. PARTITION(v,n,d):=IF(NUMBER(d),VECTOR(VECTOR(v SUB m_,m_,n_,n_+n-1),n_,1,1+d*F~
  22. LOOR(DIM(v)-n,d),d),PARTITION(v,n,n))
  23.  
  24. MINOR(a,i,j):=DELETE(DELETE(a,i)`,j)`
  25.  
  26. SWAP_ELEMENTS(v,i,j):=VECTOR(IF(m_=i,v SUB j,IF(m_=j,v SUB i,v SUB m_)),m_,DIM~
  27. (v))
  28.  
  29. SCALE_ELEMENT(v,i,s):=VECTOR(IF(m_=i,s*v SUB i,v SUB m_),m_,DIM(v))
  30.  
  31. SUBTRACT_ELEMENTS(v,i,j,s:=1):=VECTOR(IF(m_=i,v SUB i-s*v SUB j,v SUB m_),m_,D~
  32. IM(v))
  33.  
  34. FORCE0(a,i,j,p):=VECTOR(IF(m_=i,a SUB i-a SUB i SUB j/a SUB p SUB j*a SUB p,a ~
  35. SUB m_),m_,DIM(a))
  36.  
  37. PIVOT(a,i,j):=VECTOR(IF(m_<=i,a SUB m_,a SUB m_-a SUB m_ SUB j/a SUB i SUB j*a~
  38.  SUB i),m_,DIM(a))
  39.  
  40. MATPROD(a,b,i,j):=SUM(a SUB i SUB n_*b SUB n_ SUB j,n_,1,DIM(b))
  41.  
  42. COFACTOR(a,i,j):=COS(pi*(i+j))*DET(MINOR(a,i,j))
  43.  
  44. ADJOINT(a):=VECTOR(VECTOR(COFACTOR(a,m_,n_),m_,DIM(a)),n_,DIM(a))
  45.  
  46. EXACT_EIGENVECTOR(a,mu):=SOLUTIONS(VECTOR(SUM((a SUB m_ SUB n_-mu*KRONECKER(m_~
  47. ,n_))*APPEND("x",n_),n_,1,DIM(a)),m_,DIM(a)),VECTOR(APPEND("x",n_),n_,1,DIM(a)~
  48. ))
  49.  
  50. APPROX_EIGENVECTOR(a,mu):=SIGN(ROW_REDUCE(a-mu*IDENTITY_MATRIX(DIM(a)),VECTOR(~
  51. 3000*COS(pi*m_)/m_,m_,DIM(a)))` SUB (DIM(a)+1))
  52.  
  53. cylindrical:=[[r,theta,z],[1,r,1]]
  54.  
  55. spherical:=[[r,theta,phi],[1,r*SIN(phi),r]]
  56.  
  57. JACOBIAN(u,alpha):=VECTOR(GRAD(u SUB m_,alpha),m_,DIM(u))
  58.  
  59. COVARIANT_METRIC_TENSOR(a):=a` . a
  60.  
  61. GEOMETRY_MATRIX(alpha,g):=[alpha,VECTOR(SQRT(g SUB m_ SUB m_),m_,DIM(g))]
  62.