Difficulties getting a jacobian matrix



Hi all,

I have some matrices of the following form, for example
K_R : matrix([f_R,beta_R,c_Rx],[0,alpha_R*f_R,c_Ry],[0,0,1]);
R_X_Phi : matrix([1,0,0],[0,cos(Phi),-sin(Phi)],[0,sin(Phi),cos(Phi)]);
addcol( diagmatrix (3, 1) , [0,0,0])

Then I need to do some calculations (mostly multiplications) with these matrices. The result will be a matrix with ugly long terms as entries which should be simplified with ratsimp/trigsimp.
In the end, I want to rewrite that matrix column-wise into a big column vector and then build the jacobian matrix. All entries with names (e. g. beta_R, c_Ry) should be considered as variables and I have difficulties to get the jacobian matrix in Maxima.

The questions I have are:
- Is it necessary to declare the matrices as functions like
R_X_Phi(Phi) := matrix([1,0,0],[0,cos(Phi),-sin(Phi)],[0,sin(Phi),cos(Phi)]);
to be able to compute a jacobian afterwards?

- When I tried that I got errors multiplying such a function with such an item:
addcol( diagmatrix (3, 1) , [0,0,0])

How do I tackle such a problem in Maxima? What are the keywords I need to look up or the key concepts.

Perhaps a great problem is that It is not entirely clear to me, what the "return values" of the functions are. I don't know lisp and the noun/verb thing in the help file doesn't make it clear either.
Is there a tutorial that is devoted to such matrix manipulation?

Best regards,
weaker