0.4. Too many brackets!

This is the main complaint from most users after their first contact with xTensor`. My answer to that is the following:

1. That is how Mathematica internally works. For example, did you expect this simple derivative having internally six pairs of brackets, when it has just one in the "user-notation"?

In[55]:=

f '[2x - y]//FullForm

Out[55]//FullForm=

Derivative[1][f][Plus[Times[2, x], Times[-1, y]]]

2. xTensor` does not have different internal and external notations (at least not now). This helps understanding what is happening internally and allows the user to build pattern rules which always work. However, you are continually exposed to the internal notation.

3. The highest accummulation of brackets happens in derivatives. This simply follows the general idea in Mathematica (made clear in the example above) of treating a derivative as an operator on an expression, and not as a simple additional argument of the expression, as the traditional "comma-index" notation might suggest.

4. The Mathematica language is very similar to LISP, in which you have an awful lot of parenthesis.

5. If you are still not convinced by the previous three arguments, then I must say that it is possible to construct whatever other notation you like for a derivative, or for any other operator, and several examples of this are given in section 6.1 below.


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!