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 !
>
>
>
>

Reply via email to