(%i1) m : matrix([0,-(2*%i*(%i+1))/(2*%i+1),0,-(2*%i*(%i+1))/(2*%i+1)],[(2*%i*(%i+1))/(2*%i+1),0,(2*%i*(%i+1))/(2*%i+1),0],[0,-(2*%i*(%i+1))/(2*%i+1),0,-(2*%i*(%i+1))/(2*%i+1)],[(2*%i*(%i+1))/(2*%i+1),0,(2*%i*(%i+1))/(2*%i+1),0])$
Huh? Why doesn't %i^2 --> -1 when ratmx is true?
(%i2) triangularize(m), ratmx : true;
(%o2)/R/ matrix([2*%i^2+2*%i,0,2*%i^2+2*%i,0],[0,-4*%i^4-8*%i^3-4*%i^2,0,-4*%i^4-8*%i^3-4*%i^2],[0,0,0,0],[0,0,0,0])
What I would expect when ratmx is true:
(%i3) triangularize(m), ratmx : false;
(%o3) matrix([2*%i-2,0,2*%i-2,0],[0,8*%i,0,8*%i],[0,0,0,0],[0,0,0,0])
--Barton