I think the chosen matrix has very good convergence properties for iterative methods, but I agree that iterative methods are very useful to have in Julia. There is already quite a few implementations in
https://github.com/JuliaLang/IterativeSolvers.jl I'm not sure if these methods cover the one you chose, so you could have a look and see if there is something to contribute there. Den søndag den 31. maj 2015 kl. 21.37.23 UTC-4 skrev Eduardo Lenz: > > Hi. > > One of my students is solving some large sparse systems (more than 20K > equations). The coeficient matrix > is symmetric and positive definite, with large sparsivity (1% of non zero > elements in some cases). > > After playing around a little bit with cholfact we decided to compare the > time with a very simple implementation > of the conjugate gradient method with diagonal scaling. > > The code is in > > https://gist.github.com/CodeLenz/92086ba37035fe8d9ed8#file-gistfile1-txt > <https://www.google.com/url?q=https%3A%2F%2Fgist.github.com%2FCodeLenz%2F92086ba37035fe8d9ed8%23file-gistfile1-txt&sa=D&sntz=1&usg=AFQjCNHejjwPU4C7HybkkB2Y_kY2sPA7zQ> > > And, as for example, the solution of Ax=b for > > julia> A = sprand(10000,10000,0.01); A = A'+A; > A=A+100*rand()*speye(10000,10000) > > takes 16 seconds with cholfact(A) and 600 milliseconds !!! with DCGC > (tol=1E-10) > > Also, as expected, the memory consumption with CG is very low, allowing > the solution > of very large systems. > > The same pattern is observed for different leves of sparsivity and for > different random matrices. > > I would like to thank the Julia developers for such amazing tool ! > > > >
