Physics[Define]  define a Physics tensor object, its structure, and the (anti)symmetry of its indices under permutation

Calling Sequence


Define( )
Define(A, B, ..., options)
Define(A[], symmetric = {{}, {}, ...}, antisymmetric = {{}, {}, ...}, options)


Parameters


A, B, ...



functions or names, indexed or not, being defined as objects having tensorial properties in the frame of the Physics package

symmetric = {{}, ...}



(optional) specifies that the objects being defined are symmetric (don't change value) under the interchange of positions between the indices in each of the subsets indicated

antisymmetric = {{}, ...}



(optional) specifies that the objects being defined are antisymmetric under the interchange of positions between the indices in each of the subsets indicated

options



(optional) arguments given in any order; any of: symmetric, antisymmetric, query, clear, redo, and quiet





Description


•

Define is used to define a Maple object entering algebraic expressions, representing a mathematical object with tensorial properties in the context of the Physics package. You can include in that definition the object's structure and symmetry properties regarding permutation of its indices, if any.

•

If you define an object already defined, Define performs a check for consistency between the previous and the given definitions, and interrupts with an error if there are inconsistencies. To clear previous definitions, use the optional argument clear; if given alone, it will clear all the previous definitions, otherwise it will clear only the definitions of the objects specified. To redefine a previously defined object (that is, define it ignoring previous definitions), include the optional argument redo, together with the new definition.

•

The command Define() with no argument returns the definitions of objects known to the system at the time it is called.

•

After an object is defined through the Define command, each time a Physics command finds this object in a mathematical expression, the command operates with the object taking into account the sum rule for repeated indices, the symmetry properties defined for it, as well as its commutation rules, if any were defined.

•

Note that when an object is defined through the Define command, no assignment is made to the object itself; instead, the information is stored in a table, and made available to the different Physics commands, which automatically query this information, on background, to verify whether the objects found in the working expression were previously defined, what their properties are, if any, and whether they match their previous definitions regarding number of indices and dependency. If some inconsistency is detected, an error interruption pointing to the problem found occurs. In this way, Maple takes care of the typical mistakes that could happen while computing with more sophisticated notation.

•

When the dimension of the spacetime is changed in the middle of a session, all definitions previously made by using Define are automatically cleared.

•

Generally speaking, a Physics object can be defined as such in two different ways:


 By calling Define directly with all the information regarding the object, such as Define().


 By calling Define with only a basic piece of information, as in Define(A). Then, when a Physics command is called, an expression containing the command, such as , automatically calls Define to update the information on the number of indices and variables of objects previously defined.


The first approach tells from the beginning what will be correct in what follows. In the second approach, what will be correct is implicit the first time the object is entered with all the information; assuming there are no mistakes the first time, this approach is simpler.



Options


•

antisymmetric and symmetric


To define symmetry properties for some or all of the indices of an object being defined with the Define command, use the following guidelines:


 To define the indices as totally symmetric or antisymmetric with respect to permutations, add the keyword symmetric or antisymmetric,respectively, to the calling sequence. For example, Define( , symmetric).


If many objects are being defined at once, the symmetry properties are assumed to hold for all of them.


 To define more detailed symmetry properties (for one Tensor at a time) use, for example, Define( , symmetric = ),


Clear previous definitions in the current session.


If given with no arguments, clear removes all definitions in the current session.


If given with objects , clear removes the specified definitions.


Query about previous definitions in the current session. For example, Define(query), where query is any of query, history, indices, functionality, and structure.


Proceed without displaying messages on the screen.


To redefine an object that has already been defined, where the new definition is not the same as the old, use either the clear option and then define the object again, or do both in one step by using the redo option.


The redo option removes the previous definition, if any, and gives the object the new definition as specified.



Examples


>


>


 (1) 
When called with no arguments, Define returns a set of all objects known to the Physics package as having special properties (socalled Physics objects).
>


 (2) 
In the above, since no objects have been defined yet, the output shows just those defined when initializing the package: the differentiation tensor operator d_, the antisymmetric Ddimensional LeviCivita tensor, the KroneckerDelta, the metrics g_, the Pauli matrices, and the Dirac matrices. You can query about any particular object by using the following command:
>


 (3) 
where in this output, the second list explains the structure of the indices of the spacetime differentiation operator d_, meaning: "1 spacetime index, 0 spinor indices, and 0 gauge indices"; the third element in the output above tells the number of variables (arguments) on which the Physics object depends (in this case, the second argument is the "Ddimensional spacetime vector used as differentiation variables").
>


 (4) 
>


 (5) 
>


 (6) 
>


 (7) 
>


 (8) 
>



