[petsc-users] Matrix equation involving square-root

Matthew Knepley knepley at gmail.com
Sat May 21 19:55:52 CDT 2016


On Sat, May 21, 2016 at 5:57 PM, Jeff Steward <jeffsteward at gmail.com> wrote:

> I have a real SPD matrix A, and I would like to find x for
>
> (A + A^{1/2})x = b
>
> where A^{1/2} is the unique matrix such that A^{1/2}A^{1/2} = A. The
> trouble is I don't have A^{1/2} (unless I compute the eigenpairs of A which
> is fairly expensive), only A.
>
> Is there a computationally efficient method in PETSc to find x in my case?
> Ideally I would like to use an iterative method and a matrix shell for A
> due to memory concerns and the fact that I don't need an exact solution.
>

There are iterative methods for the matrix square root (
https://en.wikipedia.org/wiki/Square_root_of_a_matrix), but they are
for dense matrices. I do not know of a method beyond direct factorization
that works for sparse matrices.

If you are getting this fractional power from a continuous problem (like
subdiffusion), then you
should handle it with discretization rather than matrix tools.

  Thanks,

     Matt


> Best wishes,
>
> Jeff
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160521/608aec41/attachment.html>


More information about the petsc-users mailing list