I am using the Physics package of Maple 12 to do some research. The main objects I am using are spacetime tensors. However it seems the Simplify command need to be improved. Here are some limitations of this command:

1. The most annoying thing is that Simplify sometimes do not work properly if both lowercaselatin and greek are used as spacetime indices. And sometimes it even dose not work for only "greek + integer" as indices. I know that one can try to set the spacetimeindices as greek or lowercaselatin or uppercaselatin, but it seems this is not the problem here, given that the simplificatio for A vector works.
E.g.


restart:
with(Physics):
Coordinates(X,quiet):
Define(psi(X)):
Define(A[mu](X)):
Define(phi[mu,nu](X),antisymmetric={mu,nu});

and then all the following works:

Simplify(A[a]*A[b]*g_[a,b]);
Simplify(A[a]*A[beta]*g_[a,beta]);
Simplify(A[alpha]*A[beta]*g_[alpha,beta]);

but this could not be simplified:

phi[a,b](X)*phi[alpha,d](X)*g_[e,a]*LeviCivita[e,f,alpha,d]:

Simplify(%);
Error, (in Check) found phi with 1 tensor indices, [alpha], contradicting a previous definition with 2 such indices. You can use Define with the 'clear' or 'redo' options to discard the previous definition.

The suggestion is, allow more general index names.

2. The dummy indices are not fixed. This makes the file non-executable if some work was saved and reopened, and some dummy indices is substituted.

Eg. Suppose I Simplified an expression and found

A[mu]*B[mu]+A[mu]*d_[mu](phi(X),[X]) +.........

so here mu is dummy. Suppose I want to see what will happen if B is zero. So I substitute B[mu]=0. But if I re-execute the file, that dummy index might become [alpha] and the old substitution will not work anymore.  There are also situation that I just want to substitute the index mu to some other name, and it is changed, then you will have to find it very carefully.
The suggestion is: make the dummy indices definite, say reserve the word "si+interger" to stand for internal dummy indices.

3. Simplify could not simplify expression contains denominators that have dummy indices.
A[mu](X)/(d_[mu](A[mu](X),[X]));
Simplify(%);
Error, (in Check) found repeated indices of the denominator in the numerator

4. Simplify can not take care the full symmetry properties of quantities. 
Simplify(phi[mu,nu]*A[mu]*A[nu]);
Simplify(phi[mu,nu]*d_[mu](psi(X),[X])*d_[nu](psi(X),[X]));

both above two cases should be zero since phi is defined as antisymmetric, but Maple could not conclude that.

Hope some improvement could be made for this Simplify.

Junji Jia
Univ. Western Ontario


Please Wait...