GroupActions[InfinitesimalSymmetriesOfGeometricObjectFields] - find the infinitesimal symmetries (vector fields) for a collection of vector fields, differential forms tensors, or connections
Calling Sequences
InfinitesimalSymmetriesOfGeometricObjectFields(T, option)
Parameters
T - a list of vector fields, differential forms, tensors, connections, list of vector fields, list of differential forms, list of tensors
option - output = "list", output = "pde", auxiliaryequations = [Delta1, Delta2,..] coefficientvariables = [x1, x2, ...], ansatz = X, unknowns = [F1, F2, ...], parameters = {a1, a2}
|
Description
|
|
•
|
The command InfinitesimalSymmetriesOfGeometricObjectFields(T) uses pdsolve to find the most general vector field X such that LieDerivative(X, t) = 0 for all t in T, where t is a vector field, differential form, tensor, or connection. When t in T is itself a list t = [ t1, t2, ... tn], the conditions LieDerivative(X, tk) in span(t) , for each tk in t, are imposed upon the vector field X.
|
•
|
If the (real) vector space Gamma of infinitesimal symmetries for a given collection of geometric object fields is finite dimensional (so that the most general infinitesimal symmetry depends only upon arbitrary constants), then the optional argument output = "list" will return a basis for Gamma.
|
•
|
With the option output = "pde", just the determining differential equations for the symmetries are returned.
|
•
|
The variables appearing in the coefficients of the vector field X can be specified with the option coefficientvariables = [x1, x2, ...].
|
•
|
The exact form of the infinitesimal symmetries to be found can be specified with the option ansatz = X. With this option, the unknown coefficients to be solved for must be explicitly identified with the option unknowns = [F1, F2, ...].
|
•
|
Additional constraints on the symmetry vector field X can be specified with the optional argument auxiliaryequations = [Delta1, Delta2,..], where Delta1, Delta2,.. are differential equations whose unknowns are the coefficients of the vector field X.
|
•
|
If the given geometric object fields T depend upon parameters {a1, a2}, then the optional argument parameters = {a1, a2} will invoke the case splitting capabilities of pdsolve. Exceptional parameter values will be determined and a sequence of lists of infinitesimal symmetries, one list for each set of parameter values, will be returned.
|
•
|
Other optional arguments for pdsolve may be passed through the command InvariantGeometricObjectFields.
|
•
|
If pdsolve is unable to explicitly solve the pde system defined by LieDerivative(X, t) = 0, then NULL is returned.
|
•
|
The command InfinitesimalSymmetriesOfGeometricObjectFields is part of the DifferentialGeometry:-GroupActions package. It can be used in the form InfinitesimalSymmetriesOfGeometricObjectFields(...) only after executing the commands with(DifferentialGeometry) and with(GroupActions), but can always be used by executing DifferentialGeometry:-GroupActions:-InfinitesimalSymmetriesOfGeometricObjectFields(...).
|
|
|
Examples
|
|
We define a manifold M with coordinates [x, y, z].
J >
|
![DGsetup([x, y, z], M)](/support/helpjp/helpview.aspx?si=6637/file05742/math136.png)
|
![`frame name: M`](/support/helpjp/helpview.aspx?si=6637/file05742/math139.png)
| (2.1) |
Example 1.
Find all vector fields which commute with the vector field Y = D_x.
M >
|
![Y := D_x](/support/helpjp/helpview.aspx?si=6637/file05742/math149.png)
|
![_DG([["vector", M, []], [[[1], 1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math152.png)
| (2.2) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([Y])](/support/helpjp/helpview.aspx?si=6637/file05742/math156.png)
|
![_DG([["vector", M, []], [[[1], _F3(y, z)], [[2], _F2(y, z)], [[3], _F1(y, z)]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math159.png)
| (2.3) |
Find all vector fields whose coefficients depend only on x which commute with the vector field Y = D_x.
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([Y], coefficientvariables = [x])](/support/helpjp/helpview.aspx?si=6637/file05742/math171.png)
|
![_DG([["vector", M, []], [[[1], _C3], [[2], _C2], [[3], _C1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math174.png)
| (2.4) |
Example 2.
Find the infinitesimal symmetries for the metric g = dxdx + dydy + dzdz.
M >
|
![g := evalDG(`&t`(dx, dx)+`&t`(dy, dy)+`&t`(dz, dz))](/support/helpjp/helpview.aspx?si=6637/file05742/math186.png)
|
![_DG([["tensor", M, [["cov_bas", "cov_bas"], []]], [[[1, 1], 1], [[2, 2], 1], [[3, 3], 1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math189.png)
| (2.5) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([g], output = "list")](/support/helpjp/helpview.aspx?si=6637/file05742/math193.png)
|
![[_DG([["vector", M, []], [[[2], -z], [[3], y]]]), _DG([["vector", M, []], [[[3], 1]]]), _DG([["vector", M, []], [[[1], -z], [[3], x]]]), _DG([["vector", M, []], [[[1], -y], [[2], x]]]), _DG([["vector", M, []], [[[2], 1]]]), _DG([["vector", M, []], [[[1], 1]]])]](/support/helpjp/helpview.aspx?si=6637/file05742/math196.png)
| (2.6) |
Show the defining differential equations for these symmetries. Here we explicitly define the general form of the symmetry vector and specify the unknowns.
M >
|
![X := evalDG(R(x, y, z)*D_x+S(x, y, z)*D_y+T(x, y, z)*D_z)](/support/helpjp/helpview.aspx?si=6637/file05742/math204.png)
|
![_DG([["vector", M, []], [[[1], R(x, y, z)], [[2], S(x, y, z)], [[3], T(x, y, z)]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math207.png)
| (2.7) |
M >
|
![U := [R(x, y, z), S(x, y, z), T(x, y, z)]](/support/helpjp/helpview.aspx?si=6637/file05742/math211.png)
|
![[R(x, y, z), S(x, y, z), T(x, y, z)]](/support/helpjp/helpview.aspx?si=6637/file05742/math214.png)
| (2.8) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([g], output = "pde", unknowns = U, ansatz = X)](/support/helpjp/helpview.aspx?si=6637/file05742/math218.png)
|
![[2*(diff(R(x, y, z), x)), diff(S(x, y, z), x)+diff(R(x, y, z), y), diff(T(x, y, z), x)+diff(R(x, y, z), z), diff(S(x, y, z), x)+diff(R(x, y, z), y), 2*(diff(S(x, y, z), y)), diff(T(x, y, z), y)+diff(S(x, y, z), z), diff(T(x, y, z), x)+diff(R(x, y, z), z), diff(T(x, y, z), y)+diff(S(x, y, z), z), 2*(diff(T(x, y, z), z))], [R(x, y, z), S(x, y, z), T(x, y, z)]](/support/helpjp/helpview.aspx?si=6637/file05742/math221.png)
| (2.9) |
We can use the auxilaryequations option to find the symmetries X of the metric g for which R + S + T = 0.
M >
|
![Delta := [R(x, y, z)+S(x, y, z)+T(x, y, z) = 0]](/support/helpjp/helpview.aspx?si=6637/file05742/math238.png)
|
![[R(x, y, z)+S(x, y, z)+T(x, y, z) = 0]](/support/helpjp/helpview.aspx?si=6637/file05742/math241.png)
| (2.10) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([g], output = "list", auxiliaryequations = Delta, unknowns = U, ansatz = X)](/support/helpjp/helpview.aspx?si=6637/file05742/math245.png)
|
![[_DG([["vector", M, []], [[[1], -1], [[3], 1]]]), _DG([["vector", M, []], [[[1], z-y], [[2], x-z], [[3], y-x]]]), _DG([["vector", M, []], [[[1], -1], [[2], 1]]])]](/support/helpjp/helpview.aspx?si=6637/file05742/math248.png)
| (2.11) |
Example 3.
Find the joint infinitesimal symmetries for the 0 connection C and the volume form dxdydz.
M >
|
![C := Connection(`&mult`(0, `&tensor`(`&tensor`(dx, D_x), dx)))](/support/helpjp/helpview.aspx?si=6637/file05742/math262.png)
|
![_DG([["connection", M, [["cov_bas", "con_bas", "cov_bas"], []]], [[[1, 1, 1], 0]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math265.png)
| (2.12) |
M >
|
![mu := evalDG(`&w`(`&w`(dx, dy), dz))](/support/helpjp/helpview.aspx?si=6637/file05742/math269.png)
|
![_DG([["form", M, 3], [[[1, 2, 3], 1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math272.png)
| (2.13) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([g, C])](/support/helpjp/helpview.aspx?si=6637/file05742/math276.png)
|
![_DG([["vector", M, []], [[[1], -_C4*y-_C3*z+_C6], [[2], -_C1*z+_C4*x+_C5], [[3], _C3*x+_C1*y+_C2]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math279.png)
| (2.14) |
Example 4.
Here is a famous calculation due to E. Cartan. See Fulton and Harris RepresentationTheory page 357.
Find the linear infinitesimal symmetries of the 3-form omega defined on the 7-manifold N with coordinates [v1, v3, v4, w1, w3, w4, u].
M >
|
![DGsetup([v1, v3, v4, w1, w3, w4, u], N)](/support/helpjp/helpview.aspx?si=6637/file05742/math299.png)
|
![`frame name: N`](/support/helpjp/helpview.aspx?si=6637/file05742/math302.png)
| (2.15) |
N >
|
![omega := evalDG(`&w`(`&w`(dw3, du), dv3)+`&w`(`&w`(dv4, du), dw4)+`&w`(`&w`(dw1, du), dv1)+2*`&w`(`&w`(dv1, dv3), dw4)+2*`&w`(`&w`(dw1, dw3), dv4))](/support/helpjp/helpview.aspx?si=6637/file05742/math306.png)
|
![_DG([["form", N, 3], [[[1, 2, 6], 2], [[1, 4, 7], 1], [[2, 5, 7], 1], [[3, 4, 5], 2], [[3, 6, 7], -1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math309.png)
| (2.16) |
N >
|
![A := Matrix(7, 7, proc (i, j) options operator, arrow; a || i || j end proc)](/support/helpjp/helpview.aspx?si=6637/file05742/math313.png)
|
![](/support/helpjp/helpview.aspx?si=6637/file05742/math316.png)
| (2.17) |
N >
|
![X := convert(A, DGvector)](/support/helpjp/helpview.aspx?si=6637/file05742/math320.png)
|
![_DG([["vector", N, []], [[[1], a11*v1+a12*v3+a13*v4+a14*w1+a15*w3+a16*w4+a17*u], [[2], a21*v1+a22*v3+a23*v4+a24*w1+a25*w3+a26*w4+a27*u], [[3], a31*v1+a32*v3+a33*v4+a34*w1+a35*w3+a36*w4+a37*u], [[4], a41*v1+a42*v3+a43*v4+a44*w1+a45*w3+a46*w4+a47*u], [[5], a51*v1+a52*v3+a53*v4+a54*w1+a55*w3+a56*w4+a57*u], [[6], a61*v1+a62*v3+a63*v4+a64*w1+a65*w3+a66*w4+a67*u], [[7], a71*v1+a72*v3+a73*v4+a74*w1+a75*w3+a76*w4+a77*u]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math323.png)
| (2.18) |
N >
|
![vars := convert(A, set)](/support/helpjp/helpview.aspx?si=6637/file05742/math327.png)
|
![{a11, a12, a13, a14, a15, a16, a17, a21, a22, a23, a24, a25, a26, a27, a31, a32, a33, a34, a35, a36, a37, a41, a42, a43, a44, a45, a46, a47, a51, a52, a53, a54, a55, a56, a57, a61, a62, a63, a64, a65, a66, a67, a71, a72, a73, a74, a75, a76, a77}](/support/helpjp/helpview.aspx?si=6637/file05742/math330.png)
| (2.19) |
N >
|
![Y := InfinitesimalSymmetriesOfGeometricObjectFields(omega, ansatz = X, unknowns = vars)](/support/helpjp/helpview.aspx?si=6637/file05742/math334.png)
|
![](/support/helpjp/helpview.aspx?si=6637/file05742/math337.png)
| (2.20) |
N >
|
![c := Tools:-DGinfo(Y, "NonJetIndets")](/support/helpjp/helpview.aspx?si=6637/file05742/math341.png)
|
![{a34, a35, a45, a54, a55, a61, a62, a66, a71, a72, a73, a74, a75, a76}](/support/helpjp/helpview.aspx?si=6637/file05742/math344.png)
| (2.21) |
N >
|
![GAMMA := [seq(Tools:-DGmap(1, diff, Y, v), v = c)]](/support/helpjp/helpview.aspx?si=6637/file05742/math348.png)
|
![](/support/helpjp/helpview.aspx?si=6637/file05742/math351.png)
| (2.22) |
N >
|
![nops(GAMMA)](/support/helpjp/helpview.aspx?si=6637/file05742/math355.png)
|
![14](/support/helpjp/helpview.aspx?si=6637/file05742/math358.png)
| (2.23) |
It is a simple matter to use the package LieAlgebras to check that this Lie algebra is indecomposable and simple - it is Cartan's realization of the exceptional Lie algebra g2.
Example 5.
Find the point symmetries of the Lagrangian for the (2 + 1) wave equation. The result is a 8 dimensional Lie algebra.
N >
|
![DGsetup([x, y, t], [u], J, 1)](/support/helpjp/helpview.aspx?si=6637/file05742/math380.png)
|
![`frame name: J`](/support/helpjp/helpview.aspx?si=6637/file05742/math383.png)
| (2.24) |
J >
|
![lambda := evalDG((u[1]^2+u[2]^2-u[3]^2)*`&w`(`&w`(Dx, Dy), Dt))](/support/helpjp/helpview.aspx?si=6637/file05742/math387.png)
|
![_DG([["biform", J, [3, 0]], [[[1, 2, 3], u[1]^2+u[2]^2-u[3]^2]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math390.png)
| (2.25) |
J >
|
![GAMMA := InfinitesimalSymmetriesOfGeometricObjectFields([lambda], output = "list")](/support/helpjp/helpview.aspx?si=6637/file05742/math394.png)
|
![[_DG([["vector", J, []], [[[1], -2*x], [[2], -2*y], [[3], -2*t], [[4], u[]]]]), _DG([["vector", J, []], [[[4], 1]]]), _DG([["vector", J, []], [[[2], t], [[3], y]]]), _DG([["vector", J, []], [[[3], 1]]]), _DG([["vector", J, []], [[[1], t], [[3], x]]]), _DG([["vector", J, []], [[[1], -y], [[2], x]]]), _DG([["vector", J, []], [[[2], 1]]]), _DG([["vector", J, []], [[[1], 1]]])]](/support/helpjp/helpview.aspx?si=6637/file05742/math397.png)
| (2.26) |
J >
|
![nops(GAMMA)](/support/helpjp/helpview.aspx?si=6637/file05742/math401.png)
|
![8](/support/helpjp/helpview.aspx?si=6637/file05742/math404.png)
| (2.27) |
Example 6.
Find the infinitesimal conformal symmetries of the metric g = dxdx + dydy + dzdz. These are the vector fields X such that LieDerivative(X, g) = lambda g, or LieDerivative(X, g) in span(g) .
J >
|
![DGsetup([x, y, z], M)](/support/helpjp/helpview.aspx?si=6637/file05742/math433.png)
|
![`frame name: M`](/support/helpjp/helpview.aspx?si=6637/file05742/math436.png)
| (2.28) |
M >
|
![g := evalDG(`&t`(dx, dx)+`&t`(dy, dy)+`&t`(dz, dz))](/support/helpjp/helpview.aspx?si=6637/file05742/math440.png)
|
![_DG([["tensor", M, [["cov_bas", "cov_bas"], []]], [[[1, 1], 1], [[2, 2], 1], [[3, 3], 1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math443.png)
| (2.29) |
Note that the first argument is now a list of a list.
M >
|
![ConSym := InfinitesimalSymmetriesOfGeometricObjectFields([[g]], output = "list")](/support/helpjp/helpview.aspx?si=6637/file05742/math458.png)
|
![](/support/helpjp/helpview.aspx?si=6637/file05742/math461.png)
| (2.30) |
The conformal symmetries of g define a 10 dimensional Lie algebra.
M >
|
![nops(ConSym)](/support/helpjp/helpview.aspx?si=6637/file05742/math477.png)
|
![10](/support/helpjp/helpview.aspx?si=6637/file05742/math480.png)
| (2.31) |
Example 7.
Find the infinitesimal symmetries of a distribution of vector fields Delta. These are the vector fields X such that LieDerivative(X, Delta) in Delta.
M >
|
![DGsetup([x1, x2, x3, x4, x5], Q)](/support/helpjp/helpview.aspx?si=6637/file05742/math505.png)
|
![`frame name: Q`](/support/helpjp/helpview.aspx?si=6637/file05742/math508.png)
| (2.32) |
Q >
|
![Delta := evalDG([D_x1+x3*D_x2+x4*D_x3+x4^3*D_x5, D_x4])](/support/helpjp/helpview.aspx?si=6637/file05742/math512.png)
|
Q >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([Delta], output = "list")](/support/helpjp/helpview.aspx?si=6637/file05742/math516.png)
|
![](/support/helpjp/helpview.aspx?si=6637/file05742/math519.png)
| (2.33) |
Example 8.
Find the symmetries of a metric which depend upon 2 parameters {alpha, beta}, where alpha <> 0.
Q >
|
![g := evalDG(`&t`(dx, dx)+exp(alpha*x)*`&t`(dy, dy)+(beta*y+1)*`&t`(dz, dz))](/support/helpjp/helpview.aspx?si=6637/file05742/math542.png)
|
![_DG([["tensor", M, [["cov_bas", "cov_bas"], []]], [[[1, 1], 1], [[2, 2], exp(alpha*x)], [[3, 3], beta*y+1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math545.png)
| (2.34) |
M >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([g], output = "list", parameters = {alpha, beta}, auxiliaryequations = {alpha <> 0})](/support/helpjp/helpview.aspx?si=6637/file05742/math550.png)
|
![[_DG([["vector", M, []], [[[3], 1]]]), _DG([["vector", M, []], [[[1], -2/alpha], [[2], y]]]), _DG([["vector", M, []], [[[2], 1]]]), _DG([["vector", M, []], [[[1], alpha*y], [[2], -(1/4)*alpha^2*y^2+exp(-alpha*x)]]])], [_DG([["vector", M, []], [[[1], 4/alpha], [[2], -2*(beta*y+1)/beta], [[3], z]]]), _DG([["vector", M, []], [[[3], 1]]])], [{alpha = alpha, beta = 0}, {alpha = alpha, beta = beta}]](/support/helpjp/helpview.aspx?si=6637/file05742/math553.png)
| (2.35) |
Example 9.
The command InfinitesimalSymmetriesOfGeometricObjectFields can also be used to calculate the symmetries of a tensor T defined on a Lie algebra.
>
|
![LD := Library:-Retrieve("Winternitz", 1, [4, 10], alg1)](/support/helpjp/helpview.aspx?si=6637/file05742/math576.png)
|
![_DG([["LieAlgebra", alg1, [4]], [[[2, 3, 1], 1], [[2, 4, 3], -1], [[3, 4, 2], 1]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math579.png)
| (2.36) |
>
|
![DGsetup(LD)](/support/helpjp/helpview.aspx?si=6637/file05742/math583.png)
|
![`Lie algebra: alg1`](/support/helpjp/helpview.aspx?si=6637/file05742/math586.png)
| (2.37) |
alg1 >
|
![T := `&t`(`&t`(e4, theta1), e4)](/support/helpjp/helpview.aspx?si=6637/file05742/math590.png)
|
alg1 >
|
![InfinitesimalSymmetriesOfGeometricObjectFields([T])](/support/helpjp/helpview.aspx?si=6637/file05742/math594.png)
|
![_DG([["vector", alg1, []], [[[1], _C1], [[4], _C2]]])](/support/helpjp/helpview.aspx?si=6637/file05742/math597.png)
| (2.38) |
|
|