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

Arnaud Gelas arnaud_gelas at hms.harvard.edu
Sun Jan 31 16:28:03 EST 2010


Hi Luis,

A short term solution would be to replace (if that possible) the code  
for solving sparse linear system with existing sparse direct solution  
from VNL (vnl_sparse_lu). Note that the mesh parameterization can  
easily change to use vnl_sparse_lu by default.
Is vnl_sparse_lu  ok (in terms of license)?
Can Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h use vnl_sparse_lu  
instead?

A longer term solution would be to start using specialized sparse  
libraries (which are more efficient than vnl for these problems).  
Here, I cite some of them
  * SuiteSparse (LGPL): the most complete (and as far as I know the  
most efficient) solution http://www.cise.ufl.edu/research/sparse/SuiteSparse/
  * TAUCS (MIT License): sparse direct solver http://code.google.com/p/taucs/
  * SuperLU (License): LU decomposition http://crd.lbl.gov/~xiaoye/SuperLU/

Arnaud

On Jan 31, 2010, at 2:50 PM, Luis Ibanez wrote:

> 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
> _______________________________________________
> 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://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-developers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100131/37c7c97b/attachment.htm>


More information about the Insight-developers mailing list