Richard Fateman <fateman@cs.berkeley.edu> writes:
> I don't know the full context here, but if you do not want z(l1,l2) to be
> replaced by the body of the function, evaluated, then don't define
> z(l1,l2):=block ....
>
> Instead leave it unevaluated.
>
> You can define transformations by rules, e.g.
>
> defmatch([a1,a2],true);
> defrule(r1, z[a1,a2], something(a1,a2)]
> and apply rule r1 only when you want to.
>
>
> Again, I don't know much about the itensor package or what you
> are trying to do here.
I'm trying to _repair_ the obviously broken COMPONENTS-function. All you said
above is ok for me. Though the broken Components-function works in a different
way (or should work) which I don't understand. So I asked the community for
help ...
Wolfagng Zocher