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

Luis Ibanez luis.ibanez at kitware.com
Mon Feb 1 15:29:08 EST 2010


Hi Arnaud,

Thanks a lot , all these suggestions are very useful.

A) I'll give it a shot at using vnl_sparse_lu

    (I must first double check that is not encumbered
     by the ACM copyright/license absurd restrictions).


B)  About the alternative libraries:
     Thanks for gathering this list.

B.1)  SuiteSparse,
         since it is a LGPL libraries, is not an option.
         at least not for being a default ITK component.
         We could however, support it the way we support FFTW.
        An pass the licensing nightmare down to the users who
        enable that option.

B.2)  TAUCS,
         Looks like a good option.
         The MIT license is fully compatible with BSD.

B.3)  SuperLU,
         Reading its license, it turns out to be a standard BSD.
         So, this is also a good option.

It looks like we should bring this discussion to the Wiki,

I made a page for it at:
http://www.itk.org/Wiki/Proposals:Sparse_Linear_Solvers


That is linked from the 2010 Proposals Table:
http://www.itk.org/Wiki/ITK_Oversight_Committee#2010


Let's gather more factors in the Wiki, so we can make
an educated decision.


     Thanks,


         Luis


------------------------------------------------------------------------------
On Sun, Jan 31, 2010 at 4:28 PM, Arnaud Gelas
<arnaud_gelas at hms.harvard.edu> wrote:
> 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
>
>


More information about the Insight-users mailing list