Message Boards Message Boards

Coordinate-free Tensorial/Vectorial Calculus

POSTED BY: Thales Fernandes
8 Replies

You might want to take a look at the Atlas2 add-on:

http://www.digi-area.com/Mathematica/atlas/

POSTED BY: Murray Eisenberg

Very nice! But how does that relate to the built-in Symbolic Tensors functionality?

http://reference.wolfram.com/language/guide/SymbolicTensors.html

POSTED BY: Sam Carrettie

Mathematica built-in tensors are component based, whereas my simple implementation is coordinate free.

POSTED BY: Thales Fernandes
Posted 8 years ago

That is simply not true, both with regards to Mathematica and your own package.

Our symbolic tensors are very much coordinate and index free, and can be manipulated without ever introduce coordinates, indices, or what have you. What they lack is calculus support, which is a hard thing to do, even more so without a declarative syntax of the type you use. This is something we would like to circle back to, but there are many things we want to circle back to.

Given that you are defining Dp, which is an inherently coordinate-based (whether you define it as a non-tensorial local expression operator, or as a tensorial connection defined via a particular coordinate system), you clearly are not coordinate free. Where is your abstract connection, if you really want to be coordinate free?

POSTED BY: Itai Seggev

Our symbolic tensors are very much coordinate and index free, and can be manipulated without ever introduce coordinates, indices, or what have you.

My mind was on Calculus... Especifically Grad, Div, Laplacian, which are the tools I use and don't want specify clumsy coordinates to make the code unreadable...

Given that you are defining Dp, which is an inherently coordinate-based (whether you define it as a non-tensorial local expression operator, or as a tensorial connection defined via a particular coordinate system), you clearly are not coordinate free.

I use Dp not as coordinate derivative, but rather as parameter derivative. Specifically by assuming some deformation on the permittivity given by a parameter, which is the basis of Virtual Work.

Where is your abstract connection, if you really want to be coordinate free?

As I said, I called it "Package" with quotes for a reason. Why would I bother writing GR code if I don't do GR? My grad code is indeed coordinate free, for example. If I take the grad of the appropriate product of two tensors, it will give the correct output regardless of coordinate choice.

My main point was: give more power to Grad, Div, Laplacian, etc...

Mathematica Tensors may be coordinate free, but Mathematica Calculus definitely is not.

POSTED BY: Thales Fernandes
Posted 8 years ago

I see, so your interest was creating a vector calculus package for 3D Euclidean space, assuming you are always using an orthonormal basis. I agree this is a nice way to get there.

I would only add that there is a difference between "coordinate-free" and "index-free". Several of those packages you dismissed are in fact coordinate-free, even if they are not index-free. And the moment you have tensors of rank higer than 2, trying to stay index free is not so simple, or even particularly natural.

POSTED BY: Itai Seggev

I would only add that there is a difference between "coordinate-free" and "index-free".

Perhaps I used interchangeably component-free (or index-free) with coordinate-free... I should have made the distinction more clear.

I didn't use other packages because they are not component-free, and when using indices, things can get messier very quickly. And my code is just Leibniz rule for tensors, there is no need for any component to appear.

And I didn't use Mathematica own vector derivatives because they are not coordinate-free (in the sense I need to specify the coordinate, obviously I can derive in any coordinate with them, which is pretty handy). It is possible to extend this "Package" for more definitions, for example, Riemann curvature tensor:

R

Which is component-free and coordinate free. But it would not be too useful since the maximum you can do without specifying components or defining derivative-like operators is Leibniz rule.

Note: The only book I have found so far with good component-free notation in GR is: Grøn, Hervik - Einstein's General Theory of Relativity With Modern Applications in Cosmology. The math is more complicated and sometimes is necessary to revert back to index notation.

POSTED BY: Thales Fernandes

enter image description here - Congratulations! This post is now a Staff Pick as distinguished on your profile! Thank you, keep it coming!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract