[petsc-users] Preconditioner for LSQR

Jed Brown jed at jedbrown.org
Mon Feb 28 22:30:29 CST 2022


This is a small problem for which direct Householder QR may be fast enough (depending on the rest of your application). For multi-node, you can use TSQR (backward stable like Householder) or Cholesky (unstable).

julia> A = rand(200000, 200);

julia> @time Q, R = qr(A);
  0.866989 seconds (14 allocations: 305.591 MiB)

julia> @time begin C = A' * A; cholesky(C); end;
  0.300977 seconds (8 allocations: 625.250 KiB)

Lucas Banting <bantingl at myumanitoba.ca> writes:

> 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


More information about the petsc-users mailing list