[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-developers
mailing list