What is Tensign?
Tensign is a program for manipulating tensor expression in
abstract index notation. Its key features are that you work
in the expression and not on the expression very much the
same way as you work in a text with a modern text editor.
More about this below. At the same time it only allows
predefined actions so that the validity of the expression is
guaranteed. In order to work comfortably in this way all
responses from the program must be as immediate as they are
in a modern text editor.
Other features of Tensign include:
Is it available for down load?
No, not yet, but it will be.
When?
Don't hold your breath while waiting. There is no time
table. I write on it when I have time and feels for doing
so. Even though it is useful already there are a few things
I need to work on before the initial release. One of those
things are file formats so that there will be at least a
reasonable chance of compatibility between releases.
Who wrote it?
I did! My name is Anders Höglund. I wrote it during the
work on my M.Sc. thesis because I was not happy with the
other computer programs for tensor calculations that I tried.
I later used Tensign quite extensively during the work on my
Ph.D. thesis. Now, when that work is over, I finally have
time to go back to the actual program and work on to get it
in shape for others to use it.
What does it look like?
Tensign currently uses a tty-interface. An X-interface will
probably be written some time but it does not have priority.
Let us look at some screenshots.
We have just started Tensign and loaded an expression
containing of a differentiated Weyl tensor. The hashes '#'
under the expression is the cursor. We can use the cursor to
zoom in on the part of the expression we wants to work on.
Here we have zoomed in to the indices of the Weyl tensor and
moved the cursor to the second index.
With just a key press we can swap the first two indices. Note
that the sign has changed as it should do because of the
antisymmetry. If there were no suitable symmetry then
nothing would have happened when we tried to swap the
indices.
Here we have gone back to the original expression and
substituted the Weyl tensor with the Lanczos potential
according to the Weyl-Lanczos relation.
The index symmetries of the Lanczos potential is the same as the index symmetries of the Weyl tensor if the last index is ignored.
Note also that some of the metrics can be absorbed but weren't. That is something that should be automated eventually.
We continue by moving the cursor to a tensor we would like to
do something with. Here we wants to use the cyclic symmetry
in order to try to match it with the last tensor in the top
row.
Here we have used the cyclic symmetry...
...and after removing the parenthesis and swapping the first
two indices on the first of the two new tensors we have
something that looks like the tensor we want to combine it
with (which now is the first tensor in the second row).
So we move the cursor to the other tensor of interest and
zooms in on the metric tensor and one of its indices...
...and with just a key press it's absorbed. That should
really be automated some time.
Only one thing remains to be done before the two terms combine now. We need to change the name of the dummy index. Yes, that's another thing that should be fixed. We shouldn't need to bother about minute details like that.
After renaming the dummy index we zoom out and bring the hole
term with us up to the term we wants it to combine with...
...and voila! They combine... WHAT!?! Nothing happened! Aha!
The derivatives are not in the same order.
That is easily fixed. Just move the cursor to the tensor we
wants to commute the derivatives on...
...and a key press later it is done.
Once again we see that there are obvious things that should be automated like changing contracted Riemann tensors to Ricci tensors.
Removing the parenthesis and bringing the two terms of
interest together makes them combine.
The term we have got here is one of those nasty second order terms that show up in the wave equation for the Lanczos potential in dimensions higher than four.
What calculations have you done with Tensign?
I have worked quite a lot on the Lanczos potential in higher
dimensional spaces. The first calculation was the wave
equation for arbitrary dimension and arbitrary gauges (ref
1). The majority of the calculations were done on the
non-existence of the Lanczos potential in higher dimensions
(ref 2 and 3). It is during those calculations that
expressions with more than 4000 terms have occurred.
I have also done some work on dimensionally dependent identities (ref 4). The identities arise as a consequence of antisymmetrising over more indices than the number of dimensions in the space. That means that for a four dimensional identity you antisymmetrise over five indices, which could give as much as 120 terms initially. Usually the starting point is some other simpler known identity with only nine terms or so but accuracy is still wanted.
One of the early calculations was to double check the Weyl wave equation in arbitrary dimension (ref 5) for a colleague. It was partly a double check of the program and partly a double check of the calculation.
Recently I've given access for a selected few people to test the program. One of them is Ola Wingbrant. His work is about superenergy tensors in conjunction with dimensionally dependent identities (ref 6).
How can I contact you?
If it is about Tensign you can use the address
tensign@andersh.user.lysator.liu.se.