## 12964 Reputation

17 years, 325 days

## signature = "+---" or signature = "-+++...

Use Setup(dimension = 4, mathematicalnotation = true, coordinates = spherical, signature = "+---" ) to automatically set the spherical coordinates to (t, r, theta, phi).

Also, the keyword spherical has a special meaning: when you use it, these coordinates receive the corresponding assumptions. Input map(getassumptions, [X]) and you will see that. These assumptions are set automatically only when you use the keyword spherical.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Petrov type II does not mean the Ricci t...

Hi,

Below is my answer yesterday, and this text now is a correction: I am sorry I misread your question, @Rakshak . Somehow I missed the word "vacuum" and that by Metric search you meant you were using the DifferentialGeometry:-Library:-MetricSearch applet.  Thanks to @Hullzie and @Jamie for somehow pointing out what I misread. Indeed, one would expect that if, on the applet, you click vacuum, the output should restrict the Petrov type II metrics to those with EnergyMomentum = 0, and so Ricci = 0.

Now, the applet returns not just [33, 8, 3] but also [20, 32, 1] as "Petrov type II and vacuum", and both have non zero Ricci components, and have arbitrary functions that, if adjusted, result in Ricci = 0. To understand why the applet returns these two, load the Physics:-Tetrads package and check, for instance, this input/output

restart;
with(Physics):
g_[[20, 32, 1]];

You will see that the scalars - now computed with the tetrad in canonical form - are those of Petrov II (see ?PetrovType for the expected scalars), and they don't depend on the arbitrary functions found in the metric. The same happens with your example, [33, 8, 3].

In conclusion: the spacetime is of type II regardless of the arbitrary functions (or parameters) found in the metricbut it is a vacuum solution only if you solve these parameters (functions or symbols) such that the components of Ricci are equal to 0. I will add a sentence clarifying this on the help page of DifferentialGeometry:-Library:-MetricSearch.

To the side, I note that it is also possible to specialize the arbitrary functions found in these two metrics in such a way that the resulting metric is not of Petrov type II anymore. How could that be?

The answer is that, as explained in the help page of PetrovType, the algorithm determines the type according to the multiplicity of the roots of the underlying principal polynomial. If that is done without specializing the parameters found in the metric (in these two examples: unknown functions), some roots may be different while becoming the same after specializing those parameters.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

___________________________________________________________________

Metrics of Petrov type II don't have the Ricci tensor equal to a matrix of zeros. The metric [33, 8, 3] is an example of that, Petrov type II, and the Ricci tensor has non-zero components.

I suggest you take a look at the help page ?Tetrads:-PetrovType, where you see the description of the types and how they are calculated, including different algorithms that you could invoke to perform that calculation. On that page, you will also find other examples of Petrov type II, with non-zero Ricci.

Answering your question: the Metric Search applet of DifferentialGeometry is correct, [33, 8, 3] is of Petrov type II, you are not misusing anything, nor is there a glitch in the programs. It is your statement (expecting Ricci to be equal to 0 for Petrov type II) that is not correct.

I think the page ?Tetrads:-PetrovType as well as ?Tetrads:-TransformTetrad present a clear exposition on the topic; still if you want literature outside Maple, you can take a look at The classification of the Ricci and Plebanski Tensors.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Signature and position of the timelike c...

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## DifferentialGeometry and Physics...

Hi
Both the Physics and DifferentialGeometry packages have PetrovType and SegreType commands. Take a look at the corresponding help pages, and there you will find examples. In particular, the SegreType command returns the Plebanski-Petrov and Segre classifications of the Ricci tensor corresponding to the spacetime metric set.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## output = equations (default)...

If you input just Geodesics(), you get the same as when using output = equations, that is, the set of ODEs - the equations themselves - that you need to integrate. If you add initial conditions, you can numerically integrate those geodesic equations - see the help page ?dsolve/numeric.

By the way, it is with(Physics), (not physics, recall that Maple is case-sensitive), and Physics is a modern package developed and maintained by Maplesoft, that comes with your copy of Maple; it is not related in any way to GRTensor, which is an older package, not developed by Maplesoft and that does not come with your copy of Maple.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## No, but: ......

Given a worksheet that contains functions with dependencies, no, there is not a single command that will make "all the functions in the worksheet" have the their functionality suppressed.

There is however something closer. Suppose you have equation labels for all the output of your worksheet. Then, provided you are willing to type them (or click the equation labels one by one), the following will suppress the functionality of all the functions entering those equation labels:

PDEtools:-declare((1), (2), (3), ... (25), ...)  # list all the equation labels separated by commas.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## PDEtools:-Solve with option 'independent...

Call your expression eee; then go with:

PDEtools:-Solve(eee, {a[3],b[2],c[0],c[2]}, independentof = {k[1], k[2], k[3], omega[1], omega[2], omega[3]});

This is what I get: {a[3] = 0, b[2] = 0, c[0] = c[0], c[2] = c[2]}

I suppose you could try also solve/identity

Edgardo S. Cheb-Terrab
Physics, DifferentialEquations and MathematicalFunctions, Maplesoft

