Hi Andreas...Its me again :0)

Its just an example ..I agree that it is quite unfair :0)

But  we are solving very large 3D homogeneization problems (basically, 3D 
finite elements) and the 
diference is still  very impressive. Specially if you consider the amount 
of memory needed to 
solve such systems with cholfact when compared to this iterative method.

This code is a very basic modification of the traditional CG method, where 
the cofficient 
matrix is changed in order to scale the diference between the larger and 
the smaller 
eigenvalues. I am realy amazed with the speed of sparse multiplications in 
Julia...its 
very fast !






On Monday, June 1, 2015 at 10:05:18 AM UTC-3, Andreas Noack wrote:
>
> 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