Hello! I had reported about some bugs in "itensor.lisp" ones. Well, the bad news is that, yet, there are more problems than with "components(tensor,comps)". The good one that almost all of them can be overcome by somehow. So itensor is quit possible to use. The list of things, in which I found some problems in trying to reproduce the results given in "tensor.doc" is following, components(tensor,comps) does not work, covdiff(exp,v1,v2....) give diagnostic like"unbound variable D", rename(exp) give report like "variable INDEX is unbound", the definition of the Riemann curvature tensor is not changed after changing the metric, after the first call of "show(exp)" the next call does not work. Still there are, may be, some more. The idea to overcome components(tensor,comps) is in maxima/tensor/anew.txt, it is to use pure maxima commands to define tensor components. The same way can be used for the Riemann curvature tensor. I tried to exclude the bugs with covdiff(exp,v1,v2....) and show(exp) now it works. To simplify expression we can always use "canform(exp)" instead rename(exp). E.g. example proving the symmetry property for the Riemann curvature tensor in "tensor.doc" can be done by "show(canform(exp))". Finally after changing "itensor.lisp" in correspondence with "diff.itensor" ( in attachment) and using idea about metric definition from "anew.txt", I was able to reproduce every result from "tensor.doc". I will try more tests from commercial macsyma which is availble here to me , by chance. Lisp's expert, please, check the suggested changes in diff.tensor. I'm newbie in lisp All the best, Valerij
Attached file: diff.itensor