## alias; it resolves also the copy & paste...

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## way = 4;...

UPDATE MAY 1: The code in dsolve is now slightly adjusted according with the comment above, so that now dsolve(eqn) automatically produces the simpler general solution, including the singular solutions, as if you had entered dsolve(eqn, way = 4). So this issue is resolved, and the adjustment is included in the Maplesoft Physics Updates for Maple 2023, v.1437 or newer.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Tricky ......

Very nice challenge: your tensorial expression being defined as a tensor is of length > 50,000. One way to speed up matters is Setup(tensorsimplifier = normal), because normal is faster than the internal tensor simplifier (not so good as a simplifier though).

But in your example, something more radical is necessary. The underlying issue: when you define a tensor as a tensorial expression before proceeding, a test is performed to assure that the components can be computed. In your example, that goes a long way out of the road in the jungle of computer algebra normalizations, gcds and simplifications. One way to go is to allow for optionally "skipping" that step in Define. I'd need to see whether that has consequences (the verification of components is used in other places, what if it is not done).

I will write again in a few days, hopefully with a solution or workaround.

UPDATE May/1: in the Maplesoft Physics Updates v.1436 or newer, there is a new option for the Define command: computetensordependency = false (default value is true), which skips the most time-consuming verification step. Using this option, the Define(ition) of this tensorial expression of length > 50,000 is performed in ~100 seconds in a two-year-old Mac (M1 chip).

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft.

## Recursive application, and Physics...

Hi
You didn't post a worksheet, so assuming "One_Form" is - say - a rank 1 contravariant tensor, see for instance the example show in ?RaiseLowerIndices with equation label (2.3), you have One_Form being "X := evalDG(D_x + 3*D_y)", the operation
RaiseLowerIndices(g, X, [1])
produces the covariant version, and the operation
RaiseLowerIndices(g, X, [1, 1])
applies recursively, as if the output was also a contravariant tensor. For example,
RaiseLowerIndices(g, X, [1, 1, 1, 1, 1, 1])
applies recursively six times resulting in
a^6 dx + 3 b^6 dy

By the way, what computations do you have in mind that would require this? Generally speaking, computations with tensors are easier using the Physics package. See the help page ?Physics,Tensors.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Yes, use the Physics package...

As soon as you set a prefix for entering noncommutative objects, eg. Setup(noncommutativeprefix = Z), you can work with symbolic/general/unknown matrices, e.g. Z1 * Z2 - Z2 * Z1 without receiving 0, including the possibility of setting commutator and anticommutator rules for them. See the help pages for Physics:-`*` (the multiplication operator that is at work after you input with(Physics)) and also for Physics:-Setup. Additionally, you have Physics:-Inverse to represent (or compute) the multiplicative inverse, Physics:-Gtaylor for computing series involving these non or anti-commutative objects, and Physics:-diff for differentiatiing expressions involving them and Physics:-Simplify to simplify these algebraic expressions. If at some point you prefer to actually compute products of matrices, use Physics:-`.`. The corresponding help pages have illustrative examples.

Alternatively, you can compute with tensors with two indices representing these matrices (use genericindices to represent matrices of unknown dimensions see ?Physics:-Setup), and if you use this approach, also, Physics:-KroneckerDelta indexed with the indices of generic type you set represents a generic identity matrix.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## No and Yes....

No, you cannot have two Riemann tensors "set at the same time".

It is however easy to have as many "Riemann tensors" as you want for different metrics; not the way you suggest but as follows.

Start setting any non-flat metric, only to be able to work with formulas that do not automatically evaluate to zero when there is no curvature. E.g.

 (1)

So now, how is the Riemann tensor computed?

 (2)

Express everything in terms of the metric

 (3)

You see you have a sort of template here. Define a new tensor R and call g_ as G

 (4)

 (5)

And that is basically all. This approach is of use not only for the Riemann tensor but for everything that has a definition - pre-existing one or that you construct. To compute the components of this R tensor, indicate (define)  to represent whatever metric (4 x 4 symmetric matrix) you want, and the formula above represents the corresponding Riemann. For example,

 (6)

 (7)

These are the components of R

 (8)

If you want to ignore those with right-hand side equal to zero, go with

 (9)

To get the components of Riemann for a different metric, naturally, you need to indicate the different metric. You get the idea. Define G and get the component of R using TensorArray.

You may prefer to explore these components, as in

 (10)

Or get all the non-zero ones in a sort of more compact form

 (11)

There are other ways of accomplishing the same, basically exploring that you can Define tensors represneting any tensorial equation you want. See ?Physics,Tensors, section 2.c amd 2.j.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Physics:-Redefine...

That command redefines the tetrad (either the one set, or any other one that you pass) according to the signature you want - check ?Physics,Redefine and the Examples section.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft.

## Fixed; Maplesoft Physics Updates v.1430...

This is fixed, and the fix is distributed to everybody using Maple 2023 within the Maplesoft Physics Updates v.1430 or newer.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft.

 1 2 3 4 5 6 7 Last Page 1 of 53
﻿