[net.math.symbolic] MACSYMA FOR SYMBOLIC LINEAR ALGEBRA

paf@cornell.UUCP (Peter Fenyes) (04/01/85)

TO ALL MACSYMA HACKERS: HELP!!!!

I have been trying to use MACSYMA to do some symbolic linear algebra. I am
trying to manipulate  symbolic quantities which are to represent vectors
matrices and scalars. The first problem seems to be that MACSYMA only 
"understands" vectors (i.e. lists) or matrices if they have values  - if they
are symbolic quantities they must be declared to have the "nonscalar"
property so that the distinction between vectors and matrices are lost.

Consider the expressions :            
 
                        transpose(v).v

                        transpose(v).M.transpose(M).v 

where v is a column vector and M is a matrix. Of course, if the dimensions 
are correct, these expressions are simply scalars. How can I get MACSYMA  to 
substitute a scalar for these quantities?

For the first example I have tried to use "tellsimp" or "tellsimpafter" to
define a substitution rule - this works for the cases 

                        transpose(v1).v1
                     v2.transpose(v1).v1             
but not for
                        transpose(v1).v1.v2
                     v3.transpose(v1).v1.v2    etc.

This seems to be related to the unequal left and right binding powers of the
dot operator. I tried to reset the powers using the "infix" function but I
just defined a new dot operator which didn't work correctly - e.g. 
transpose(h.j) was not handled correctly. Is there any way to modify the
binding powers of the system's dot operator without affecting its other
properties?  (I have also tried the "subst"itute functions,"let" rules 
and "defrule" with no more success.)

In short, I am fresh out of ideas and getting nowhere. I am hoping that
someone may have had experience with linear algebra in MACSYMA and
can steer me in the right direction.

                                    Thanks,
                                                Peter

Peter Fenyes / Dep't of Mech Eng./ Cornell University / Ithaca / NY / 14853
{uw-beaver,ihnp4,decvax,vax135}!cornell!paf (UUCP)
paf@Cornell.ARPA (ARPAnet) 
paf@CRNLCS (BITNET)