Merge branch 'bug-4308-gfactor-break-coalesced-lists'
[maxima.git] / share / diff_form / readme_diff_form.txt
blobeba7ca72cb599ad501aaeeca28f14bc31a7aa765
1                            PREFACE
3 This is a differential form package slightly singular.
4 This package is intended to provide a working knowledge
5 through calculating differential forms for students finished advanced calc.
6 In short,not to gather formulas, but to calc and induce them from calculation.
7 In this field we need various other knowledge about math and physics.
8 I hope this package is useful for maxima people.
9 In detail you should read nice books such that....
11 Differential Forms with Applications to the Physical Sciences
12 written by Harley Flanders ISBN 0-486-66169-5 Dover (reprint)
14 Differential Forms and Connections 
15 written by R.W.R.Darling ISBN 0-521-46800-0 Cambridge university Press 
17 The Geometry of Physics An Introduction 
18 written by Theodore Frankel ISBN 0-521-53927-7 Cambridge university Press
20 Differential Forms
21 written by Henri Cartan ISBN 0-486-45010-4 Dover (reprint)
23 Geometrical methods of mathematical physics
24 written by Bernand F.Schutz  Cambridge university Press 
26 I think this package is intermediate between vect package and tensor package 
27 in maxima.  So in this time,I did not implement bundle spaces, though especially 
28  need S1-bundle. I don't like too formalism such as other CAS's diff-form package.
29 Because non-usability of these package prevents from using bundle spaces,as
30 bundle is a natural tool for peoples using it for thinking.
31 My todo-list is to implement bundles with natural usability.
32 I welcome All comments, advices,bug reports.to maxima mailing list
33 or me (go.maxima@gmail.com) 
36 A little new thing I implemented is to use clifford operator for seeking integral factor.
37 If exist,(f^-1 is integral factor),d(w)=f^(-1)df @ w. then @--->&(clifford)
38 d(w)/w is possible,because we calculate w & w -->A (some numbers),in clifford algebra
39 1/w=w/A. d(w)/w---> d(w)&w/A. when  &-->@,use some quantization,@ is independent from metric.
40 when calculating with &,we introduce metric parameter automatically 
41  for example u1,u2,u3,such that dx&dx=u1,...then u1-->0,u2-->0,u3=\=0,&-->@. 
42 This calculation is illegal only within  differential forms,
43 but regal clifford-grassman algebra. Usually in such a case we use an Ideal on differential forms.
44 But I think it is essential that limit of metric breaks clifford structure,but cannot affect
45 grassman structure,so after this limit, we can change & to @ . 
46 See example.txt.
48 hodge star operator is written with clifford algebra in definition,but user need not to
49 recognize that. hodge star is named h_st().
50 poisson braket with symplectic form is much useful,if you may explicitly  give hamilton 
51 operator.
52 To multiple unit pseudo scalar is almost same hodge star.(at most, different sign + or -)
53 this J() is defined and used to define antidifferential operator antid().
56                                  INTRODUCTION    
58 There is two way for starting. 
59 One way is load("diff_form.mac"). This mean to use no global coords,basis others.
60 As it were clean start. All work may be done in f_star() or fstar_with_clf().
61 you  can change coords freely.
62 Other way is batch("new_cartan_test4.bat").This mean to use global coords,basis.
63 But to change coords locally is always possible in f_star() or fstar_with_clf().
64 A example of this global way is seen in lorentz_example.txt
66 It is important for using this package well that we awake to distinction between
67 global variables and local variables. for example
68 (%i21) fstar_with_clf([x,y,z],[x,y,z],(r:x^2+y^2+z^2,d((x*Dy@Dz+y*Dz@Dx+z*Dx@Dy)/(sqrt(r)))));
70 for usage
71 f_star(coordinates,calc area)
72 fstar_with_clf(new coordinates,representing standered coordinate with new one,calc area)
74 now basis is[Dx,Dy,Dz],norm_table,scale_factor ,all this local. but  r:x^2+y^2+z^2 is not 
75 local,only r is global. (%i22) format(%,%poly(Dx,Dy,Dz),factor);
76 after this,if forget that r was global,
77 (%i23) fstar_with_clf([r,phi,th],[r*sin(th)*cos(phi),r*sin(th)*sin(phi),r*cos(th)],
78 d(x)@d(y)@d(z)));
79 error #0: f_star(newcoords=[z^2+y^2+x^2,phi,th],.......
80 so (%i24) kill(r); then (%i23) is OK.
81 nest2([d,h_st,d],f*d(x)) is equal d(h_st(d(f*d(x))))
82 d(x) is equal Dx,so Dx@Dy is d(x)@d(y),but internally in d(x)@d(y) exterior derivative are done.
84 ALL files
85 diff_form.mac one initial file ,(only local coordinate environment)
87 new_cartan_test4.mac another initial file,(global coordinate and local coords environment)
89 cartan_new.lisp 
90 derived from share/calculus/cartan.lisp add & operator and others (for future use)
92 f_star_test4.mac
93 main functions f_star(),fstar_with_clf(),inner(),Lie(),these functions run under any dimension
95 hodge_test3.mac
96 hodge star operator h_st() under any dimension
98 helpfunc.mac
99 utilities or help function vtof1(),vtof2(),J(),antid(),others
101 poisson.mac
102 poisson bracket on simplectic manifold (dim 2*n) p_braket()
104 frobenius.mac
105 calculate integral factor.trans_toexact(),see example.txt
107 curvture2.mac
108 add_tan(),cross(),make_tan(),only dim 2,or 3,this is experimental,see surface_example.txt
110 readme_diff_form.txt  this file.
112 lorentz_example.txt
113 surface_example.txt
114 example.txt