[Trilinos-Users] Custom preconditioner with Tpetra

Hoemmen, Mark mhoemme at sandia.gov
Sun Jan 3 01:49:03 EST 2016



On 12/28/15, 11:03 PM, "trilinos-users-request at trilinos.org"
<trilinos-users-request at trilinos.org> wrote:
>Message: 6
>Date: Mon, 28 Dec 2015 16:42:03 +0000
>From: Martin Vymazal <martin.vymazal at vki.ac.be>
>To: trilinos-users at trilinos.org
>Subject: [Trilinos-Users] Custom preconditioner with Tpetra
>Message-ID: <0982ff04998b5b3181f7c401386ec950 at vki.ac.be>
>Content-Type: text/plain; charset=US-ASCII; format=flowed
>
>Hello,
>
>  I would like to build a custom preconditioner for a linear system using
>Tpetra matrix/vector and linear solvers provided by Belos. Could you
>please
>tell me where to start? Is there some basic example showing how to do
>this?

Yes, Tpetra has an example showing how to define a custom
Tpetra::Operator.  Please refer to
tpetra/core/example/Lesson06-Custom-Operator/lesson06_custom_operator.cpp.
 Belos also has examples showing how to use preconditioners.

>The matrix I would like to use for preconditioning is P^(-1), so I
>suppose one
>simple way of applying the preconditioner would be to assemble P, invert
>it
>(or compute cheap approximation of P^(-1)) and then multiply my lhs and
>rhs by
>P^(-1), but perhaps there's a more proper way of applying the
>preconditioner?

Preconditioning is a whole field of study in itself.  I can't tell you
what the "proper way" to apply your preconditioner is, because that
depends on your preconditioner.  If you plan to write your own
preconditioner rather than using an existing implementation (including the
many preconditioners in various Trilinos packages), it's up to you to
decide how to apply it.

mfh



More information about the Trilinos-Users mailing list