getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] GMM++ Preconditioner


From: Danesh Daroui
Subject: Re: [Getfem-users] GMM++ Preconditioner
Date: Mon, 13 Sep 2010 11:01:54 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2

Dear Renard,

I have another question. When I run iterative solvers in GMM++, it takes
very very long time and sometimes (specially when ILU precond. is used)
the method
doesn't even converge. With ILUT and ILUTP I got the error "pivot is too
small" and i don't know why. But, with direct solvers, it is possible to
solve it in less time.
Is it because my matrix is not sparse enough? But I am wondering, if I
solve a dense system with iterative solver, shouldn't it take in worse
case, the time equal to
direct solver? I have run all my tests using GMRES solver. Do you think
that I may get better result with other iterative solvers in GMM++?

Thanks,

Danesh




On 2010-09-13 08:51, Yves Renard wrote:
>
> Dear Danesh
>
> If your matrix is nearly dense (if I understand well, in your case, you have 
> more than 30% of nonzero components) the dense format is the better because 
> the linear algebra operations are far more optimized for dense matrices 
> (using 
> blas) than for sparse matrices.
>
> Yves.
>
>
> On dimanche 12 septembre 2010, Danesh Daroui wrote:
>> Dear Renard,
>>
>> Thanks for your answer. Yes you are right. In principle, using iterative
>> solvers for a dense matrix is not a good idea. Maybe for special cases,
>> but not in general. Please correct me if I am wrong. The reason that I
>> am using a dense matrix type is that I am using a very large matrix
>> where I fill each quarter separately. Two of quarters are dense and the
>> others are very sparse. It is also possible to make the dense quarters
>> more sparse that I am working on it. For this purpose I thought maybe it
>> is better to use a dense matrix, however I leave mane zero cells in the
>> memory. Do you have any suggestion? Is it possible to reference each
>> quarter using a sparse format matrix like dense format in GMM++?
>>
>> Regards,
>>
>> D.
>>
>> On 2010-09-12 17:09, Renard Yves wrote:
>>> Dear Danesh,
>>>
>>> The template argument for the preconditionner is the matrix type. So
>>> you should declare
>>>
>>> gmm::dense_matrix<double> A(100, 100);
>>>
>>> filling the matrix
>>>
>>> gmm::ilu_precond<gmm::dense_matrix<double> > P1(A);
>>>
>>>
>>>
>>> Of course, this is not very satisfactory because an incomplete LU
>>> decomposition on a dense matrix is a complete LU decomposition. You
>>> should work with sparse matrices instead.
>>>
>>> You can see on the following page of the documentation how to declare
>>> each preconditionner :
>>>
>>> http://download.gna.org/getfem/html/homepage/gmm/iter.html#preconditioner
>>> s
>>>
>>> Yves.
>>>
>>> Danesh Daroui <address@hidden> a écrit :
>>>> Dear all,
>>>>
>>>> I would like to use GMM++ iterative solvers. The problem is that I can
>>>> not use for example incomplete LU factorization preconditioner. Let say
>>>> that I have the equation Ax=b. The I define the preconditioner as:
>>>>
>>>> gmm::dense_matrix<double> A(100, 100);
>>>>
>>>> // filling the matrix
>>>>
>>>> gmm::ilu_precond<double> P1(A);
>>>>
>>>> but I get compilation errors. It just compiled successfullt when I
>>>> define:
>>>>
>>>> gmm::ilu_precond<double> P1;
>>>>
>>>> but there is no hint and neither sample code to show which function
>>>> should I call to create the preconditioner.
>>>>
>>>> Can anybody help?
>>>>
>>>> Regards,
>>>>
>>>> D.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Getfem-users mailing list
>>>> address@hidden
>>>> https://mail.gna.org/listinfo/getfem-users
>>> _______________________________________________
>>> Getfem-users mailing list
>>> address@hidden
>>> https://mail.gna.org/listinfo/getfem-users
>


-- 
Danesh Daroui
Ph.D Student
Lulea University of Technology
http://www.ltu.se

address@hidden
Tel: +46-(0)920-492451
Cell phone: +46-(0)704-399847




reply via email to

[Prev in Thread] Current Thread [Next in Thread]