forum.alglib.net http://forum.alglib.net/ |
|
Algorithms for sparse matrices http://forum.alglib.net/viewtopic.php?f=2&t=371 |
Page 1 of 1 |
Author: | bluesea [ Tue May 31, 2011 3:31 pm ] |
Post subject: | Algorithms for sparse matrices |
Dear Alglib developers, from a quick investigation of the Alglib C++ code, it seems that there are no algorithms for solving linear systems that take advantage of sparse matrices. While codes can become extremely specialized for sparse matrices, even quite simple implementations offer advantages over dense matrix algorithms (like those in Numerical Recipes, for instance). So, I would be extremely thankful if you could include some sparse matrix algorithms into Alglib. Any plans in this direction? Thanks a lot! John |
Author: | Sergey.Bochkanov [ Tue May 31, 2011 8:48 pm ] |
Post subject: | Re: Algorithms for sparse matrices |
Hello! Sparse matrices are planned for one of the next ALGLIB releases (they should be implemented within several months). It is planned to implement sparce matrix object with easy initialization (ability to add elements without explicitly allocating matrix with some fixed number of non-zero entries). As for algorithms, it is planned to implement several iterative solvers: CG (for smarse symmetric systems), LSQR (for sparse least squares) and one or two solvers for sparse non-symmetric systems. Unfortunately, it is not planned to implement any kind of sparse factorizations or direct algorithms - such functionality is hard to implement efficiently with current version of ALGLIB code generator. |
Author: | bluesea [ Wed Jun 01, 2011 9:14 am ] |
Post subject: | Re: Algorithms for sparse matrices |
Dear Sergey, thanks for your positive reply. It's good to hear that you are so active in the development, and especially that sparse matrix algorithms are planned for the next releases! As to factorizations: sparse QR would be the most valuable for me, should you one day decide to go for that. It can also be used in a very good solver for systems of nonlinear equations, Broyden method (which I would also very much appreciate to see included in Alglib one day). By the way, do you plan to release Alglib in the form of compiled DLLs as well? Thanks, John |
Author: | Sergey.Bochkanov [ Wed Jun 01, 2011 12:55 pm ] |
Post subject: | Re: Algorithms for sparse matrices |
The problem with precompiled C++ DLLs is that you need too many different versions. 32/64 choice gives us two options, multithreaded or single threaded gives two more, and GCC and MSVC need special treatment too. Thus precompiled DLLs are not planned. As for direct algorithms, they will be implemented in some distant future, but without any definite schedule. It may take several years... |
Author: | bluesea [ Wed Jun 01, 2011 1:00 pm ] |
Post subject: | Re: Algorithms for sparse matrices |
@DLLs: ok, thanks for the information. I am not a software developer, that's why I asked... :-) What do you mean by "direct algorithms"? Factorizations (vs. iterative solvers)? And what about Broyden - any chance to see that within the next months? (If yes, I'll wait for it. If no, I'll have to write my own code for it.) Thanks! John |
Author: | Sergey.Bochkanov [ Wed Jun 01, 2011 7:04 pm ] |
Post subject: | Re: Algorithms for sparse matrices |
Yes, I talked about sparse factorizations and non-iterative solvers (LU/Cholesky). About Broyden - unfortunately, nonlinear equation solvers are not in the top priority list. So it may need several years to be implemented. |
Author: | bluesea [ Sun Jun 05, 2011 6:50 pm ] |
Post subject: | Re: Algorithms for sparse matrices |
Dear Sergey, I don't know the details of the Alglib project, but: Would you like to hire programmers (I mean on a voluntary basis, of course) in order to have them implement algorithms for Alglib? At least for standard algorithms like (sparse) LU, Cholesky, QR this could be an option for accelerating development. Thanks, John |
Author: | Sergey.Bochkanov [ Mon Jun 06, 2011 6:59 am ] |
Post subject: | Re: Algorithms for sparse matrices |
I think that I can shed some light on my plans :) As for now, ALGLIB is one-man project, but things are going to change. 2010 was year of some serious background work (trademark registration, stability testing, a lot of new development). 2011 is expected to be first year of expansion :) It is planned to start hiring somewhere in the second half of this year. I've experimented with voluntary work in the past. The problem is that all "interesting" algorithms are hard to develop and debug. Good linearly constrained optimizer, for example, requires several human-weeks to develop and test. It is impossible to implement it while working for full time somewhere else - anyone will get tired very quickly. So I think that the best strategy is to generate stable income and to hire a team which will spend all its time working on ALGLIB. |
Page 1 of 1 | All times are UTC |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |