Tensor[InfinitesimalHolonomy] - find the matrix Lie algebra giving the infinitesimal holonomy of a metric or a connection on the tangent bundle or on a general vector bundle
Calling Sequences
InfinitesimalHolonomy(g, initpt, options)
InfinitesimalHolonomy(Γ, initpt, options)
Parameters
g - a metric tensor, either on the tangent bundle of a manifold or on a vector bundle
Γ - a connection, either on the tangent bundle of a manifold or on a vector bundle
initpt - a list of equations, specifying the coordinates of a point on the manifold.
options - (optional) any of the keyword arguments auxiliaryequations, knownholonomy, curvatureorder, output, maximumholonomy
Description
Details
Examples
Let Γ be a connection on a vector bundle π : E → M with associated directional covariant derivative operator ∇ and curvature tensor R. For any point p∈M and vector fields X, Y, Z1, Z2, ... ,Zℓ , the curvature tensor and its directional covariant derivatives can be viewed as linear maps
∇Z1 ∇Z2 ... ∇Zℓ RX, Y p: Ep → Ep.
The collection of all such linear transformations define a matrix Lie algebra, called the infinitesimal holonomy of the connection Γ at the point p. The case of greatest interest occurs when the connection is the Christoffel connection for a metric g on M. In this case the matrices defining the infinitesimal holonomy at p are all skew-symmetric with respect to gp.
The command InfinitesimalHolonomy returns a list of holonomy matrices for the infinitesimal holonomy of the given metric or connection. These matrices are guaranteed to be linearly independent at the point with the coordinates specified by the second argument initpt. At a generically chosen point these matrices will generate the full infinitesimal holonomy algebra in a neighborhood of that point. The structure equations for the Lie algebra defined by these matrices can be determined by the command LieAlgebraData.
The keyword arguments are used as follows. The keyword argument auxilaryequations specifies a set of equations which are to be used to simplify the connection, the curvature tensor and its covariant derivatives. If a certain number or holonomy matrices are known (perhaps by a previous computation) then these can be included as part of the infinitesimal holonomy algebra with the keyword argument knownholonomy. The computations can be terminated at a given derivative order of the curvature tensor with keyword argument curvatureorder. The computations can be terminated at a given holonomy dimension with keyword argument maximumholonomy. With output = "tensor", the holonomy matrices are represented by type (1,1) tensors.
The number of holonomy matrices calculated at each curvature order can be monitored by setting infolevel[ InfinitesimalHolonomy] := 2. With the infolevel set to 3, the holonomy matrices calculated at each curvature order are displayed (as lists of lists).
The details of the algorithm used by InfinitesimalHolonomy can be briefly summarized as follows. Let Γ be the given connection and x0 be the chosen point.
The curvature tensor Rx of Γ is computed and a list 𝒜x of type (1,1) tensors spanning the linear maps RxX, Y as X, Y vary is determined. (The tensors in the list 𝒜x are functions of the coordinates x used to create the manifold M.)
Let 𝒜0 =𝒜x0 denote the tensors in the list 𝒜x evaluated at the given point x0. A maximally independent list of tensors ℬ ⊂𝒜0 is chosen using the DGbasis command. Let n0 be the number of elements of the list ℬ. Each element of ℬ is the restriction of an element of 𝒜x. Let ℋ0x⊂𝒜x be the list of those n0 tensors whose restrictions define ℬ. We are guaranteed that [i] the n0 tensors in the list ℋ0x are pointwise independent in a neighborhood of x0; [ii] that each of these tensors defines an element of infinitesimal holonomy at each point of this neighborhood of x0; and [iii] that the pointwise dimension of 𝒜x≥ n0 (†).
The directional derivatives of the tensors ℋ0x, in all coordinate directions, are computed to generate a new list of (1,1) tensors 𝒜1x. The process from the previous step is repeated, as follows. Let 𝒜1,0=𝒜1x0 and choose a maximal list of tensors ℬ1⊂𝒜1,0 such that the tensors ℬ1 ∪ ℋ0x0 are linearly independent. Again this gives n1 tensors ℋ1x⊂𝒜1x so that ℬ1 =ℋ1x0. We are guaranteed that the n0+ n1 tensors ℋ0x ∪ ℋ1x are [i] pointwise independent in a neighborhood of x0; [ii] that each of these tensors defines an element of infinitesimal holonomy at each point of this neighborhood of x0; and [iii] that the pointwise dimension of 𝒜x ∪ 𝒜1x ≥ n0+ n1. (‡)
The directional derivatives of the tensors ℋ1x are computed and the previous step repeated. The algorithm terminates if [i] no new holonomy elements are added at a given step, or [ii] if a fixed number of curvature derivatives (as specified by curvatureorder) are calculated.
The output of the command InfinitesimalHolonomy is a list of pointwise independent matrices or (1,1) tensors depending upon the coordinates x, each of which defines an element of the infinitesimal holonomy algebra at x. When the inequalities† and ‡ are equalities the output of InfinitesimalHolonomy is a basis for the full infinitesimal holonomy algebra at x.
Remark: Let W be a covariantly constant tensor. The holonomy algebra at x must be a subalgebra of the endomorphisms of TxM which fixes W at x. Therefore the number of covariantly constant tensors can be used to give an upper bound on the dimension of the holonomy algebra.
with⁡DifferentialGeometry:with⁡LieAlgebras:with⁡Tensor:
Example 1.
First initialize a 5-dimensional manifold and define a metric.
DGsetup⁡x,y,z,u,v,M1
frame name: M1
g1≔evalDG⁡x3⁢dx&tdx+dy&tdy+dz&tdz+u3⁢du&tdu+dv&tdv
g1:=x3⁢dx⁢dx+x3⁢dy⁢dy+x3⁢dz⁢dz+u3⁢du⁢du+u3⁢dv⁢dv
Calculate the infinitesimal holonomy of the metric. (Note that the metric is a metric on the product of two 2-dimensional metrics so that the holonomy should be a direct sum of Lie algebras)
InfHol1≔InfinitesimalHolonomy⁡g1,x=1,y=0,z=1,u=1,v=1
This result can be simplified by the CanonicalBasis command.
InfHol1a≔Tools:-CanonicalBasis⁡InfHol1
Here is the same calculation but with the output given by (1,1) tensor fields.
InfHol1≔InfinitesimalHolonomy⁡g1,x=1,y=0,z=1,u=1,v=1,output=tensor
InfHol1:=32⁢x2⁢D_x⁢dy−32⁢x2⁢D_y⁢dx,32⁢x2⁢D_x⁢dz−32⁢x2⁢D_z⁢dx,−94⁢x2⁢D_y⁢dz+94⁢x2⁢D_z⁢dy,32⁢u2⁢D_u⁢dv−32⁢u2⁢D_v⁢du
Example 2.
Initialize a 4-dimensional manifold and define a metric.
DGsetup⁡t,x,y,z,M2
frame name: M2
g2≔evalDG⁡ta⁢dx&tdx+tb⁢dy&tdy+tc⁢dz&tdz−dt&tdt
g2:=−dt⁢dt+ta⁢dx⁢dx+tb⁢dy⁢dy+tc⁢dz⁢dz
Set the infolevel for the InfinitesimalHolonomy to 2 to view the number of holonomy matrices calculated at each derivative order of curvature.
infolevelInfinitesimalHolonomy≔2
infolevelDifferentialGeometry:-Tensor:-InfinitesimalHolonomy:=2
We see that the curvature tensor generates 6 holonomy matrices and that no more matrices are added from the derivatives of curvature.
Since the metric coefficients depend only upon t, we need only specific an initial value for this coordinate.
InfHol2≔InfinitesimalHolonomy⁡g2,t=1
Calculating the derivatives of curvature at order 0
The dimension of the holonomy algebra at order 0 is 6
simplify⁡Tools:-CanonicalBasis⁡InfHol2
Note that if a=2, b= 2 and c =2, then the first 3 matrices in InfHol2 vanish. Let us re-compute the infinitesimal holonomy for these special parameter values .
g2a≔evalDG⁡subs⁡a=2,b=2,c=2,t2⁢dx&tdx+tb⁢dy&tdy+tc⁢dz&tdz−dt&tdt
g2a:=−dt⁢dt+t2⁢dx⁢dx+t2⁢dy⁢dy+t2⁢dz⁢dz
This time we shall set infolevel to 3 to obtain the holonomy matrices that are calculated at each order.
infolevelInfinitesimalHolonomy≔3
infolevelDifferentialGeometry:-Tensor:-InfinitesimalHolonomy:=3
Now the curvature itself generates just 3 holonomy matrices . Three more are generated by the derivative of curvature.
InfHol2a≔InfinitesimalHolonomy⁡g2a,t=1
The dimension of the holonomy algebra at order 0 is 3 Matrix 1: [[0, 0, 0, 0], [0, 0, 1, 0], [0, -1, 0, 0], [0, 0, 0, 0]] Matrix 2: [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 0], [0, -1, 0, 0]] Matrix 3: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, -1, 0]] Calculating the derivatives of curvature at order 1
The dimension of the holonomy algebra at order 1 is 6 Matrix 1: [[0, 0, 0, 0], [0, 0, 1, 0], [0, -1, 0, 0], [0, 0, 0, 0]] Matrix 1: [[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 0], [0, -1, 0, 0]] Matrix 1: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, -1, 0]] Matrix 1: [[0, 0, t, 0], [0, 0, 0, 0], [1/t, 0, 0, 0], [0, 0, 0, 0]] Matrix 1: [[0, -t, 0, 0], [-1/t, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] Matrix 1: [[0, 0, 0, t], [0, 0, 0, 0], [0, 0, 0, 0], [1/t, 0, 0, 0]]
Example 3.
In this example we calculate the holonomy of a metric containing a function Cu which is the solution to a second order ODE C''u = bu2 Cu. The keyword argument auxilaryequations is used to simplify the curvature tensor and its derivatives by the given ODE.
DGsetup⁡x,y,u,v,M3:
g3≔evalDG⁡C⁡u⁢dx&tdx+dy&tdy+du&sdv
g3:=C⁡u⁢dx⁢dx+C⁡u⁢dy⁢dy+12⁢du⁢dv+12⁢dv⁢du
InfHol3≔InfinitesimalHolonomy⁡g3,u=1,auxiliaryequations=diff⁡C⁡u,`$`⁡u,2=bu2⁢C⁡u
The dimension of the holonomy algebra at order 0 is 2 Matrix 1: [[0, 0, -1/4*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u)^2, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1/2*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u), 0, 0, 0]] Matrix 2: [[0, 0, 0, 0], [0, 0, -1/4*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u)^2, 0], [0, 0, 0, 0], [0, 1/2*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u), 0, 0]] Calculating the derivatives of curvature at order 1
The dimension of the holonomy algebra at order 1 is 2 Matrix 1: [[0, 0, -1/4*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u)^2, 0], [0, 0, 0, 0], [0, 0, 0, 0], [1/2*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u), 0, 0, 0]] Matrix 1: [[0, 0, 0, 0], [0, 0, -1/4*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u)^2, 0], [0, 0, 0, 0], [0, 1/2*(-diff(C(u),u)^2*u^2+2*b*C(u)^2)/u^2/C(u), 0, 0]]
Tools:-CanonicalBasis⁡InfHol3
We can include initial conditions along with the ODE (which must be listed after the equation) if we wish to determine the holonomy at a specific point.
InfHol3≔InfinitesimalHolonomy⁡g3,u=1,auxiliaryequations=diff⁡C⁡u,`$`⁡u,2=bu2⁢C⁡u,eval⁡diff⁡C⁡u,u,u=1=α,C⁡1=β,holonomyatpoint=yes
Example 4.
In this example we calculate the structure constants for the holonomy algebra from Example 1 and check that this Lie algebra is decomposable (see LieAlgebraData and Query)
Here is the metric and the holonomy matrices.
g1
x3⁢dx⁢dx+x3⁢dy⁢dy+x3⁢dz⁢dz+u3⁢du⁢du+u3⁢dv⁢dv
InfHol1a
LD≔LieAlgebraData⁡InfHol1a,hol1
LD:=e1,e2=−e3,e1,e3=e2,e2,e3=−e1
DGsetup⁡LD
Lie algebra: hol1
Query⁡Indecomposable
false
Example 5.
We continue with Example 1. We calculate the covariantly constant symmetric rank 2 tensor fields for the metric g1. First we do this directly. Then we repeat the calculation using the command InvariantTensorsAtAPoint to first find the symmetric tensors which are invariant with respect to the holonomy matrices.
C≔Christoffel⁡g1
C:=32⁢x⁢D_x⁢dx⁢dx−32⁢x⁢D_x⁢dy⁢dy−32⁢x⁢D_x⁢dz⁢dz+32⁢x⁢D_y⁢dx⁢dy+32⁢x⁢D_y⁢dy⁢dx+32⁢x⁢D_z⁢dx⁢dz+32⁢x⁢D_z⁢dz⁢dx+32⁢u⁢D_u⁢du⁢du−32⁢u⁢D_u⁢dv⁢dv+32⁢u⁢D_v⁢du⁢dv+32⁢u⁢D_v⁢dv⁢du
Q≔GenerateSymmetricTensors⁡dx,dy,dz,du,dv,2
Q:=dx⁢dx,12⁢dx⁢dy+12⁢dy⁢dx,12⁢dx⁢dz+12⁢dz⁢dx,12⁢dx⁢du+12⁢du⁢dx,12⁢dx⁢dv+12⁢dv⁢dx,dy⁢dy,12⁢dy⁢dz+12⁢dz⁢dy,12⁢dy⁢du+12⁢du⁢dy,12⁢dy⁢dv+12⁢dv⁢dy,dz⁢dz,12⁢dz⁢du+12⁢du⁢dz,12⁢dz⁢dv+12⁢dv⁢dz,du⁢du,12⁢du⁢dv+12⁢dv⁢du,dv⁢dv
CovariantlyConstantTensors⁡C,Q
u3⁢du⁢du+u3⁢dv⁢dv,x3⁢dx⁢dx+x3⁢dy⁢dy+x3⁢dz⁢dz
InvQ≔InvariantTensorsAtAPoint⁡InfHol1a,Q
InvQ:=du⁢du+dv⁢dv,dx⁢dx+dy⁢dy+dz⁢dz
CovariantlyConstantTensors⁡C,InvQ
x3⁢dx⁢dx+x3⁢dy⁢dy+x3⁢dz⁢dz,u3⁢du⁢du+u3⁢dv⁢dv
nops⁡Q
15
In the direct approach, the command CovariantlyConstantTensors creates the general symmetry rank 2 tensor as a linear combination of the 15 elements of the list Q . It then generates a system of linear PDE for 15 functions of 5 variables arising from the covariantly constant tensor condition. In the second approach, the system of PDE generated involves only 2 functions of 5 variables.
See Also
DifferentialGeometry
LieAlgebras
Connection
CovariantlyConstantTensors
Curvature
Decompose
InvariantTensorsAtAPoint
LieAlgebraData
Query
Download Help Document