Tensor[TensorBrackets] - calculate the Schouten bracket and Frolicher-Nijenhuis brackets of tensor fields
Calling Sequences
TensorBrackets( R, S, C, keyword)
Parameters
R, S - type [r, 0] and type [s, 0] contravariant tensor fields on a manifold M
R, S - type [1, r] and type [1, s] tensor fields on a manifold M, skew-symmetric in their covariant indices
C - (optional) a symmetric connection on TM
keyword - a string, either "Schouten" or "Frolicher-Nijenhuis"
|
Description
|
|
•
|
Let R and S be type [r, 0] and type [s, 0] contravariant tensor fields on a manifold M. Then the Schouten bracket T = [R, S] is a contravariant tensor field of type r + s - 1 which generalizes the Lie bracket of two vector fields. The Schouten bracket enjoys the following properties:
|
1. [R, S] = - [S, R].
2. If R and S are symmetric, then [R, S] is symmetric. If R and S are skew-symmetric, then [R, S] is skew-symmetric.
3. If we denote the totally symmetric and totally skew-symmetric parts of a contravariant tensor T by T^+ and T^-, then [R, S] = [R^+, S^+] + [R^-,S ^-].
4. If R is a type [1, 0] tensor field and S is either symmetric or skew-symmetric, then [R, S] = LieDerivative(R, S).
5. If R and S are symmetric and X is a vector field, then [R, X &s S] = [R, X] &s S + X &s [R, S].
6. If R and S are skew-symmetric and X is a vector field, then [R, X &w S] = [R, X] &w S + (-1)^(r+1) X &w [R, S].
7. For the explicit coordinate formula for the Schouten bracket and other properties, see A. Nijenhuis, Jacobi-type identities for bilinear differential concomitants of certain tensor fields I.
8. A type [2, 0] skew-symmetric tensor field P on a manifold M defines a Poisson structure if [P, P] = 0.
•
|
Let R and S be type [1, r] and type [1, s] tensor fields on a manifold M, skew-symmetric in their covariant indices. Such tensors are often referred to as vector-valued differential forms (of degrees r and s). The Frolicher-Nijenhuis bracket T = [R, S] is a vector-valued differential-form of degree type r + s. The Frolicher-Nijenhuis bracket enjoys the following properties:
|
1. [R, S] = (- 1)^(r*s + 1)[S, R].
2. If r = 0, then [R, S] = LieDerivative(R, S)
3. If X and Y are vector fields and alpha and beta are differential forms of degree r and s, then [X &t alpha, Y &t beta] =
[X, Y] &t (alpha &w beta) - X &t (L_Y(alpha) &w beta) + Y &t (alpha &w L_X(beta)) + c1*X &t (Hook(Y,alpha) & w d(beta)) - c2*Y &t (d(alpha) &w Hook(X,beta)),
where c1 = s/(r+1) and c2 = (-1)^((r + s)*r/(s + 1).
4. For the explicit coordinate formula for Frolicher-Nijenhuis bracket, see A. Nijenhuis, Jacobi-type identities for bilinear differential concomitants of certain tensor fields II.
5. If J is a [1, 1] tensor field, then the Frolicher-Nijenhuis bracket [J, J] is called the torsion of J.
•
|
This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form TensorBrackets(...) only after executing the command with(DifferentialGeometry) and with(Tensor) in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-TensorBrackets.
|
|
|
Examples
|
|
>
|
with(DifferentialGeometry):with(Tensor):
|
>
|
DGsetup([x, y, z, w], M):
|
Example 1.
Compute the Schouten brackets of the tensors T1 and T2 and check that the result coincides with the Lie derivative of T2 with respect to T1.
M >
|
X := evalDG(x*D_y - z*D_w);
|
| (2.1) |
M >
|
T1 := convert(X, DGtensor);
|
| (2.2) |
M >
|
T2 := evalDG(w*D_x &s D_y + y*D_z &s D_w);
|
| (2.3) |
M >
|
TensorBrackets(T1, T2, "Schouten");
|
| (2.4) |
M >
|
LieDerivative(X, T2);
|
| (2.5) |
Example 2.
Find all functions f(x, y, z, w) such that the skew-symmetric tensor T2 satisfies [T2, T2] = 0.
M >
|
T2 := evalDG(D_x &w D_y + z*D_y &w D_z + f(x, y, z, w)*D_z &w D_w);
|
| (2.6) |
M >
|
S := TensorBrackets(T2, T2, "Schouten"):
|
M >
|
pde:=Tools:-DGinfo(S, "CoefficientSet");
|
| (2.7) |
| (2.8) |
Example 3.
Check, by way of an example, that the Schouten bracket, acting on symmetric tensors, satisfies the Jacobi identity.
M >
|
T3 := evalDG(y^2*D_x &s D_y + x*z *D_y &s D_w);
|
| (2.9) |
M >
|
T4 := evalDG(D_y &s D_w);
|
| (2.10) |
M >
|
T5 := evalDG(x*z*w* &s (D_y, D_y, D_z));
|
| (2.11) |
M >
|
F :=(X, Y, Z) ->TensorBrackets(X, TensorBrackets(Y, Z, "Schouten"), "Schouten");
|
| (2.12) |
M >
|
F(T3, T4, T5) &plus F(T5, T3, T4) &plus F(T4, T5, T3);
|
| (2.13) |
Example 4.
Compute the Frolicher-Nijenhuis of the tensors T1 and T2 and check that the result coincides with the Lie derivative of T2 with respect to T1.
Also check that [T1, T2] = - [T2, T1] and [T2, T2] = 0.
M >
|
X := evalDG(z*D_y + x*D_w);
|
| (2.14) |
M >
|
T6 := convert(X ,DGtensor);
|
| (2.15) |
M >
|
T7 := evalDG(w^2* D_x &t (dx &w dy &w dw) + y^2* D_y &t(dx &w dz &w dw));
|
| (2.16) |
M >
|
S1 := TensorBrackets(T6, T7, "Frolicher-Nijenhuis");
|
| (2.17) |
M >
|
S1 &minus LieDerivative(X, T7);
|
| (2.18) |
M >
|
S1 &plus TensorBrackets(T7, T6, "Frolicher-Nijenhuis");
|
| (2.19) |
Example 5.
Show that [T8, T8] = 0.
M >
|
T8 := evalDG(w^2* z*D_x &t (dx &w dy) + y^2*x *D_y &t(dx &w dz));
|
| (2.20) |
M >
|
TensorBrackets(T8, T8, "Frolicher-Nijenhuis");
|
| (2.21) |
Example 6.
Use the tensors T8 and T9 to show that Frolicher-Nijenhuis is independent of the connection used to calculate it.
M >
|
T9 := evalDG(w^2* z^2*D_x &t (dy &w dw) + y^2*x^2* D_y &t(dx &w dw));
|
| (2.22) |
M >
|
C := Connection(SymmetrizeIndices(z^2*dx &t D_y &t dz + x*y*dx &t D_y &t dy, [1, 3], "Symmetric"));
|
| (2.23) |
M >
|
TensorBrackets(T8, T9, "Frolicher-Nijenhuis") &minus TensorBrackets(T8, T9, C, "Frolicher-Nijenhuis");
|
| (2.24) |
Example 7.
Find all functions f(x, y, z, w) such that the [1, 1] tensor T10 satisfies [T10, T10] = 0.
M >
|
T10 := evalDG(D_x &t dy + z*D_y &t dz +f(x, y, z, w)*D_z &t dw);
|
| (2.25) |
M >
|
PDEtools[declare](f(x, y, z, w));
|
| (2.26) |
M >
|
S2 := TensorBrackets(T10, T10, "Frolicher-Nijenhuis");
|
| (2.27) |
M >
|
pde := Tools:-DGinfo(S2, "CoefficientSet");
|
| (2.28) |
| (2.29) |
|
|