File: maxima_28.html

package info (click to toggle)
maxima 5.6-17
  • links: PTS
  • area: main
  • in suites: woody
  • size: 30,572 kB
  • ctags: 47,715
  • sloc: ansic: 154,079; lisp: 147,553; asm: 45,843; tcl: 16,744; sh: 11,057; makefile: 7,198; perl: 1,842; sed: 334; fortran: 24; awk: 5
file content (296 lines) | stat: -rw-r--r-- 9,900 bytes parent folder | download
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
     from maxima.texi on 25 April 2001 -->

<TITLE>Maxima Manual - Ctensor</TITLE>
<link href="maxima_29.html" rel=Next>
<link href="maxima_27.html" rel=Previous>
<link href="maxima_toc.html" rel=ToC>

</HEAD>
<BODY>
<p>Go to the <A HREF="maxima_1.html">first</A>, <A HREF="maxima_27.html">previous</A>, <A HREF="maxima_29.html">next</A>, <A HREF="maxima_41.html">last</A> section, <A HREF="maxima_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC88" HREF="maxima_toc.html#TOC88">Ctensor</A></H1>



<H2><A NAME="SEC89" HREF="maxima_toc.html#TOC89">Introduction to Ctensor</A></H2>

<P>
 - Component Tensor Manipulation Package.  To use the CTENSR
package, type TSETUP(); which automatically loads it from within
MACSYMA (if it is not already loaded) and then prompts the user to
input his coordinate system.  The user is first asked to specify the
dimension of the manifold. If the dimension is 2, 3 or 4 then the list
of coordinates defaults to [X,Y], [X,Y,Z] or [X,Y,Z,T] respectively.
These names may be changed by assigning a new list of coordinates to
the variable OMEGA (described below) and the user is queried about
this.
** Care must be taken to avoid the coordinate names conflicting
with other object definitions **.
Next, the user enters the metric either directly or from a file by
specifying its ordinal position. As an example of a file of common
metrics, see TENSOR;METRIC FILE. The metric is stored in the matrix
LG. Finally, the metric inverse is computed and stored in the matrix
UG. One has the option of carrying out all calculations in a power
series.
A sample protocol is begun below for the static, spherically symmetric
metric (standard coordinates) which will be applied to the problem of
deriving Einstein's vacuum equations (which lead to the Schwarzschild
solution) as an example. Many of the functions in CTENSR will be
displayed for the standard metric as examples.

<PRE>
(C2) TSETUP();

Enter the dimension of the coordinate system: 
4;
Do you wish to change the coordinate names?
N;
Do you want to
1. Enter a new metric?
2. Enter a metric from a file?
3. Approximate a metric with a Taylor series?
Enter 1, 2 or 3 
1;
Is the matrix  1. Diagonal  2. Symmetric  3. Antisymmetric  4. General
Answer 1, 2, 3 or 4
1;
Row 1 Column 1:  A;
Row 2 Column 2:  X^2;
Row 3 Column 3:  X^2*SIN(Y)^2;
Row 4 Column 4:  -D;
Matrix entered.
Enter functional dependencies with the DEPENDS function or 'N' if none 
DEPENDS([A,D],X);
Do you wish to see the metric? 
Y;
                          [ A  0       0        0  ]
                          [                        ]
                          [     2                  ]
                          [ 0  X       0        0  ]
                          [                        ]
                          [         2    2         ]
                          [ 0  0   X  SIN (Y)   0  ]
                          [                        ]
                          [ 0  0       0       - D ]
Do you wish to see the metric inverse? 
N;

</PRE>



<H2><A NAME="SEC90" HREF="maxima_toc.html#TOC90">Definitions for Ctensor</A></H2>
<P>
<DL>
<DT><U>Function:</U> <B>CHR1</B> <I>([i,j,k])</I>
<DD><A NAME="IDX691"></A>
yields the Christoffel symbol of the first kind via the
definition

<PRE>
       (g      + g      - g     )/2 .
         ik,j     jk,i     ij,k
</PRE>

<P>
To evaluate the Christoffel symbols for a particular metric, the
variable METRIC must be assigned a name as in the example under CHR2.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>CHR2</B> <I>([i,j],[k])</I>
<DD><A NAME="IDX692"></A>
yields the Christoffel symbol of the second kind
defined by the relation

<PRE>
                       ks
    CHR2([i,j],[k]) = g    (g      + g      - g     )/2
                             is,j     js,i     ij,s
</PRE>

</DL>
<P>
<DL>
<DT><U>Function:</U> <B>CHRISTOF</B> <I>(arg)</I>
<DD><A NAME="IDX693"></A>
A function in the CTENSR (Component Tensor
Manipulation) package.  It computes the Christoffel symbols of both
kinds.  The arg determines which results are to be immediately
displayed.  The Christoffel symbols of the first and second kinds are
stored in the arrays LCS[i,j,k] and MCS[i,j,k] respectively and
defined to be symmetric in the first two indices. If the argument to
CHRISTOF is LCS or MCS then the unique non-zero values of LCS[i,j,k]
or MCS[i,j,k], respectively, will be displayed. If the argument is ALL
then the unique non-zero values of LCS[i,j,k] and MCS[i,j,k] will be
displayed.  If the argument is FALSE then the display of the elements
will not occur. The array elements MCS[i,j,k] are defined in such a
manner that the final index is contravariant.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>COVDIFF</B> <I>(exp,v1,v2,...)</I>
<DD><A NAME="IDX694"></A>
yields the covariant derivative of exp with
respect to the variables vi in terms of the Christoffel symbols of the
second kind (CHR2).  In order to evaluate these, one should use
EV(exp,CHR2).

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>CURVATURE</B> <I>([i,j,k],[h])</I>
<DD><A NAME="IDX695"></A>
Indicial Tensor Package) yields the Riemann
curvature tensor in terms of the Christoffel symbols of the second
kind (CHR2).  The following notation is used:

