From: mak%<koe...@ll...> - 2002-11-24 13:50:29
|
Tunc, 1. Over the weekend I spent some more time on the PINV question. In response to your question about DGELSD, the more I thought about it the more I liked it. Since the routine accepts multiple RHS, I suppose it can be provided an identity matrix. The result should then be the PINV matrix. If I write something like this (DEFUN PINV (A &OPTIONAL (B NIL) (...)) ... (LET ((B (IF (NULL B) IDENTITY-FOR-A B))) ... (CALLING-GELSD ...) ...)) then the user can say (PINV A) to get the psuedo-inverse, or they can say (PINV A B) to solve the multiple RHS problem. 2. The use of ?GELSD should aviod (my) concerns over differences in D1MACH values in a given CL implimentation and the associated FORTRAN. (BTW I found that the machine values are controlled by DLAMCH.F for LAPACK, not D1MACH.F as I thought.) 3. Due to current time constraints, I intend to: a. change the calling convention of PINV I posted last week to provide this capability. The computations remain essentially unchanged. b. over the next few weeks, develop the ?GELSD.F wrappers and replace the internals of PINV to use these. any thoughts or redirections concerning this? mike |