[Insight-developers] Replacing Sparse Matrix Linear Solver : due to Licensing issues

Luis Ibanez luis.ibanez at kitware.com
Sun Jan 31 14:50:05 EST 2010


The "toms" incident seems to be behind us now.
The code has been removed from the VXL version
that is carried by ITK.


However, as a secondary effect,

Bill found out that the "lsqr" libraries inside VXL are
also copyrighted by ACM and therefore subject to
their non-commercial license.


          Therefore,    they must go.


As opposed to "toms", however, this code is actually
used in ITK.

The lsqr code from the directory:

    Utilities/vxl/v3p/netlib/linalg/lsqr.c

is used by VXL in

    Utilities/vxl/core/vnl/algo/vnl_lsqr.h

that in turn is used by ITK in:

Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h
Testing/Code/Review/itkQuadEdgeMeshLinearParameterizationTest.cxx

After a (non exhaustive) Google search for
open source implementations of sparse matrix
linear solvers with licenses compatible with
the BSD license.

We end up with :

     http://sourceforge.net/projects/sparse/files/
     http://sparse.sourceforge.net/index.html

     "Sparse 1.4"
     by  Kenneth Kundert.
     that is distributed under BSD license.


It turned out that VXL already carries (a version)
of this library under:

         Utilities/vxl/v3p/netlib/sparse

Ironically,...
still under the Evil "netlib" label...

(we will come back to that later...)

---

We are currently experimenting with replacing
the vnl_lsqr solver with another one based on
the Sparse library.

Given that this is an issue of copyright infringement,
we will have to do the replacement even if the new
library is not technically better than the lsqr one.


At this point, the only places where we anticipate
to see any effect is the FEM registration algorithm,
which is the only code in ITK that uses the FEM
solver classes.


If you have any experience with using the Sparse
library we will appreciate your advice and help.


If you are aware of any other options on Open
Source sparse matrix linear solvers, with BSD
compatible licenses, please let us know.


     Thanks


            Luis


More information about the Insight-developers mailing list