How to do matrix operation programatically in lisp



Hi all,
   I am a graduate student at University of Maryland who is interested 
in using Maxima for applications in the control area.   

   I was trying to figure out a way to do matrix operations 
programatically in lisp.

 For example, in maxima if we want to create a simple matrix we can type 
in the
following command : matrix([1 2]);

 Now, i have downloaded maxima's source code and loaded maxima-build.lisp
and then do (maxima-load) in sbcl.  I can run maxima from the lisp 
environment by
doing (cl-user::run).   So this mean i should have all the functions 
available to me in maxima in lisp. 

Is there way for me to get the equivalent  result of matrix([1 2]) by 
doing something like
(setf result (function args))?

Is there a general way of doing something like this.  Meaning is there a 
calling convention i can follow if i know the maxima input form i can 
deduce its equivalent lisp function call and arguments.

My ultimate goal is to use maxima as the backbone of all my 
mathematical  computing needs (symbolic, matrices ...) in writing lisp 
programs.  Can maxima do this?   Another idea is maybe my lisp code can 
call a .mac file.  I am just not sure what would be the best approach.

Any recommendation will be greatly appreciated. 

- Kun