[Insight-developers] LSQR Conversion Status (Release of ITK 3.18)

Luis Ibanez luis.ibanez at kitware.com
Sun Apr 11 21:24:59 EDT 2010


The offending LSQR files have finally been removed from ITK.


They have been replaced with a C++ manual translation of the
Fortran 90 implementation of an improved LSQR algorithm.


-----


The commit message describe the changes:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/vxl/core/vnl/algo/vnl_lsqr.cxx?root=Insight&view=log

BUG: Removing the lsqr.c, lsqr.f, lsqr.h and lsqr.P that implemented
the Linear Solver
     algorithm LSQR described in the paper:

        "LSQR for overdetermined or underdetermined sparse systems of
linear equations,
         sparse least squares problems, and damped sparse least
squares problems"
         by      C.C. Paige and M.A. Saunders
         ACM TOMS 8 (1982) 195-209

     The files had to be replaced because their copyright is held by ACM and
     they are distributed under a license that is incompatible with the BSD
     license used by ITK.

                      http://calgo.acm.org/583.gz

         http://www.acm.org/publications/policies/softwarecrnotice


     The code is now replaced with an implementation taken from:

               http://www.stanford.edu/group/SOL/software.html

       http://www.stanford.edu/group/SOL/software/lsqr/f90/lsqrf90-v2.zip

     The Fortran90 (2) implementation (that is distributed under a BSD license)
     was manually converted to C++ in the file lsqrBase.h, lsqrBase.cxx and then
     specialized for vnl_matrices in the files lsqrVNL.h and lsqrVNL.cxx.


-----------------------------------------------------------

The following files changed:

Utilities/vxl/core/vnl/algo/CMakeLists.txt
new revision: 1.10; previous revision: 1.9

Utilities/vxl/core/vnl/algo/vnl_lsqr.cxx
new revision: 1.5; previous revision: 1.4

Utilities/vxl/core/vnl/algo/vnl_lsqr.h
new revision: 1.5; previous revision: 1.4

Utilities/vxl/v3p/netlib/CMakeLists.txt
new revision: 1.29; previous revision: 1.28

Utilities/vxl/v3p/netlib/v3p_netlib_prototypes.h
new revision: 1.5; previous revision: 1.4

Utilities/vxl/v3p/netlib/linalg/lsqr.P
new revision: delete; previous revision: 1.2

Utilities/vxl/v3p/netlib/linalg/lsqr.c
new revision: delete; previous revision: 1.2

Utilities/vxl/v3p/netlib/linalg/lsqr.f
new revision: delete; previous revision: 1.2

Utilities/vxl/v3p/netlib/linalg/lsqr.h
new revision: delete; previous revision: 1.2

Utilities/vxl/v3p/netlib/linalg/lsqrBase.cxx
initial revision: 1.1

Utilities/vxl/v3p/netlib/linalg/lsqrBase.h
initial revision: 1.1

Utilities/vxl/v3p/netlib/tests/CMakeLists.txt
new revision: 1.12; previous revision: 1.11


------

Please note that the new lsqrBase class provide
an API improved over the vnl_lsqr class. If you
ever need to control a linear solver closely, you
may want to work directly with the lsqrBase and
lsqrVNL classes.


------

We anticipate to see this week the usual quirks
with some compilers, and hope to stabilize the
Dashboard by Tuesday or Wednesday.


Once the Dashboard is stable we will tag and
cut the release:    ITK 3.18.


Please let us know if you have any questions
or concerns with this agenda.


     Thanks


            Luis


-------------------------------------------------------------------------------------
On Fri, Apr 2, 2010 at 10:30 AM, Luis Ibanez <luis.ibanez at kitware.com>wrote:

> A quick update on the status of the LSQR code issue.
>
>
> 1) We contacted Professor Michael Saunders (Stanford)
>    regarding the lsqr method currently available in vxl,
>    that was taken from the netlib.org site.
>
>    He indicated that a BSD-licensed version of this code
>    is available in the web site:
>
>    http://www.stanford.edu/group/SOL/software.html
>
>    (Just as Tom Vercauteren had pointed out).
>
>
> 2) We have not received any answer from the editor of
>    ACM TOMS, nor from the contact person at ACM on
>    licensing issues.
>
>
> 3) Following the advice of Professor Saunders, we are
>    adopting the Fortran90 (2) version of the lsqr solver
>    available at the SOL web site.
>
>
> 4) We are currently converting this code to C++.
>    This is being done in the following NAMICSandbox
>    directory:
>
> http://svn.na-mic.org/NAMICSandBox/trunk/SparseLinearSolverConversion/
>
>
>
> The current plan is
>
>   A) To finish this conversion to C++
>   B) Integrate the resulting class as a linear solver in ITK
>   C) Cut the release ITK 3.18.
>
>
> All comments are welcome,
>
>
>    Thanks
>
>
>         Luis
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100411/b735d191/attachment.htm>


More information about the Insight-developers mailing list