Re: pseudoinverse

mak%[email protected] Sun, 24 Nov 2002 08:54:13 -0500
Newsgroups gmane.lisp.matlisp.user
Message-ID <[email protected]>
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