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>
|