Hi ! On Fri, 19 Apr 2002 07:40:25 -0700 Richard Fateman <fateman@cs.berkeley.edu> wrote: > The code is probably > (mapcar '(lambda.... > and changed to > (mapcar #'(lambda ... > > (Some lisps may be smart enough to do it either way. > In the past, probably all lisps did it either way). Well, gcl does it, I can not say the same about clisp. Probably, it deals solely with itensor. I do not know. When I tried it in clisp compiled maxima I had clisp complains: derivative indices: []; A([I, J], [K]) _ (C17) SHOW(COVDIFF(%, s)) *** - FUNCALL: argument (LAMBDA (V) (LIST '(MTIMES) (LIST '($CHR2 SIMP) (LIST SMLIST D X) (LIST SMLIST V)) (CONSUBST D V E))) is not a function. To get a function in the current environment, write (FUNCTION ...). To get a function in the global environment, write (COERCE '... 'FUNCTION). 2. Break [1]> After this I apply the pathes, see in attachment, which correct this situation. In new maxima distributions (>5.6), an additional thing broke down in "itensor" in compare with Schelter's maxima-5.6. The autoloading needed functions from others files contributed to "itensor" (like gener,canten,symtry.lisp) does not work. So you need to load files by hand. Another thing which I found that the complicated tensors are not displayed properly nether by texmacs nor emaxima > > Is there a clear specification of the algorithms that > should be used? I would not say that I have it. The problem is that some functions are currently broken in itensor. In a future there is a chance that they will be fixed. So the way to use to simplify the tensor will be quite different and simplier. Say, just canform(tensor). Right now it does not work because maxima meet a bug in function canprod in "symtry.lisp". However there is a roundabout way, say undiff(exp),ev(%,chr2),ev(%,diff), and then canform(%). The hints to use itensor can be taken from tensor.doc and my demo "itensor.dem" >Are there examples/ benchmarks for > them? I assume they used to work... is that true? Examples are in "itensor.dem". There are inspired by tensor/manual.txt. Well, for a moment the simplification is a weak point of itensor (canten() is broken). For example I could not pass the test proposed in tensor/ademo.blk. This is about vanishing of the double divergence of the Riemann tensor on antisymmetric indices. Inspection of the final result show that it is zero but because of abcence of canten capabilities it could not be obtained for general kind of metric. For a particular metric I get it. Of course, more tests are needed. I have the demo version of commercial maxima. So I will try to repeat some demo from there. rgds, Valerij
Attached file: canten.diff
Attached file: gener.diff
Attached file: itensor.diff
Attached file: symtry.diff
Attached file: itensor.dem
Attached file: readme