257 Reputation

10 Badges

9 years, 71 days

MaplePrimes Activity

These are answers submitted by Torre

The tensor g1 you are passing to Christoffel is not a metric.  If you pass it a bona fide metric it should work.

The construction of the metric-compatible connection (via the Christoffel command) requires the inverse metric.  Your tensor g1 does not have an inverse.  Try a tensor like dx &t dx + dy &t dy, which defines a metric and should give vanishing Christoffel symbols.  

Hello Nicola.

For a) see the DifferentialGeometry command DeRhamHomotopy.  For b) see the command Hook.

Your g1 is not a tensor. (It appears that you are thinking of g1 as a "line element", not as a tensor. )   The tensor form of g1 will require scalar multiplication and tensor products.  Here is a command that will create the tensor corresponding to your line element:

g1 := evalDG(1/2*(dx1 &t dx3 + dx3 &t dx1) + 1/2*(dx2 &t dx4 + dx4 &t dx2) -u22*dx3 &t dx3 - u11*dx4 &t dx4 +2 *u12*1/2*(dx3 &t dx4+ dx4 &t dx3));

Note: supposing the quantities u are not elsewhere assigned any values as functions of the coordinates, they will be viewed as constants and your Christoffel symbols will be zero.


What happens if you insert a space on either side of the tensor product, i.e.,


is replaced with

dx &t dx


Your metric is not a symmetric tensor.  For example, there is a tensor product du &t dv, but no corresponding product dv &t du.  The Killing vector command tacitly assumes you are handing it a bona fide metric.  Depending upon your Maple version you might be able to use &s for the symmetric tensor product to convert your g into a true metric. 

If I make the tensor g symmetric in the obvious way, I find 4 Killing vector fields. 

If you actually want the infinitesimal symmetry generators for this asymmetric tensor g, you can use the command InfinitesimalSymmetriesOfGeometricObjectFields.  Then you will find 3 vector fields generating symmetries.

The symmetric rank-2 tensor g you defined is degenerate - so it is not a metric. You can check this by calculating the scalar density of weight 2,  the determinant of the metric,  using the MetricDensity command.  You will find zero. Or you can convert the components of g to a matrix with the command convert(g, DGmatrix).  The resulting matrix has vanishing determinant.  The KillingVectors command only applies to metrics. 

If you simply want to find all vector fields which generate symmetries of the tensor g, you can use the command InfinitesimalSymmetriesOfGeometricObjectFields(g) (thank goodness for auto-completion!).  This command creates a general vector field, takes the Lie derivative of whatever tensor you pass to the command, sets the Lie derivative to zero and solves for the components of the vector field.  (This command can also be applied to metrics, of course, so it provides an alternative to the KillingVectors command.)


DifferentialGeometry interprets the metric as a tensor. You need to tell Maple that the products being used among the differentials are tensor products, e.g., use dx &t dx instead of dx^2.

Sorry - my mistake - I meant to point you toward the command called




Have a look at the help page for the DifferentialGeometry/GroupActions command: InfinitesimalSymmmetriesOfGeometricObjectFields.  


(EDIT: I inadvertently pasted the wrong command, it should have been InvariantGeometricObjectFields)

It is hard to tell for sure from what you wrote, but one thing to consider is that it matters whether you write 

ContractIndices(R0, g, [[1, 1]])


ContractIndices(g, R0, [[1, 1]])

In the first case the "lowered index" is the last of the 4 indices which characterize the result.  In the second case the "lowered index" is first of the 4 indices. 

You can do this using the HorizontalHomotopy operator which is in the JetCalculus sub-package of DifferentialGeometry.  I will attach a link to a worksheet ("") which shows how.  (Like the homotopy operators, this package works with differential forms.  To get a vector field interpretation you will need to take a Hodge dual using the Levi-Civita symbol.  Let me know if you need help with that.)

I have a vague idea of what you want.  Assuming you really are dealing with a tensor and not just some muti-indexed collection of numbers, I would say that matrix representations of tensors are limited in their utility, and can be outright confusing. Ultimately it is best to try to interpret tensors using the concepts which actually define them mathematically.  With this in mind, I recommend you have a look at the help pages for two maple packages: DifferentialGeometry (and particularly its sub-package, Tensor) and Physics.  Each of these packages provides standard ways of constructing, representing, and visualizing tensors.  The Physics package may be the closest to serving your needs since it will allow you to create and manipulate tensors via an index notation (while DifferentialGeometry uses the standard, index-free approach).



Yes, this is possible provided you have created the abstract Lie algebra, e.g., by specifying its structure equations (all the brackets).  See the documentation for the sub-package of the DifferentialGeometry package called LieAlgebras. In particular, you might start by looking at the help page in that package for LieAlgebraData[StructureConstants] .



The ultimate approach to such questions is to use the de Rham Homotopy operator (click on it for details), but for this particular question there will, of course, be simpler methods. 

It may be that there is a character in the file name which is confusing Maple.  A forward slash will do this.

1 2 3 4 Page 1 of 4