D_ - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Physics[D_] - indexed covariant differential operator with respect to curvilinear spacetime coordinates

Calling Sequence


D_[mu](A, [X])


D_(A, [X])




a name representing an integer number between 0 and the spacetime dimension, can also be the number itself or preceeded by ~ to represent a contravariant index



any mathematical expression or relation between expressions, or a set or list of them, or an rtable 



a list of differentiation variables to which the index mu refers



The D_[mu] command is a computational representation for μ, the covariant differential operator, a tensor, the generalization of μ to curvilinear coordinates.


D_ can also be used without an index, as in D_(A) displayed as A, in which case it represents the total differential in curvilinear coordinates, and the output comes automatically expanded as D_[mu](A) * d_(X[~mu]), displayed as AⅆX μ where X is a coordinates system and X[~mu] is the corresponding spacetime vector.


The covariant D_[mu] = μ is defined in terms of the Christoffel symbols as



when acting on a covariant tensor as Aν, and as



when acting on a contravariant tensor. For tensors of higher rank, for each covariant index there is one negative Christoffel term as in the formula for Aν and for each contravariant index there is one positive Christoffel term as in the formula for Aν.


To express μAν using this definition in terms of Christoffel symbols use convert to d_ or expand which also know about other identities for μ.


The contravariant gμ,νν=μ is entered as D_[~mu], so using the same D_ just with a contravariant index.


Computations performed with the Physics package commands take into account Einstein's sum rule for repeated indices - see `.` and Simplify. The distinction between covariant and contravariant indices in the input of tensors is done by prefixing contravariant ones with ~, say as in ~mu; in the output, contravariant indices are displayed as superscripts. For contracted indices, you can enter them one covariant and one contravariant. Note however that - provided that the spacetime metric is galilean (Euclidean or Minkowski), or the object is a tensor also in curvilinear coordinates - this distinction in the input is not relevant, and so contracted indices can be entered as both covariant or both contravariant, in which case they will be automatically rewritten as one covariant and one contravariant. Tensors can have spacetime and space indices at the same time. To change the type of letter used to represent spacetime or space indices see Setup.


When only one argument is given to D_ or D_[mu], say as in D_[mu](A), the differentiation variables are the default ones, as indicated by Setup(differentiationvariables). Note you can set various coordinate systems and choose which one is to be considered the differentiation variables for D_ using Setup.


You can also override the default differentiation variables by passing two arguments to D_ or D_[mu], in which case the second argument is expected to be a list with the differentiation variables, as in D_[mu](A, [x1, x2, ...]), and so this list should have as many symbols as the dimension of spacetime, which by default is 4 but can be set to any value with the Setup command.


Some automatic checking and simplifications are carried out each time an operation such as D_[mu](A) is executed. The checking is concerned with possible syntax errors. Regarding the automatic simplifications, a summary is as follows:


If A does not depend on the differentiation variables or is equal to the metric g_, then 0 is returned.


If A is a scalar then d_[mu](A) is returned.


If A belongs to the differentiation variables, then the definition of D_[mu](A) is applied and the resulting value returned.


If A is a sum, product, power, or known function, then the differentiation is distributed accordingly, the same way it is done by d_.


A number of additional identities for covariant derivatives are returned when using expand.


To perform the differentiation, the D_ command makes us of the diff command of the Physics package, which in turn uses the standard Maple diff command, so that any user-defined differentiation rule, such as for a function foo, of the form `diff/foo`, is automatically taken into account by D_.


The %D_ command is the inert form of D_, so it represents the same mathematical operation but without performing it. To perform the operation, use value.






Set up a coordinate system to work with - the first one to be set is automatically taken as the differentiation variables for d_, the covariant derivative D_ and the dAlembertian


Systems of spacetime coordinates are:X=x,y,z,t



When Physics is initialized, the default spacetime metric is of Minkowski type. You can see the metric querying Setup, as in Setup(metric);, or directly entering the metric g_ with no indices




For illustration purposes Define an arbitrary spacetime tensor  A


Defined objects with tensor properties



Check the nonzero components of Christoffel: if, as in the Minkowski case, there are none, then μ=μ










To set the scenario as an arbitrary non-galilean spacetime set the metric to be arbitrary, that is, depending on 10 arbitrary functions of the spacetime coordinates X



Setting lowercaselatin_is letters to represent space indices

The arbitrary metric in coordinates x,y,z,t

Signature: - - - +








Related to displaying the components of Christoffel, it is convenient to have a compact display of the 10 arbitrary functions entering the metric as well as of their derivatives; for that purpose use the enhanced display scheme of the differential equation packages.


f__1x,y,z,twill now be displayed asf__1

f__10x,y,z,twill now be displayed asf__10

f__2x,y,z,twill now be displayed asf__2

f__3x,y,z,twill now be displayed asf__3

f__4x,y,z,twill now be displayed asf__4

f__5x,y,z,twill now be displayed asf__5

f__6x,y,z,twill now be displayed asf__6

f__7x,y,z,twill now be displayed asf__7

f__8x,y,z,twill now be displayed asf__8

f__9x,y,z,twill now be displayed asf__9


So from herein, in the display of expressions, derivatives are displayed as indexed and the functionality of the arbitrary functions is suppressed.

Check the value of Γ__α,μ,ν for α = μ = ν = 1




So now, for the total differential and the covariant derivative, we have







To express these results using the definition in terms of Christoffel symbols use expand or convert to d_




To compute with a representation for  without actually performing the operation, use the inert form %D_. To afterwards perform the operation use value







The covariant derivative of a scalar is always equal to the  derivative







To reduce the amount of input notation, a scalar constructed with contracted indices in tensors can be entered with all contracted indices covariant, or as a power in the case of a contracted product of a tensor with itself. For example, use AμAμ=Aμ2







and as expected in the case of scalars, in the above you see no Christoffel symbols.

Set the spacetime metric g_ by giving the square of the spacetime interval






Coordinates: x,y,z,t. Signature: - - - +






The generalized divergence of a vector in curvilinear coordinates







See Also

`.`, Christoffel, Coordinates, d_, Define, DifferentialGeometry[Tensor][CovariantDerivative], Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, value



Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.



The Physics[D_] command was introduced in Maple 16.


For more information on Maple 16 changes, see Updates in Maple 16.