<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Luis,<div><br></div><div>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.</div><div>Is vnl_sparse_lu &nbsp;ok (in terms of license)?</div><div>Can&nbsp;Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h use vnl_sparse_lu instead?</div><div><br></div><div>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&nbsp;&nbsp;</div><div>&nbsp;* SuiteSparse (LGPL): the most complete (and as far as I know the most efficient) solution <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">http://www.cise.ufl.edu/research/sparse/SuiteSparse/</a>&nbsp;</div><div>&nbsp;* TAUCS (MIT License): sparse direct solver <a href="http://code.google.com/p/taucs/">http://code.google.com/p/taucs/</a></div><div>&nbsp;* SuperLU (<a href="http://crd.lbl.gov/~xiaoye/SuperLU/License.txt">License</a>): LU decomposition <a href="http://crd.lbl.gov/~xiaoye/SuperLU/">http://crd.lbl.gov/~xiaoye/SuperLU/</a></div><div><br></div><div>Arnaud</div><div><br><div><div>On Jan 31, 2010, at 2:50 PM, Luis Ibanez wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>The "toms" incident seems to be behind us now.<br>The code has been removed from the VXL version<br>that is carried by ITK.<br><br><br>However, as a secondary effect,<br><br>Bill found out that the "lsqr" libraries inside VXL are<br>also copyrighted by ACM and therefore subject to<br>their non-commercial license.<br><br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Therefore, &nbsp;&nbsp;&nbsp;they must go.<br><br><br>As opposed to "toms", however, this code is actually<br>used in ITK.<br><br>The lsqr code from the directory:<br><br> &nbsp;&nbsp;&nbsp;Utilities/vxl/v3p/netlib/linalg/lsqr.c<br><br>is used by VXL in<br><br> &nbsp;&nbsp;&nbsp;Utilities/vxl/core/vnl/algo/vnl_lsqr.h<br><br>that in turn is used by ITK in:<br><br>Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h<br>Testing/Code/Review/itkQuadEdgeMeshLinearParameterizationTest.cxx<br><br>After a (non exhaustive) Google search for<br>open source implementations of sparse matrix<br>linear solvers with licenses compatible with<br>the BSD license.<br><br>We end up with :<br><br> &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://sourceforge.net/projects/sparse/files/">http://sourceforge.net/projects/sparse/files/</a><br> &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://sparse.sourceforge.net/index.html">http://sparse.sourceforge.net/index.html</a><br><br> &nbsp;&nbsp;&nbsp;&nbsp;"Sparse 1.4"<br> &nbsp;&nbsp;&nbsp;&nbsp;by &nbsp;Kenneth Kundert.<br> &nbsp;&nbsp;&nbsp;&nbsp;that is distributed under BSD license.<br><br><br>It turned out that VXL already carries (a version)<br>of this library under:<br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Utilities/vxl/v3p/netlib/sparse<br><br>Ironically,...<br>still under the Evil "netlib" label...<br><br>(we will come back to that later...)<br><br>---<br><br>We are currently experimenting with replacing<br>the vnl_lsqr solver with another one based on<br>the Sparse library.<br><br>Given that this is an issue of copyright infringement,<br>we will have to do the replacement even if the new<br>library is not technically better than the lsqr one.<br><br><br>At this point, the only places where we anticipate<br>to see any effect is the FEM registration algorithm,<br>which is the only code in ITK that uses the FEM<br>solver classes.<br><br><br>If you have any experience with using the Sparse<br>library we will appreciate your advice and help.<br><br><br>If you are aware of any other options on Open<br>Source sparse matrix linear solvers, with BSD<br>compatible licenses, please let us know.<br><br><br> &nbsp;&nbsp;&nbsp;&nbsp;Thanks<br><br><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Luis<br>_______________________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers ITK Training Courses, for more information visit:<br>http://kitware.com/products/protraining.html<br><br>Please keep messages on-topic and check the ITK FAQ at:<br>http://www.itk.org/Wiki/ITK_FAQ<br><br>Follow this link to subscribe/unsubscribe:<br>http://www.itk.org/mailman/listinfo/insight-developers<br></div></blockquote></div><br></div></body></html>