# [cadabra-discuss] One question and one and a half suggestions

Hendrik Ludwig ludwig83 at zedat.fu-berlin.de
Sun Aug 1 15:49:04 BST 2010

Hello again Kasper and cadabra community!

First i have one question regarding the startup file "~/.cadabra". I am
planning to write a little collection of quantities in general relativity,
just their ::LaTeXForm, ::TableauSymmetry and some substitutions. It would be
nice nice to have them at hand each time i start xcadabra. But as far as i
could find out the startup file "~/.cadabra" is only read when starting in
command line mode, and not with xcadabra. So my question is: is there a way to
tell xcadabra to load the startup file, or is there a command/algorithm in

I think that my idea comes quite close to Kaspers idea of having some kind of
databases for cadabra, even though i think he had something more sophisticated
in mind. And here i come to my suggestion: I think most of you share my
opinion that cadabra is an extremely promising computer program with a big
chance of revolutionizing theoretical physics computations (and the big risk
of damaging undergraduate students by-hand-computation skills for the rest of
human history :P). I saw some other posts here stating similar things.
And Kasper has a lot of suggestions on the cadabra homepage how to improve the
program, plus the skills needed to perform these steps. I, for example, don't
feel like and experienced programmer, and i don't have C++ experience, but
from my physics studies and my minor subject computer science i ad least have
some experience in C and Java, so i think if there was some promising idea, i
would feel like being able to implement and algorithm fro cadabra. I guess
that there are many people like me in cadabra community, since theoretical
physicists that can not program at all become rarer these days.
So my suggestions is: Even though we have a very complete reference guide and
this mailing-list (which serves very well for support, since Kaspers answers
come very quick), it would be nice to have some kind of "developers-forum" or
"wannabe-developers-forum" to discuss suggestions, share hints (in different
categories like for instance general relativity of QFT) or even
scripts/databases. There could be some kind of inofficial beta versions, and
Kasper still could decide what to include in the upcoming versions of cadabra.
I am not an experienced developer nor am i an experienced web-programmer, but
i think there are very sophisticated and open source tools (like trac used for
sage) that include a forum, a wiki and version control. But first a forum to
discuss suggestions would be enough i guess. And even though i'm writing my
graduation thesis at the moment and don't have too much time (i guess none of
us have ;-), if there was a need i would try to organize as much as possible.

And as my first suggestion (that would maybe fit into a forum better than here)
i would like to say something about calculating with components. As far as i
could find in the documentation, there is a way having (factored out) purely
scalar expressions handed over to maxima. But it would be nice to handle also
the single components of tensorial expressions. I think it should be done in a
similar fashion to the xAct(xCoba) package for mathematica, i.e. performing
all contractions and writing this as a system of differential equations with
the number of equations depending on the number of free indices. It would also
be nice if one could include the monoterm symmetries of tensors involved
(making for instance for an electromagnetic field strength F_{\mu \nu} both
components F_{0 1} and F_{1 0} become the same function f01(t,x,y,z) ) and
inserting an ansatz (static, spherically symmetric) e.g. for the metric. (but
also making other tensors depend on only a sibset of the coordinates would
reduce the length and complexity of equations drastically).
Even though i am very enthusiastic about sage as an open source alternative
for maple and mathematica, and i think it would in principle be possible to
include cadabra in sage, i share Kaspers concerns that (if i remember right)
he mad in a sage forum, that the philosophy of cadabra doe not make it
appropriate for including it in a general purpose cas system.
But exporting of systems of differential equations (maybe by the @run command
and a little program dependeing on the format intended -
sage/mathematica/maxima/whateverCAS) would be a nice (and i think quite easy
to archive) feature. The differential equations could then be analyzed/solved
analytically or solved numerically within any CAS system an export program
exists for.

Now that was a long post, and i'm looking forward to your replies, and wish
everybody a good start into the next week,

Hendrik