File: VecNormAvailable.html

package info (click to toggle)
petsc 3.4.2.dfsg1-8.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 129,104 kB
  • ctags: 516,422
  • sloc: ansic: 395,939; cpp: 47,201; python: 34,788; makefile: 17,193; fortran: 16,251; f90: 1,592; objc: 954; sh: 822; xml: 621; java: 381; lisp: 293; csh: 241
file content (73 lines) | stat: -rw-r--r-- 3,514 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
72
73
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecNormAvailable.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>VecNormAvailable</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>
<A NAME="VecNormAvailable"><H1>VecNormAvailable</H1></A>
Returns the vector norm if it is already known. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscvec.h"   
PetscErrorCode  VecNormAvailable(Vec x,NormType type,PetscBool  *available,PetscReal *val)
</PRE>
Not Collective
<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>x </B></TD><TD>- the vector
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>type </B></TD><TD>- one of <A HREF="../Vec/NORM_1.html#NORM_1">NORM_1</A>, <A HREF="../Vec/NORM_2.html#NORM_2">NORM_2</A>, <A HREF="../Vec/NORM_INFINITY.html#NORM_INFINITY">NORM_INFINITY</A>.  Also available
<A HREF="../Vec/NORM_1_AND_2.html#NORM_1_AND_2">NORM_1_AND_2</A>, which computes both norms and stores them
in a two element array.
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>available </B></TD><TD>- <A HREF="../Sys/PETSC_TRUE.html#PETSC_TRUE">PETSC_TRUE</A> if the val returned is valid
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>val </B></TD><TD>- the norm
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
<pre>
    <A HREF="../Vec/NORM_1.html#NORM_1">NORM_1</A> denotes sum_i |x_i|
</pre>
<pre>
    <A HREF="../Vec/NORM_2.html#NORM_2">NORM_2</A> denotes sqrt(sum_i (x_i)^2)
</pre>
<pre>
    <A HREF="../Vec/NORM_INFINITY.html#NORM_INFINITY">NORM_INFINITY</A> denotes max_i |x_i|
</pre>
<P>

<P>
<H3><FONT COLOR="#CC3333">Performance Issues</FONT></H3>
<pre>
   per-processor memory bandwidth
</pre>
<pre>
   interprocessor latency
</pre>
<pre>
   work load inbalance that causes certain processes to arrive much earlier than others
</pre>
<P>
<H3><FONT COLOR="#CC3333">Compile Option</FONT></H3>
PETSC_HAVE_SLOW_BLAS_NORM2 will cause a C (loop unrolled) version of the norm to be used, rather
than the BLAS. This should probably only be used when one is using the FORTRAN BLAS routines
(as opposed to vendor provided) because the FORTRAN BLAS NRM2() routine is very slow.
<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Vec/VecDot.html#VecDot">VecDot</A>(), <A HREF="../Vec/VecTDot.html#VecTDot">VecTDot</A>(), <A HREF="../Vec/VecNorm.html#VecNorm">VecNorm</A>(), <A HREF="../Vec/VecDotBegin.html#VecDotBegin">VecDotBegin</A>(), <A HREF="../Vec/VecDotEnd.html#VecDotEnd">VecDotEnd</A>(), <A HREF="../Vec/VecNorm.html#VecNorm">VecNorm</A>()
<BR><A HREF="../Vec/VecNormBegin.html#VecNormBegin">VecNormBegin</A>(), <A HREF="../Vec/VecNormEnd.html#VecNormEnd">VecNormEnd</A>()
<P>
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/vec/vec/interface/rvector.c.html#VecNormAvailable">src/vec/vec/interface/rvector.c</A>
<BR><A HREF="./index.html">Index of all Vec 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>