Simplification question



On 5/27/2013 4:26 PM, Rupert Swarbrick wrote:
>   (simplifya '((mtimes) $a ((mnctimes))) nil)
Is there. some actual computation that produces ((mnctimes))?

I would expect it to be immediately simplified to 1,  although
this is something of a hack.  The result should be some kind
of multiplicative identity...

maybe something like a 1X1 matrix containing 1  or some
nXn identity matrix or some other indication that it is not
really 1 but an element from some non-commuting system ...
would make more sense.

More to the point of your question ...

I think you are mistaken in the meaning of the extra
t or nil to simplifya.

I may be mistaken but I think that t means it should assume
that everything other than the top level list is simplified,
so it need not delve any deeper into subexpressions unless required
to simplify the main operator.

This explanation is consistent with your example.

The nil  means simplify everything, but believes the simp flags.
There is some other way to force simplification of everything,
which is to bind  dosimp to t.

At least that is my recollection.  I have not looked at the code.

RJF