[petsc-users] Preconditioner for LSQR

Lucas Banting bantingl at myumanitoba.ca
Tue Mar 1 11:06:53 CST 2022


Thanks everyone, QR makes the most sense for my application.

Jose,
Once I get R from BVOrthogonalize, how I should I solve the upper triangular system?
Is the returned Mat R setup to be used in MatBackwardSolve?

Pierre,
I can reuse A for many iterations, but I cannot do a matmatsolve as I need the resulting solution to produce the next right hand side vector.

Thanks again,
Lucas
________________________________
From: Jose E. Roman <jroman at dsic.upv.es>
Sent: Tuesday, March 1, 2022 4:49 AM
To: Pierre Jolivet <pierre at joliv.et>
Cc: Lucas Banting <bantingl at myumanitoba.ca>; petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Preconditioner for LSQR

Caution: This message was sent from outside the University of Manitoba.


To use SLEPc's TSQR one would do something like this:

  ierr = BVCreateFromMat(A,&X);CHKERRQ(ierr);
  ierr = BVSetFromOptions(X);CHKERRQ(ierr);
  ierr = BVSetOrthogonalization(X,BV_ORTHOG_CGS,BV_ORTHOG_REFINE_IFNEEDED,PETSC_DEFAULT,BV_ORTHOG_BLOCK_TSQR);CHKERRQ(ierr);
  ierr = BVOrthogonalize(X,R);CHKERRQ(ierr);

But then one would have to use BVDotVec() to obtain Q'*b and finally solve a triangular system with R.
Jose

> El 1 mar 2022, a las 8:36, Pierre Jolivet <pierre at joliv.et> escribió:
>
> Hello Lucas,
> In your sequence of systems, is A changing?
> Are all right-hand sides available from the get-go?
> In that case, you can solve everything in a block fashion and that’s how you could get real improvements.
> Also, instead of PCCHOLESKY on A^T * A + KSPCG, you could use PCQR on A + KSPPREONLY, but this may not be needed, cf. Jed’s answer.
>
> Thanks,
> Pierre
>
>> On 1 Mar 2022, at 12:54 AM, Lucas Banting <bantingl at myumanitoba.ca> wrote:
>>
>> Hello,
>>
>> I have an MPIDENSE matrix of size about 200,000 x 200, using KSPLSQR on my machine a solution takes about 15 s. I typically run with six to eight processors.
>> I have to solve the system several times, typically 4-30, and was looking for recommendations on reusable preconditioners to use with KSPLSQR to increase speed.
>>
>> Would it make the most sense to use PCCHOLESKY on the smaller system A^T * A?
>>
>> Thanks,
>> Lucas
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220301/bfaf8ade/attachment-0001.html>


More information about the petsc-users mailing list