Re: MATRIX procedure enhancement
Posted by Kirill Orlov on Sep 24, 2021; 4:28pm
URL: http://spssx-discussion.165.s1.nabble.com/MATRIX-procedure-enhancement-tp5740777p5740784.html
There are *many* to list. I will just mention now the ones I needed recently. Eigendecomposition of a general (asymmetric) matrix, Tridiagonalization, Houholder reflections & Hessenberg reduction, Forward/backward substitution. Then, of course, QR decomposition by other methods than just Gram-Schmidt gsch() only available currently. These are all interconnected functions, but they are often needed *separetely as well*.
(Because MATRIX misses them, I had to program some of them myself on SPSS MATRIX syntax, which, of course, made them slow and not modern. You can find them in my "Matrix-End matrix" collection on my page.)
MATRIX need more functions or Call statements because they will be on Fortran (or C) and so will be *fast*. Speed is very important, *crucial* for MATRIX as a potential tool for programming of algorithms and statistical procedures.
I would also call for some obvious, "easy" functions for speed and convenience reasons, such as, for example, (1) removing of arrays from a matrix (e.g. remove(X,ind1,:) *deletes* rows with positions ind1 vector from X matrix. (2) Faster sort than the method available currently. (3) Find function (such as, find all instances of a value(s) in a vector and return its positions). I mean, functions which, if you want to write them yourself in syntax, you either can't do it without loop-end loop or, if you can, it - the function - comes out not enough fast.