> A:=Matrix([[a,b],[c,d]]);
> B:=Matrix([[p,q],[r,s]]);
> A^2;
> B^2;
> A^3;
> A.B;
> B.A;
> A.B-B.A; (AB¤£µ¥ó
> A+B;
> Trace(A+B);
> with(linalg);
Warning, the protected names norm and trace have been redefined and unprotected
> trace(A+B);
> trace(A.B);
> trace(B.A);
> A;
> B;
> expand((A.B-B.A).(A.B-B.A));
> expand((b*r-c*q)^2+(a*q+b*s-p*b-q*d)*(c*p+d*r-r*a-s*c)-((a*q+b*s-p*b-q*d)*(c*p+d*r-r*a-s*c)+(c*q-b*r)^2));
> expand((c*p+d*r-r*a-s*c)*(b*r-c*q)+(c*q-b*r)*(c*p+d*r-r*a-s*c));
> expand((b*r-c*q)*(a*q+b*s-p*b-q*d)+(a*q+b*s-p*b-q*d)*(c*q-b*r));
(AB-BA)(AB-BA) is scalar
>