File: surface_example.txt

package info (click to toggle)
maxima 5.47.0-9
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 193,104 kB
  • sloc: lisp: 434,678; fortran: 14,665; tcl: 10,990; sh: 4,577; makefile: 2,763; ansic: 447; java: 328; python: 262; perl: 201; xml: 60; awk: 28; sed: 15; javascript: 2
file content (149 lines) | stat: -rw-r--r-- 7,261 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Maxima 5.9.3 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1) batch("new_cartan_test4.bat");

batching #p/home/furuya/sagyo/new_cartan_test4.bat
(%i2)                        load(cartan_new.lisp)
(%i3)                              infix(@)
(%i4)                              infix(&)
(%i5)                              infix(|)
(%i6)                 coords : read(Input new coordinate)
Input new coordinate
[a,b];
(%i7)                    dim : extdim : length(coords)
(%i8)                basis : VR : extsub  : extsubb  : []
                                        1          1
(%i9)    for i thru dim do basis : endcons(concat(D, coords ), basis)
                                                           i
(%i10) for i thru dim do (extsub      : cons(basis  = - basis , extsub ),
                                1 + i             i          i        i
 extsubb  : cons(basis  = 0, extsub ), ci : concat(v, i), VR : endcons(ci, VR))
        i             i            i
(%i11)                               basis
(%o11)                             [Da, Db]
(%i12) cliffordtype : read(please input metric type,for example [1,1,1],if E3)
please input metric type,for example [1,1,1],if E3
[1,1];
(%o12)                              [1, 1]
(%i13) translist : read(represent the standard coordinates with new one)
represent the standard coordinates with new one
[(2+cos(a))*cos(b),(2+cos(a))*sin(b),sin(a)];
(%o13)        [(cos(a) + 2) cos(b), (cos(a) + 2) sin(b), sin(a)]
(%i14)                          norm_table : []
(%i15)                         scale_factor : []
(%i16)                              _l : []
(%i17) for i thru dim do (_l : map(lambda([x], diff(x, coords )), translist),
                                                             i
                      2
_l : map(lambda([x], x ), _l), _p : ratsimp(trigsimp(apply(+, _l))),
                     cliffordtype
                                 i
norm_table : endcons(-------------, norm_table))
                          _p
(%i18)                            norm_table
                                        1
(%o18)                    [1, ----------------------]
                                 2
                              cos (a) + 4 cos(a) + 4
                                                   norm_table
                                                             i
(%i19) for i thru dim do extsubb2  : cons(basis  = -----------, extsub )
                                 i             i     basis            i
                                                          i
                                       2        1
(%i20) for i thru dim do (a_ : solve(x_  - -----------, [x_]),
                                           norm_table
                                                     i
                                   scale_factor : cons(rhs(a_ ), scale_factor))
                                                             2
(%i21)               scale_factor : reverse(scale_factor)
(%i22)                           scale_factor
(%o22)                          [1, cos(a) + 2]
(%i23) nest2(_f, _x) := block([_a : [_x], i],
if listp(_f) then (_f : reverse(_f), for i thru length(_f)
do _a : map(_f , _a)) else _a : map(_f, _a), _a )
              i                                1
(%i24) nest3(_f, _x, _n) := block([_a, i], _a : [_x],
                                         for i thru _n do _a : map(_f, _a), _a)
                               2
(%i25)           aa_ : solve(x_  - apply(*, norm_table), [x_])
(%i26)                        volume : rhs(aa_ )
                                              2
                                           1
(%i27)                          volume : ------
                                         volume
(%i28)            matrix_element_mult : lambda([x, y], x @ y)
(%i29)                       load(hodge_test3.mac)
(%i30)                      load(f_star_test4.mac)
(%i31)                        load(helpfunc.mac)
(%i32)                        load(coeflist.lisp)
(%i33)                         load(format.lisp)
(%i34)                            load(diag)
(%i35)                         load(poisson.mac)
(%i36)                        load(frobenius.mac)
(%i37)                        load(curvture2.mac)
(%o38)                       new_cartan_test4.bat

/*[x,y,z]=translist,this case parametrized torous by [a,b] */

(%i38) d(translist);
(%o38) [- cos(a) sin(b) Db - 2 sin(b) Db - sin(a) cos(b) Da,
                  cos(a) cos(b) Db + 2 cos(b) Db - sin(a) sin(b) Da, cos(a) Da]
(%i39) m:coefmatrix(%,basis);
                  [ - sin(a) cos(b)  (- cos(a) - 2) sin(b) ]
                  [                                        ]
(%o39)            [ - sin(a) sin(b)   (cos(a) + 2) cos(b)  ]
                  [                                        ]
                  [     cos(a)                 0           ]
(%i40) trigsimp(m.diag([1,1/(cos(a)+2)]));
                         [ - sin(a) cos(b)  - sin(b) ]
                         [                           ]
(%o40)                   [ - sin(a) sin(b)   cos(b)  ]
                         [                           ]
                         [     cos(a)          0     ]
(%i41) trigsimp(add_tan(%));
                [ - sin(a) cos(b)  - sin(b)  - cos(a) cos(b) ]
                [                                            ]
(%o41)          [ - sin(a) sin(b)   cos(b)   - cos(a) sin(b) ]
                [                                            ]
                [     cos(a)          0         - sin(a)     ]
(%i42) transpose(%).d(%)$
       
(%i43) trigsimp(%);
/*this is  in Flanders P41 but transposed */
                    [      0       sin(a) Db     - Da     ]
                    [                                     ]
(%o43)              [ - sin(a) Db      0      - cos(a) Db ]
                    [                                     ]
                    [     Da       cos(a) Db       0      ]
(%i44) map("*",scale_factor,basis);
/*this is [sigma1,sigma2] in Flanders P41 but transposed */
(%o44)                   [Da, (cos(a) + 2) Db]
(%i45) basis;
(%o45)                             [Da, Db]
(%i46) scale_factor;
(%o46)                          [1, cos(a) + 2]

/*Gaussian curvature K is K*sigma1@aigma2=w1@w2
now w1=-Da,w2=-cos(a)*Db,and %o44 so K=cos(a)/(2+cos(a))
0<=a<2%pi,0<=b<2%pi,integrate K on this torous,
cos(a)/(2+cos(a)) *(2+cos(a))*Da@Db is equal cos(a)Da@Db
on 0<=a<2%pi,0<=b<2%pi ,apparently this is 0.
Theory says integrate K on total surface is 2*%pi* 
 is euler character,torous's character is 0 */


/* d()=-. ,this style is Darling,Flanderse style is transpose
transpose(d(omega))=d(transpose(omega))=-(transpose(omega).transpose(omega))
obviously AL:transpose(omega)=-omega,d(AL)=AL.AL */

(%i47) d(%o43)+%o43.%o43;
                                  [ 0  0  0 ]
                                  [         ]
(%o47)                            [ 0  0  0 ]
                                  [         ]
                                  [ 0  0  0 ]