<PRE>
               h            h           h        %1        h
      CURVATURE     = - CHR2      - CHR2     CHR2    + CHR2
               i j k        i k,j       %1 j     i k       i j,k
                              h         %1
                        + CHR2      CHR2
                              %1 k      i j
</PRE>

</DL>
<P>
<DL>
<DT><U>Variable:</U> <B>DIAGMETRIC</B>
<DD><A NAME="IDX696"></A>
 default:[] - An option in the CTENSR (Component Tensor
Manipulation) package.  If DIAGMETRIC is TRUE special routines compute
all geometrical objects (which contain the metric tensor explicitly)
by taking into consideration the diagonality of the metric. Reduced
run times will, of course, result. Note: this option is set
automatically by TSETUP if a diagonal metric is specified.

</P>
</DL>
<P>
<DL>
<DT><U>Variable:</U> <B>DIM</B>
<DD><A NAME="IDX697"></A>
 default:[4] - An option in the CTENSR (Component Tensor
Manipulation) package.  DIM is the dimension of the manifold with the
default 4. The command DIM:N; will reset the dimension to any other
integral value.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>EINSTEIN</B> <I>(dis)</I>
<DD><A NAME="IDX698"></A>
A function in the CTENSR (Component Tensor
Manipulation) package.  EINSTEIN computes the mixed Einstein tensor
after the Christoffel symbols and Ricci tensor have been obtained
(with the functions CHRISTOF and RICCICOM).  If the argument dis is
TRUE, then the non-zero values of the mixed Einstein tensor G[i,j]
will be displayed where j is the contravariant index.
RATEINSTEIN[TRUE] if TRUE will cause the rational simplification on
these components. If RATFAC[FALSE] is TRUE then the components will
also be factored.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>LRICCICOM</B> <I>(dis)</I>
<DD><A NAME="IDX699"></A>
A function in the CTENSR (Component Tensor
Manipulation) package.  LRICCICOM computes the covariant (symmetric)
components LR[i,j] of the Ricci tensor.  If the argument dis is TRUE,
then the non-zero components are displayed.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>MOTION</B> <I>(dis)</I>
<DD><A NAME="IDX700"></A>
A function in the CTENSR (Component Tensor
Manipulation) package.  MOTION computes the geodesic equations of
motion for a given metric.  They are stored in the array EM[i].  If
the argument dis is TRUE then these equations are displayed.

</P>
</DL>
<P>
<DL>
<DT><U>Variable:</U> <B>OMEGA</B>
<DD><A NAME="IDX701"></A>
 default:[] - An option in the CTENSR (Component Tensor
Manipulation) package.  OMEGA assigns a list of coordinates to the
variable. While normally defined when the function TSETUP is called,
one may redefine the coordinates with the assignment
OMEGA:[j1,j2,...jn] where the j's are the new coordinate names. A call
to OMEGA will return the coordinate name list.  Also see
DESCRIBE(TSETUP); .

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>RIEMANN</B> <I>(dis)</I>
<DD><A NAME="IDX702"></A>
A function in the CTENSR (Component Tensor
Manipulation) Package.  RIEMANN computes the Riemann curvature tensor
from the given metric and the corresponding Christoffel symbols.  If
dis is TRUE, the non-zero components R[i,j,k,l] will be displayed. All
the indicated indices are covariant.  As with the Einstein tensor,
various switches set by the user control the simplification of the
components of the Riemann tensor.  If RATRIEMAN[TRUE] is TRUE then
rational simplification will be done. If RATFAC[FALSE] is TRUE then
each of the components will also be factored.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>TRANSFORM</B>
<DD><A NAME="IDX703"></A>
 - The TRANSFORM command in the CTENSR package has been
renamed to TTRANSFORM.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>TSETUP</B> <I>()</I>
<DD><A NAME="IDX704"></A>
A function in the CTENSR (Component Tensor Manipulation)
package which automatically loads the CTENSR package from within
MACSYMA (if it is not already loaded) and then prompts the user to
make use of it.  Do DESCRIBE(CTENSR); for more details.

</P>
</DL>
<P>
<DL>
<DT><U>Function:</U> <B>TTRANSFORM</B> <I>(matrix)</I>
<DD><A NAME="IDX705"></A>
A function in the CTENSR (Component Tensor
Manipulation) package which will perform a coordinate transformation
upon an arbitrary square symmetric matrix. The user must input the
functions which define the transformation.  (Formerly called TRANSFORM.)

</P>
</DL>

<P><HR><P>
<p>Go to the <A HREF="maxima_1.html">first</A>, <A HREF="maxima_27.html">previous</A>, <A HREF="maxima_29.html">next</A>, <A HREF="maxima_41.html">last</A> section, <A HREF="maxima_toc.html">table of contents</A>.
</BODY>
</HTML>