James A Charles <[email protected]> writes:

> I did some more investigation into this problem. Do you think using
> Scalapack for the QR factorization would be my best bet? If so, How do
> I interface Petsc to Scalapack? Are the parallelizations of the
> matrices in Petsc compatible with Scalapack?

The algorithm you really want here is "TSQR".  It works by performing a
local QR factorization and then sending the R factors up a tree.  An
alternative that only needs one MPI_Allreduce and no other communication
is "Cholesky QR", which looks like:

  L * L^T = chol(A^T * A)
  Q = A * L^{-T}

Q and R=L^T are factors of A

This is just a few lines of code, though it is less numerically stable
than TSQR.

TSQR would be a good contribution to PETSc, if you have a little bit of
time to implement (not more than a few hours if you are familiar with
PETSc).  We can provide some guidance, otherwise one of us will get to
it eventually.

Attachment: pgpyYhAw7Y3zj.pgp
Description: PGP signature

Reply via email to