Maxima Newbie Question: Matrix*Vector multiplication ?



Dear Group,

I run Maxima 5.9.0 on a Microsoft Machine, and after trying some more I have
some more specific questions. The example I submitted in my last mail was an
example, and embarassingly enough it works fine for me. However, I
mistakenly thought it was a generalizable problem. 
Anyways: Here is a piece of code:

--------------------code----------

load(VECT);
load(EIGEN);

Z:matrix([z11,z12],[z21,z22]);
F:COLUMNVECTOR([Fm,Fs]);

Z . F;

A:matrix([a11,a12],[a21,a22]);
b:COLUMNVECTOR([b1,b2]);
A . b;

---------------------output --------------

(D1) 

    C:/Program
Files/math/Maxima-5.9.0/share/maxima/5.9.0/share/vector/vect.mac
(C2) 
Warning - you are redefining the MACSYMA function EIGENVALUES
Warning - you are redefining the MACSYMA function EIGENVECTORS
(D2) 

   C:/Program
Files/math/Maxima-5.9.0/share/maxima/5.9.0/share/matrix/eigen.mac
(C3) 
				 [ z11  z12 ]
(D3) 				 [ 	    ]
				 [ z21  z22 ]
(C4) 
				    [ Fm ]
(D4) 				    [ 	 ]
				    [ Fs ]
(C5) 
incompatible dimensions - cannot multiply
 -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);)
(C6) 
				 [ a11  a12 ]
(D6) 				 [ 	    ]
				 [ a21  a22 ]
(C7) 
				    [ B1 ]
(D7) 				    [ 	 ]
				    [ B2 ]
(C8) 
			      [ a12 B2 + a11 B1 ]
(D8) 			      [ 	        ]
			      [ a22 B2 + a21 B1 ]
----------------------------------------------------------------------

So, it is possible to multiply A.b but not Z.F 
Is there something fundamental that I have missed?

Thanks,
		Goran


Ps. Why are the columnvector components B1,B2 instead of b1,b2 ?


> -----Original Message-----
> From: Valery Pipin [mailto:pip at iszf] 
> Sent: Wednesday, March 10, 2004 1:56 PM
> To: Christiansson, G.A.V.
> Cc: maxima@www.ma.utexas.edu
> Subject: Re: [Maxima] Maxima Newbie Question: Matrix*Vector 
> multiplication ?
> 
> 
> Welcome!
> 
> On Wednesday 10 March 2004 18:38, you wrote:
> | Dear group,
> |
> | I want to multiply a matrix A with a vector b, but I cannot 
> figure out 
> | how to do that simple operation. (I feel a bit stupid, but I have 
> | googled, and read the Maxima Book and the help
> | files...)
> |
> | Example:
> | 8<-------------
> |
> | load(VECT);
> | load(EIGEN);
> |
> | A:matrix([a11,a12],[a21,a22]);
> | b:COLUMNVECTOR([b1,b2]);
> |
> | A . b;
> | ----------
> | I get:
> | "Circular rule attempted - TELLSIMPAFTER"
> What version of maxima and lisp do you have? What sytem do 
> you run? On debian linux and maxima cvs everything works in 
> expecting way
> (C9) b:COLUMNVECTOR([b1,b2]);
> 						      [ B1 ]
> (D9) 						      [      ]
> 						      [ B2 ]
> (C10) A . b;
> 						[ a12 B2 + a11 B1 ]
> (D10) 					[ 		
>           ]
> 						[ a22 B2 + a21 B1 ]
> 
> I don't know how to help you. 
> 
>