Physics[d_] - indexed differential operator with respect to the spacetime variables
a name representing an integer number between 0 and the spacetime dimension, can also be the number itself
any mathematical expression or relation between expressions
a list of differentiation variables to which the index mu refers
The d_[mu] command is a computational representation for the differential operator ∂__mu , defined by
where xμ represents the contravariant spacetime vector of a coordinate system.
d_ can also be used without an index, as in d_(A) displayed as ∂⁡A, in which case it represents the total differential, and the output comes automatically expanded as ∂μA⁢∂⁡xμ (assuming sum rule for repeated indices); unless A is already a coordinate of any system of coordinates defined using Setup or Coordinates, in which case d_(A) returns unevaluated, echoing the input, representing the differential of the coordinate A.
In a galilean system (Euclidean or Minkowski), both xμ and the differential of the coordinates ∂xμ are vectors (tensors with 1 index), and so ∂Aν=∂μ⁢Aν⁢∂xμ and ∂μ are also vectors, the latter representing
where xμ=gμ,ν⁢xν is the covariant spacetime vector. However, unlike the galilean case, in a curvilinear system of coordinates, xμ is not a vector, and so neither the total differential of a vector ∂Aν nor ∂μ are tensors (for a generalization of ∂__mu to curvilinear coordinates see D_) and the formula above for ∂μ loses its meaning; instead, the convention used in the Physics package (it becomes the one above only in the galilean case) is
Likewise, from xν=gα,ν⁢xα, in a galilean spacetime ∂μ⁡xν=gμ,ν while this is not correct in a nongalilean spacetime, where the metric depends on the coordinates, and the correct formula is ∂μ⁡xν=∂μ⁡gα,ν⁢xα+gμ,ν
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_, as in d_[mu](A) or d_(A), the differentiation variables are the current default values, typically x1,x2,x3,x4 (x0 is automatically assigned to x4), represented by X (see Coordinates). The default for the differentiation variables is set with the Setup command. When two arguments are given to d_, the second argument is expected to be a list with the differentiation variables to which the index in d_μ refers or the total differential is to be taken, 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 by the Setup command.
In the particular case where d_ is not indexed and is called with one argument, and this argument is a coordinate of any coordinate system defined using Setup or Coordinates, d_ returns unevaluated, echoing the input. This permits using d_ to represent the differential of coordinates that are not the default differentiation coordinates, useful when working with transformations of coordinates (see TransformCoordinates).
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 performed by d_, a summary of them is as follows:
- If A does not depend on the differentiation variables, then 0 is returned.
- If A is a sum, product, power, or known function, then the differentiation is expanded accordingly.
- If A=xn, and xn belongs to the differentiation variables, then d_μ⁡A returns g_μ,n.
- If A=d_μ⁡B, then dAlembertian⁡B (the d'Alembertian) is returned.
- If A is an unknown function (the rule for its derivative is unknown), a Dirac delta function, or a derivative, then the result is returned unevaluated as d_μ⁡A.
Sometimes it is convenient to rewrite tensorial expressions involving the covariant derivative D_ or the Christoffel symbols in terms of d_ or its application to the metric g_. For this purpose you can use convert(expression, d_) - see the Examples section.
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_; that is, it represents the same mathematical operation while displaying the operation unevaluated. To evaluate the operation, use the value command.
Setup(mathematicalnotation = true);
Define some functions as spacetime tensor functions and use the enhanced display scheme of the differential equation packages.
Defined objects with tensor properties
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢X=x1,x2,x3,x4
⁢Systems of spacetime coordinates are:⁢X=x1,x2,x3,x4
PDEtools[declare]( (f,A,h)(X) );
f⁡X⁢will now be displayed as⁢f
A⁡X⁢will now be displayed as⁢A
h⁡X⁢will now be displayed as⁢h
The following example illustrates the automatic manipulations performed by d_.
ee := f(X)*A[mu](X)*cos(h(X))+ B[mu,nu]*A[nu](X)*Dirac([X]);
d_[rho]( ee );
So d_ distributes over products and sums, makes use of all the differentiation rules known to the Maple system, and returns unevaluated when its argument is an unknown function or a Dirac delta function. The composition of d_ leads to the d'Alembertian.
d_[rho]( (6) );
The structure of indices of an expression such as the above can be checked by using the Check command.
The repeated and free indices in the given expression check ok.
The repeated indices per term are: ...,...,..., the free indices are: ...
Note that this check is actually performed in background each time a Physics command is called.
d_ can also be used to represent differentials; it automatically expands when the argument is not already a coordinate
When working with transformations of coordinates it is useful to define more than one system of coordinates; let Y be such another one
⁢Systems of spacetime coordinates are:⁢X=x1,x2,x3,x4,Y=y1,y2,y3,y4
At this point, you can represent the differential of any of the coordinate systems defined, even when it is not the default differentiation variables system
d_ is used to represent differentials when entering the spacetime metric by passing the corresponding line element - see Setup, and in the output of TransformCoordinates when used with the option output = line_element.
The d_ operator is also available when working in nongalilean spacetimes, e.g. when the Christoffel symbols are not all of them zero. Set the metric to be the Schwarzschild metric in spherical coordinates; use a shortcut for the related Schwarzschild keyword (see g_)
⁢Systems of spacetime coordinates are:⁢X=r,θ,φ,t,Y=y1,y2,y3,y4
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢X=r,θ,φ,t
⁢The Schwarzschild metric in coordinates ⁢r,θ,φ,t
Define an arbitrary tensor function A and rewrite its covariant derivative using d_ and Christoffel symbols, then in terms of derivatives of the metric g_
Defined as tensors
From the definition of the covariant Xν
X[nu] = g_[alpha, nu] * X[~alpha];
taking the differential of both sides, and using the inert %d_ for the left-hand-side
%d_[mu](lhs((23))) = d_[mu](rhs((23)));
Recalling, the current metric is nongalilean (Schwarzschild). In a galilean spacetime, the first term on the right-hand-side is zero, then ∂μ⁡Xν=gμ,ν.
For various calculations it is important how the derivatives of the contravariant tensor gμ,ν are related to those of the covariant gμ,ν. This relationship can be derived as follows
g_[alpha,nu] * g_[~nu, ~beta];
(25) = Simplify((25));
Differentiating now both sides
g_[~alpha,~rho] . (27);
isolate((28), d_[mu](g_[~beta, ~rho]));
`.`, Check, Christoffel, D_, dAlembertian, declare, Define, diff, g_, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup
Download Help Document
What kind of issue would you like to report? (Optional)