[petsc-users] kronecker products

Benjamin Sanderse B.Sanderse at cwi.nl
Thu Nov 4 09:58:31 CDT 2010


Some matrices are just used to compute matrix-vector products, and some have to be solved for. That's basically it.
The matrices are really very sparse; on the order of 10-20 diagonals (typically independent of problem size).
As far as I know, reordering is hardly necessary, because I am using a structured grid.

Ben

----- Original Message -----
From: "Jed Brown" <jed at 59A2.org>
To: "PETSc users list" <petsc-users at mcs.anl.gov>
Sent: Thursday, November 4, 2010 3:50:43 PM
Subject: Re: [petsc-users] kronecker products

On Thu, Nov 4, 2010 at 09:43, Benjamin Sanderse <B.Sanderse at cwi.nl> wrote:

> I am working on a CFD code which calculates differences, averages,
> interpolations, etc. by computing matrix-vector and matrix-matrix products.
> The basis here is formed by (very) sparse matrices and extension to more
> dimensions is done with kronecker products.
> This works fine one a single processor; however, before implementing things
> in parallel I have two questions:
>
> - is there a way to compute kronecker products efficiently in parallel with
> Petsc?
>

You could store the constitutive pieces in a MatShell.  What do you have to
do with the result* *(multiply with, solve with, compute singular values of,
etc)?  What is the relative size and sparsity of each piece?  Would you be
willing to reorder unknowns in the vector (perhaps with a scatter) for a
more efficient implementation?

Jed


More information about the petsc-users mailing list