Nächste: Torsion und Nichtmetrizität, Vorige: Tensoren in gekrümmten Räumen, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]
Maxima now has the ability to perform calculations using moving frames. These can be orthonormal frames (tetrads, vielbeins) or an arbitrary frame.
To use frames, you must first set iframe_flag
to true
. This
causes the Christoffel-symbols, ichr1
and ichr2
, to be replaced
by the more general frame connection coefficients icc1
and icc2
in calculations. Speficially, the behavior of covdiff
and
icurvature
is changed.
The frame is defined by two tensors: the inverse frame field (ifri
,
the dual basis tetrad),
and the frame metric ifg
. The frame metric is the identity matrix for
orthonormal frames, or the Lorentz metric for orthonormal frames in Minkowski
spacetime. The inverse frame field defines the frame base (unit vectors).
Contraction properties are defined for the frame field and the frame metric.
When iframe_flag
is true, many itensor
expressions use the frame
metric ifg
instead of the metric defined by imetric
for
raising and lowerind indices.
IMPORTANT: Setting the variable iframe_flag
to true
does NOT
undefine the contraction properties of a metric defined by a call to
defcon
or imetric
. If a frame field is used, it is best to
define the metric by assigning its name to the variable imetric
and NOT invoke the imetric
function.
Maxima uses these two tensors to define the frame coefficients (ifc1
and ifc2
) which form part of the connection coefficients (icc1
and icc2
), as the following example demonstrates:
(%i1) load("itensor"); (%o1) /share/tensor/itensor.lisp (%i2) iframe_flag:true; (%o2) true (%i3) ishow(covdiff(v([],[i]),j))$ i i %1 (%t3) v + icc2 v ,j %1 j (%i4) ishow(ev(%,icc2))$ %1 i i (%t4) v ifc2 + v %1 j ,j (%i5) ishow(ev(%,ifc2))$ %1 i %2 i (%t5) v ifg ifc1 + v %1 j %2 ,j (%i6) ishow(ev(%,ifc1))$ %1 i %2 v ifg (ifb - ifb + ifb ) j %2 %1 %2 %1 j %1 j %2 i (%t6) -------------------------------------------------- + v 2 ,j (%i7) ishow(ifb([a,b,c]))$ %3 %4 (%t7) (ifri - ifri ) ifr ifr a %3,%4 a %4,%3 b c
An alternate method is used to compute the frame bracket (ifb
) if
the iframe_bracket_form
flag is set to false
:
(%i8) block([iframe_bracket_form:false],ishow(ifb([a,b,c])))$ %6 %5 %5 %6 (%t8) ifri (ifr ifr - ifr ifr ) a %5 b c,%6 b,%6 c
Standardwert: false
To use frames, you must first set iframe_flag
to true
. This
causes the Christoffel-symbols, ichr1
and ichr2
, to be replaced
by the more general frame connection coefficients icc1
and icc2
in calculations. Speficially, the behavior of covdiff
and
icurvature
is changed.
The frame is defined by two tensors: the inverse frame field (ifri
,
the dual basis tetrad),
and the frame metric ifg
. The frame metric is the identity matrix for
orthonormal frames, or the Lorentz metric for orthonormal frames in Minkowski
spacetime. The inverse frame field defines the frame base (unit vectors).
Contraction properties are defined for the frame field and the frame metric.
When iframe_flag
is true, many itensor
expressions use the frame
metric ifg
instead of the metric defined by imetric
for
raising and lowerind indices.
IMPORTANT: Setting the variable iframe_flag
to true
does NOT
undefine the contraction properties of a metric defined by a call to
defcon
or imetric
. If a frame field is used, it is best to
define the metric by assigning its name to the variable imetric
and NOT invoke the imetric
function.
Since in this version of Maxima, contraction identities for ifr
and
ifri
are always defined, as is the frame bracket (ifb
), this
function does nothing.
The frame bracket. The contribution of the frame metric to the connection coefficients is expressed using the frame bracket:
- ifb + ifb + ifb c a b b c a a b c ifc1 = -------------------------------- abc 2
The frame bracket itself is defined in terms of the frame field and frame
metric. Two alternate methods of computation are used depending on the
value of frame_bracket_form
. If true (the default) or if the
itorsion_flag
is true
:
d e f ifb = ifr ifr (ifri - ifri - ifri itr ) abc b c a d,e a e,d a f d e
Otherwise:
e d d e ifb = (ifr ifr - ifr ifr ) ifri abc b c,e b,e c a d
Connection coefficients of the first kind. In itensor
, defined as
icc1 = ichr1 - ikt1 - inmc1 abc abc abc abc
In this expression, if iframe_flag
is true, the Christoffel-symbol
ichr1
is replaced with the frame connection coefficient ifc1
.
If itorsion_flag
is false
, ikt1
will be omitted. It is also omitted if a frame base is used, as the
torsion is already calculated as part of the frame bracket.
Lastly, of inonmet_flag
is false
,
inmc1
will not be present.
Connection coefficients of the second kind. In itensor
, defined as
c c c c icc2 = ichr2 - ikt2 - inmc2 ab ab ab ab
In this expression, if iframe_flag
is true, the Christoffel-symbol
ichr2
is replaced with the frame connection coefficient ifc2
.
If itorsion_flag
is false
, ikt2
will be omitted. It is also omitted if a frame base is used, as the
torsion is already calculated as part of the frame bracket.
Lastly, of inonmet_flag
is false
,
inmc2
will not be present.
Frame coefficient of the first kind (also known as Ricci-rotation coefficients.) This tensor represents the contribution of the frame metric to the connection coefficient of the first kind. Defined as:
- ifb + ifb + ifb c a b b c a a b c ifc1 = -------------------------------- abc 2
Frame coefficient of the first kind. This tensor represents the contribution
of the frame metric to the connection coefficient of the first kind. Defined
as a permutation of the frame bracket (ifb
) with the appropriate
indices raised and lowered as necessary:
c cd ifc2 = ifg ifc1 ab abd
The frame field. Contracts with the inverse frame field (ifri
) to
form the frame metric (ifg
).
The inverse frame field. Specifies the frame base (dual basis vectors). Along with the frame metric, it forms the basis of all calculations based on frames.
The frame metric. Defaults to kdelta
, but can be changed using
components
.
The inverse frame metric. Contracts with the frame metric (ifg
)
to kdelta
.
Default value: true
Specifies how the frame bracket (ifb
) is computed.
Nächste: Torsion und Nichtmetrizität, Vorige: Tensoren in gekrümmten Räumen, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]