I wrote a pseudoinverse using the dgesvd routine, and it works for small matrices. At size = 9X9 or larger, it crashes with illegal instruction "movups" on windows 2000, visual studio 6, and older mkl (5.3 I think). The 'context' of the error is inside dswap in Blas(called by svd???). I am writing in C.
Any fix / comments?
I could post the code, if needed, but this seems like a lib problem.