File: MatGetValues.html

package info (click to toggle)
petsc 3.14.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 266,472 kB
  • sloc: ansic: 680,898; python: 33,303; cpp: 16,324; makefile: 14,022; f90: 13,731; javascript: 10,713; fortran: 9,581; sh: 1,373; xml: 619; objc: 445; csh: 192; pascal: 148; java: 13
file content (71 lines) | stat: -rw-r--r-- 5,811 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetValues.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MatGetValues</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.14.5 2021-03-03</b></div>
   <div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.14.5 v3.14.5 docs/manualpages/Mat/MatGetValues.html "><small>Report Typos and Errors</small></a></div>
<A NAME="MatGetValues"><H1>MatGetValues</H1></A>
Gets a block of values from a matrix. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscmat.h" 
<A HREF="../Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../Mat/MatGetValues.html#MatGetValues">MatGetValues</A>(<A HREF="../Mat/Mat.html#Mat">Mat</A> mat,<A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> m,const <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> idxm[],<A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> n,const <A HREF="../Sys/PetscInt.html#PetscInt">PetscInt</A> idxn[],<A HREF="../Sys/PetscScalar.html#PetscScalar">PetscScalar</A> v[])
</PRE>
Not Collective; can only return values that are owned by the give process
<P>
<H3><FONT COLOR="#CC3333">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>mat </B></TD><TD>- the matrix
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>v </B></TD><TD>- a logically two-dimensional array for storing the values
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>m, idxm </B></TD><TD>- the number of rows and their global indices
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>n, idxn </B></TD><TD>- the number of columns and their global indices
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
The user must allocate space (m*n PetscScalars) for the values, v.
The values, v, are then returned in a row-oriented format,
analogous to that used by default in <A HREF="../Mat/MatSetValues.html#MatSetValues">MatSetValues</A>().
<P>
<A HREF="../Mat/MatGetValues.html#MatGetValues">MatGetValues</A>() uses 0-based row and column numbers in
Fortran as well as in C.
<P>
<A HREF="../Mat/MatGetValues.html#MatGetValues">MatGetValues</A>() requires that the matrix has been assembled
with <A HREF="../Mat/MatAssemblyBegin.html#MatAssemblyBegin">MatAssemblyBegin</A>()/<A HREF="../Mat/MatAssemblyEnd.html#MatAssemblyEnd">MatAssemblyEnd</A>().  Thus, calls to
<A HREF="../Mat/MatSetValues.html#MatSetValues">MatSetValues</A>() and <A HREF="../Mat/MatGetValues.html#MatGetValues">MatGetValues</A>() CANNOT be made in succession
without intermediate matrix assembly.
<P>
Negative row or column indices will be ignored and those locations in v[] will be
left unchanged.
<P>
For the standard row-based matrix formats, idxm[] can only contain rows owned by the requesting MPI rank.
That is, rows with global index greater than or equal to restart and less than rend where restart and rend are obtainable
from <A HREF="../Mat/MatGetOwnershipRange.html#MatGetOwnershipRange">MatGetOwnershipRange</A>(mat,&amp;rstart,&amp;rend).
<P>

<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Mat/MatGetRow.html#MatGetRow">MatGetRow</A>(), <A HREF="../Mat/MatCreateSubMatrices.html#MatCreateSubMatrices">MatCreateSubMatrices</A>(), <A HREF="../Mat/MatSetValues.html#MatSetValues">MatSetValues</A>(), <A HREF="../Mat/MatGetOwnershipRange.html#MatGetOwnershipRange">MatGetOwnershipRange</A>(), <A HREF="../Mat/MatGetValuesLocal.html#MatGetValuesLocal">MatGetValuesLocal</A>()
<BR><P><B></B><H3><FONT COLOR="#CC3333">Level</FONT></H3>advanced<BR>
<H3><FONT COLOR="#CC3333">Location</FONT></H3>
</B><A HREF="../../../src/mat/interface/matrix.c.html#MatGetValues">src/mat/interface/matrix.c</A>
<P><H3><FONT COLOR="CC3333">Implementations</FONT></H3><A HREF="../../../src/mat/impls/aij/mpi/mpiaij.c.html#MatGetValues_MPIAIJ">MatGetValues_MPIAIJ in src/mat/impls/aij/mpi/mpiaij.c</A><BR>
<A HREF="../../../src/mat/impls/aij/seq/aij.c.html#MatGetValues_SeqAIJ">MatGetValues_SeqAIJ in src/mat/impls/aij/seq/aij.c</A><BR>
<A HREF="../../../src/mat/impls/baij/mpi/mpibaij.c.html#MatGetValues_MPIBAIJ">MatGetValues_MPIBAIJ in src/mat/impls/baij/mpi/mpibaij.c</A><BR>
<A HREF="../../../src/mat/impls/baij/seq/baij.c.html#MatGetValues_SeqBAIJ">MatGetValues_SeqBAIJ in src/mat/impls/baij/seq/baij.c</A><BR>
<A HREF="../../../src/mat/impls/dense/mpi/mpidense.c.html#MatGetValues_MPIDense">MatGetValues_MPIDense in src/mat/impls/dense/mpi/mpidense.c</A><BR>
<A HREF="../../../src/mat/impls/dense/seq/dense.c.html#MatGetValues_SeqDense">MatGetValues_SeqDense in src/mat/impls/dense/seq/dense.c</A><BR>
<A HREF="../../../src/mat/impls/hypre/mhypre.c.html#MatGetValues_HYPRE">MatGetValues_HYPRE in src/mat/impls/hypre/mhypre.c</A><BR>
<A HREF="../../../src/mat/impls/sbaij/mpi/mpisbaij.c.html#MatGetValues_MPISBAIJ">MatGetValues_MPISBAIJ in src/mat/impls/sbaij/mpi/mpisbaij.c</A><BR>
<A HREF="../../../src/mat/impls/sbaij/seq/sbaij.c.html#MatGetValues_SeqSBAIJ">MatGetValues_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaij.c</A><BR>
<A HREF="../../../src/mat/impls/sell/mpi/mpisell.c.html#MatGetValues_MPISELL">MatGetValues_MPISELL in src/mat/impls/sell/mpi/mpisell.c</A><BR>
<A HREF="../../../src/mat/impls/sell/seq/sell.c.html#MatGetValues_SeqSELL">MatGetValues_SeqSELL in src/mat/impls/sell/seq/sell.c</A><BR>
<BR><A HREF="./index.html">Index of all Mat routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>