Viktor,
I have noticed that with listarith:false we have the following
(%i1) 0*[1,2];
(%o1) [0, 0]
(%i2) [1,2]-[1,2];
(%o2) [0, 0]
(%i3) listarith:false$
(%i4) 0*[1,2];
(%o4) 0
(%i5) [1,2]-[1,2];
(%o5) 0
So if we want to use listarith:false for vectors, we must allow 0 * vector to be the exception
from the general rule.
So if listarith=true or factor=0 then factor*[a,b] ---> [0,0].
Matrices accordingly.
What do you think? Perhaps on your work on listarith you step over this point.
Volker