Load the Physics package.
>


>


 (1) 
Set an alias for to represent , , , , and set the default differentiation coordinates for d_ and dAlembertian to be ; this can be done in a single command line by using the Setup command as in Setup(differentiationvariables = X)  that automatically sets the coordinates  or using Coordinates  the first time it is called it automatically sets the differentiation variables
>


 (2) 
Query about the default differentiation variables for
>


 (3) 
Note the display of the association between and the sequence . Because of the alias', if you now enter X you do not see its contents
>


 (4) 
The variables are however there:
>


 (5) 
>


 (6) 
After having set as a coordinate system and default differentiation variables, d_ and dAlembertian can be used omitting the second argument that would specify the differentiation variables
>


 (7) 
>


 (8) 
>


 (9) 
Set more systems of spacetime coordinates.
>


 (10) 
This is useful, for example, when you want to represent objects evaluated at different points in spacetime. If you want to use d_ or dAlembertian with or , which in this example are not the default differentiation variables, you need to specify them as the second argument, and they will be displayed on the screen.
>


 (11) 
>


 (12) 
An example where more than one system of coordinates is intrinsically required: functional differentiation. Use 'delay evaluation quotes' to first display the expression, then evaluate.
>


 (13) 
>


 (14) 
>


 (15) 
You see above a four dimensional Dirac delta function as a result of the functional differentiation. Alternatively, instead of using 'delay evaluation quotes,' you can use the inert form %Fundiff, and then evaluate by using the value command.
>


 (16) 
>


 (17) 
Coordinates systems and the "SpaceTimeVector"
After setting a coordinate system, the capital letter that labels it can also be use in algebraic computations to represent the corresponding SpaceTimeVector (tensor with 1 index). For example:
>


 (18) 
>


 (19) 
>


 (20) 
>


 (21) 
>


 (22) 
Or using `.` instead of `*` to shortcut the call to Simplify
>


 (23) 
>


 (24) 
Remark: in tensor computations, the distinction between covariant and contravariant indices is important when the spacetime is not Euclidean and the indices assume numerical values. The label of a system of coordinates set with Coordinates represent the contravariant components of the corresponding SpaceTimeVector. To indicate than an index is contravariant you prefix it with ~. On the other hand, in Maple, the selection operation is also performed through indexation. Hence, if X is a label for a system of coordinates, entering X[1] returns x1, the contravariant component of the corresponding SpaceTimeVector, even when the index used is the number 1, the covariant version of the contravariant ~1. So in a context where covariant and contravariant indexation is relevant and where you are going to assign numerical values to the indices, it is recommended to represent the spacetime vector with the SpaceTimeVector function, as in SpaceTimeVector[mu](X), instead of directly using X[mu]. In all other cases it is safe and simpler to use X[mu] and all the Physics commands understand both representations as equivalent.
Due to the equivalence between SpaceTimeVector[~mu] and X[~mu], they are both displayed X[~mu] (note the prefix ~ to indicate that is contravariant)
>


 (25) 
>


Physics:SpaceTimeVector[`~mu`](X)
 
Display the current spacetime metric g_ matrix
>


 (26) 
The 1st contravariant and covariant components are respectively represented by indexing SpaceTimeVector with the numbers ~1 and 1
>


 (27) 
>


 (28) 
>


 (29) 
Once you have set a system of coordinates, you can differentiate the corresponding SpaceTimeVector, using diff, d_ or any of the differentiation operators of Physics. In the following input, compute the derivative with respect to the 1st contravariant component of , that is . Recalling, contravariant differentiation coordinates are the ones entering the covariant differentiation operator . For illustration purposes use the inert form of d_ and diff, prefixing the commands with % and perform the computation using value
>


 (30) 
>


 (31) 
>


 (32) 
You can also represent x1 with SpaceTimeVector[~1](X), and when differentiate with respect to contravariant components of the spacetime vector you can also represent them directly with X[~mu] because ~1, ~2, etc. are viewed by the system as symbols (in this context, contravariant indices) not selecting numbers
>


 (33) 
>


 (34) 
and in general,
>


 (35) 
Compute now the contravariant derivative, that is, the derivative with respect to the covariant
>


 (36) 
Set five more systems of coordinates, using the different forms of setting them
>


 (37) 
Query about the coordinate systems currently set
>


 (38) 
Change the default differentiation variables for d_ and the other differentiation commands
>


 (39) 
So now
>


 (40) 
>


 (41) 
>


 (42) 
All these refer to the same variable
>


 (43) 
>

