=============================================================================== HELP FOR: grdefine =============================================================================== CALLING SEQUENCE: grdefine( newObject, symm, [definition], [subRanges] ) PARAMETERS: newObject - string indicating the object to be defined symm - symmetries of the new object definition - (optional) tensor equation to define newObject subRanges - (optional) restrictions on the ranges of implicit summations in the definition ------------------------------------------------------------------------------- SYNOPSIS: [ Note: In GRTensorII 1.50, grdefine() has been superceded by the command grdef(). For more information consult ?grdef. ] - grdefine() is used to define new GRTensorII objects. It can be used in one of two ways. A tensor can be defined without expressing it in terms of other objects, in which case the user must explicitly enter the components when the object is calculated, or the user can define the tensor in terms of other tensors and grdefine will automatically create a procedure to calculate the object. - newObject must be a string. For example `T{a b}`. Indices must be enclosed by italic braces. Contravariant indices are prefixed with ^. For example `T{a ^b}`. Basis indices are enclosed in parenthesis, e.g. `R{(a) (b)}`. - Index and tensor names must not conflict with any names already assigned in the current MapleV session. - The symmetries of the new object can be expressed by referring to an existing object with identical symmetries. If no such objects exist, or the object has no symmetries, then {} should be entered. - A definition consists of a string containing a formula of indexed tensors. See the help page for grdef() for a discussion of how these are specified. Any unassigned name is permitted as a dummy index. Dummy indices which occur twice (once covariantly and once contravariantly) are summed over the dimension of the space Ndim. Summations can be restricted with the subRanges argument. - A definition may involve objects from different spacetimes. Indexed tensors in the definition will by default refer to the objects from the default metric. Indexed tensors in the definition of the form e.g. `R<1>{a b}` will refer to an additional metric. The user must indicate the addition metric name when calculating the object (see below). - The subRanges argument is used to provide a set of subRanges for implied summations when required. If an index a is used as a dummy index, but we require that a be summed only from 2..Ndim then the subRange value {a=2..Ndim} accomplishes this. If the summation range is to be referred to the dimension of an additional metric then {a=2..Ndim[1]} can be used. - The defining expression may be an equation, e.g. `G{a b} = T{a b}`. In such cases three objects are created, one for each side of the equation, and one for the equation itself. ------------------------------------------------------------------------------- EXAMPLES: # # define a symmetric, covariant tensor to be entered explicitly # >grdefine( `T{a b}`, g(dn,dn) ); Created definition for T(dn,dn) # # now define a synonym for the Einstein tensor # > grdefine( `E{a b}`, g(dn,dn), `R{a b} - 1/2*Ricciscalar*g{a b}` ); Created definition for E(dn,dn) # # use implied summation to contract Weyl with Riemann # >grdefine( newScalar, {}, `R{a b c d}*C{^a ^b ^c ^d}` ); Created definition for newScalar # # perform a restricted summation of Riemann over only 1..Ndim-1 # >grdefine( `Weird{a b}`, g(dn,dn), `R{^c a c b}`, {c=1..Ndim-1}); Created definition for Weird(dn,dn) # # take the difference of two metrics # >grdefine( `FF1{a b}`, g(dn,dn), `g{a b} - g<1>{a b}` ); Created definition for FF1(dn(a,b)) >grcalc(1=rw,FF1(dn,dn)); # # define Einstein's Equation # >grdefine( `Eeqn{a b}`, g(dn,dn), `G{a b} = T{a b}` ); Created definition for lhs_Eeqn(dn,dn) Created definition for rhs_Eeqn(dn,dn) Created definition for Eeqn(dn,dn) ------------------------------------------------------------------------------- SEE ALSO: grdef, grt_objects, grt_operands, grsavedef, grundefine, grloaddef. ===============================================================================