Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!mstan!amull From: amull@Morgan.COM (Andrew P. Mullhaupt) Newsgroups: comp.lang.apl Subject: Syntax for extended matrix operations Keywords: APL primitives, beyond quad-divide Message-ID: <539@s5.Morgan.COM> Date: 27 Nov 89 05:27:10 GMT Organization: Morgan Stanley & Co. NY, NY Lines: 32 I would like to solicit suggestions for primitives to be added to the APL lexicon which would update the representation of linear algebraic concepts. In particular I have in mind a way to deal with the concept of matrix factorizations; Cholesky, QR, and SVD. The point is that if you use quad-divide, you have to factor the matrix every time you come up with a right hand side (left hand side in APL terms) that needs evaluating. Having access to the factored form of the matrix, especially in a storage efficient form is quite desirable. In particular, since I am using SVD to implement quad-divide in a version of APL, I think it's a stupid shame to have to junk the matrix factors. It is also desirable to have the choice of more than one decomposition available to the programmer, and in the case of the LU; why should double the storage be required? At present, the implementation is going to bail out of APL for almost all of this stuff. This will have the same result that it had for us on APL2 on the mainframe: there, quad divide is not competitive with the ESSL SVD, so we never use it for much anymore. (In fact I checked around our group of programmers, and I think it is never used in new code.) Now HP calculators keep track of whether or not a given matrix has been factored in place or not, but this doesn't give much insight into what to do with the SVD. Thanks in advance, Andrew Mullhaupt P.S. Sparse and band matrix tricks, and updates (Cholesky and QR) would seem very desirable if they can be embedded comfortably in the APL syntax.