[petsc-users] Using MatCreateSubMatrix
Matthew Knepley
knepley at gmail.com
Thu Jun 18 15:24:28 CDT 2020
On Thu, Jun 18, 2020 at 4:22 PM Rakesh Halder <rhalder at umich.edu> wrote:
> Hi all,
>
> I'm writing an algorithm using PETSc that requires part of an (N x k)
> matrix, where k << N. Specifically, my algorithm loops from j = 1 to k, and
> uses j columns of the matrix of a time. I've been creating a new matrix for
> each iteration, and use MatGetColumnVector to get the values for each
> column vector, scatter them into a new vector, and then use MatSetValue to
> populate my matrix. MatGetColumnVector is very slow, and I was thinking of
> using MatCreateSubMatrix. However, I'm not entirely sure how to get the
> correct IS that would allow me to create a submatrix using the first j
> columns of the matrix at a time. I'm running in parallel, and the matrix is
> an MPIAIJ matrix. I've looked at examples of MatCreateSubMatrix as well as
> examples including the use of IS, but I'm still not very sure how to use
> them.
>
Use a ISStride of [0, N) for an MxN matrix for the column IS and you will
get everything in the row, which is what you want.
Thanks,
Matt
> Thanks,
>
> Rakesh
>
--
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
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200618/b1080f6a/attachment.html>
More information about the petsc-users
mailing list