> After reading up on Maxima tensor packages I get the impression
> that ctensor is the most complete and the most up to date
> of the three
I don't think this impression is justified.
The three packages differ not in the degree to which they are up to date,
but in the purposes they serve.
The ctensor package is designed to calculate the components of, and work
with the tensors of Riemannian geometry given a specific coordinate frame
and metric.
The itensor package is a generic indicial tensor manipulation package that
performs formal algebra and calculus on "indexed objects", applying symmetry
rules, summation rules, etc, in a coordinate system independent manner.
The atensor package implements the rules of an abstract noncommutative
algebra.
When working on alternate theories of gravity, I use itensor by far the most
often. In particular, itensor can be used to derive the field equations of a
Lagrangian field theory, and it can also be used to simplify and manage
fairly complex tensorial expressions. I also use ctensor occasionally, e.g.,
when computing a specific solution (say, solving the field equations in a
spherically symmetric, static case or in the case of an homogeneous,
isotropic cosmology.) I find atensor to have a little less practical utility
(though it's certainly educational.)
Regarding the "NOT YET IMPLEMENTED" features: these are legacy entries on
the documentation. The itensor package can be used to generate the
Euler-Lagrange equations for any Lagrangian field theory, and as to Rosen's
bimetric theory, I think it's a lot less in fashion today than back when
ctensor was originally written. Nonetheless, if there is a real need for it,
we can certainly contemplate implementing these features. They're not (yet?)
implemented, but I felt no pressing need to remove the documentation
entries.
I recommend running demo(tensor) from the command line. (It may not work as
intended in all graphical interfaces.) It provides many working examples for
ctensor/itensor.
Viktor