# [Maxima] simplification in matrices

Barton Willis willisb at unk.edu
Thu Mar 6 17:01:01 CST 2008

```-----maxima-bounces at math.utexas.edu wrote: -----

>Hi,
>
>I have the antisymmetric matrix
>
>M:matrix([0,(u[1,2]-u[2,1])/2,(u[1,3]-u[3,1])/2],[(u[2,1]-u[1,2])/2,0,(u[2
>,3]-u[3,2])/2],[(u[3,1]-u[1,3])/2,(u[3,2]-u[2,3])/2,0])
>
>I would like Maxima to reckon that, since the vector (Omg_1, Omg_2, Omg_3)
>(how do I input a vector in Maxima?) has components
>
>
>Omg_1 = u[3,2]-u[2,3]
>Omg_2 = u[1,3]-u[3,1]
>Omg_3 = u[2,1]-u[1,2]
>
>then M has the expression
>
>M:matrix([0,-Omg[3]/2,Omg[2]/2],[-Omg[3]/2,0,-Omg[1]/2],[-Omg[2]/2,Omg[3]/
>2,0])
>
>Is this possible? Thanks,

Try something like this:

(%i10)
M:matrix([0,(u[1,2]-u[2,1])/2,(u[1,3]-u[3,1])/2],[(u[2,1]-u[1,2])/2,0,(u[2,3]-u[3,2])/2],[(u[3,1]

-u[1,3])/2,(u[3,2]-u[2,3])/2,0])\$

(%i11) M : ratsubst(Omg_1, u[3,2]-u[2,3], M)\$

(%i12) M : ratsubst(Omg_2, u[1,3]-u[3,1], M)\$

(%i13) M : ratsubst(Omg_3, u[2,1]-u[1,2], M);

(%o13)
matrix([0,-Omg_3/2,Omg_2/2],[Omg_3/2,0,-Omg_1/2],[-Omg_2/2,Omg_1/2,0])

To read the user documentation for ratsubst, enter "? ratsubst" on a
command
line.

There is no vector object in Maxima. Either you need to represent a vector
as
a list or as a Matrix. Examples:

(%i14) vec : matrix([1],[2],[3]);
(%o14) matrix([1],[2],[3])

(%i15) M . vec;
(%o15) matrix([(3*Omg_2)/2-Omg_3],[Omg_3/2-(3*Omg_1)/2],[Omg_1-Omg_2/2])

(%i16) u : [1,2,3];
(%o16) [1,2,3]

(%i17) u . M;
(%o17) matrix([Omg_3-(3*Omg_2)/2,(3*Omg_1)/2-Omg_3/2,Omg_2/2-Omg_1])