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

Luis Ibanez luis.ibanez at kitware.com
Mon Apr 12 08:19:13 EDT 2010


Hi Tom,

Thanks for pointing this out.


The test that you are referring to

http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/vxl/v3p/netlib/tests/CMakeLists.txt?root=Insight&r1=1.11&r2=1.12&sortby=date

is:

                "netlib_lsqr_test"

in the file:

   Insight/Utilities/vxl/v3p/netlib/tests/lsqr-test.c


This is *not* a vnl test:

Instead,
it is a test taken from the original LSQR code
that you will find at:

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

Line 578:
SUBROUTINE APROD( MODE,M,N,X,Y,LENIW,LENRW,IW,RW )


This file, as it is, is also infringing,
so we have to the it down.


The proper testing for the new class involves
translating additional Fortran90 units from the
new SOL download.

More specifically the files:

NAMICSandBox/SparseLinearSolverConversion/Fortran90/
   lsqrTestModule.f90
   lsqrTestProgram.f90


This still remains to be done.


   Volunteers are welcome   :-)


        Luis


-----------------------------------------------------------------
On Mon, Apr 12, 2010 at 3:46 AM, Tom Vercauteren
<tom.vercauteren at gmail.com>wrote:

> Hi Luis,
>
> This is great news! Thanks for making the code readable and clear.
>
> I was just wondering about the testing of it. I see that you removed
> one of the previous vnl_lsqr tests:
>
> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/vxl/v3p/netlib/tests/CMakeLists.txt?root=Insight&r1=1.11&r2=1.12&sortby=date
>
> On the other hand, you seemed to have written additional tests in the
> namic sandbox:
>
> http://svn.na-mic.org/NAMICSandBox/trunk/SparseLinearSolverConversion/C++/Testing/
>
> Is there an issue with these tests or am I just too impatient to see
> them added to the ITK code?
>
> Thanks again for this,
> Tom
>
> On Mon, Apr 12, 2010 at 03:24, Luis Ibanez <luis.ibanez at kitware.com>
> wrote:
> >
> >
> > 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
> >
> >
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://www.kitware.com/products/protraining.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100412/64b41403/attachment.htm>


More information about the Insight-developers mailing list