File: PetscRandomCreate.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (75 lines) | stat: -rw-r--r-- 5,590 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
74
75
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscRandomCreate.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>PetscRandomCreate</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.7.5 2017-01-01</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.7.5 v3.7.5 docs/manualpages/Sys/PetscRandomCreate.html "><small>Report Typos and Errors</small></a></div>
<A NAME="PetscRandomCreate"><H1>PetscRandomCreate</H1></A>
Creates a context for generating random numbers, and initializes the random-number generator. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
#include "petscsys.h" 
PetscErrorCode  PetscRandomCreate(MPI_Comm comm,PetscRandom *r)
</PRE>
Collective on <A HREF="../Sys/MPI_Comm.html#MPI_Comm">MPI_Comm</A>
<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>comm </B></TD><TD>- MPI communicator
</TD></TR>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>r  </B></TD><TD>- the random number generator context
</TD></TR>
<P>

<P>
<H3><FONT COLOR="#CC3333">Notes</FONT></H3>
The random type has to be set by <A HREF="../Sys/PetscRandomSetType.html#PetscRandomSetType">PetscRandomSetType</A>().
<P>
This is only a primative "parallel" random number generator, it should NOT
be used for sophisticated parallel Monte Carlo methods since it will very likely
not have the correct statistics across processors. You can provide your own
parallel generator using <A HREF="../Sys/PetscRandomRegister.html#PetscRandomRegister">PetscRandomRegister</A>();
<P>
If you create a <A HREF="../Sys/PetscRandom.html#PetscRandom">PetscRandom</A>() using <A HREF="../Sys/PETSC_COMM_SELF.html#PETSC_COMM_SELF">PETSC_COMM_SELF</A> on several processors then
the SAME random numbers will be generated on all those processors. Use <A HREF="../Sys/PETSC_COMM_WORLD.html#PETSC_COMM_WORLD">PETSC_COMM_WORLD</A>
or the appropriate parallel communicator to eliminate this issue.
<P>
Use <A HREF="../Vec/VecSetRandom.html#VecSetRandom">VecSetRandom</A>() to set the elements of a vector to random numbers.
<P>
<H3><FONT COLOR="#CC3333">Example of Usage</FONT></H3>
<PRE>
      <A HREF="../Sys/PetscRandomCreate.html#PetscRandomCreate">PetscRandomCreate</A>(<A HREF="../Sys/PETSC_COMM_SELF.html#PETSC_COMM_SELF">PETSC_COMM_SELF</A>,&amp;r);
      <A HREF="../Sys/PetscRandomSetType.html#PetscRandomSetType">PetscRandomSetType</A>(r,PETSCRAND48);
      <A HREF="../Sys/PetscRandomGetValue.html#PetscRandomGetValue">PetscRandomGetValue</A>(r,&amp;value1);
      <A HREF="../Sys/PetscRandomGetValueReal.html#PetscRandomGetValueReal">PetscRandomGetValueReal</A>(r,&amp;value2);
      <A HREF="../Sys/PetscRandomDestroy.html#PetscRandomDestroy">PetscRandomDestroy</A>(&amp;r);
</PRE>

<P>
<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Sys/PetscRandomSetType.html#PetscRandomSetType">PetscRandomSetType</A>(), <A HREF="../Sys/PetscRandomGetValue.html#PetscRandomGetValue">PetscRandomGetValue</A>(), <A HREF="../Sys/PetscRandomGetValueReal.html#PetscRandomGetValueReal">PetscRandomGetValueReal</A>(), <A HREF="../Sys/PetscRandomSetInterval.html#PetscRandomSetInterval">PetscRandomSetInterval</A>(),
<BR><A HREF="../Sys/PetscRandomDestroy.html#PetscRandomDestroy">PetscRandomDestroy</A>(), <A HREF="../Vec/VecSetRandom.html#VecSetRandom">VecSetRandom</A>(), <A HREF="../Sys/PetscRandomType.html#PetscRandomType">PetscRandomType</A>
<P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/sys/classes/random/interface/randomc.c.html#PetscRandomCreate">src/sys/classes/random/interface/randomc.c</A>
<BR><A HREF="./index.html">Index of all Sys 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>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/sys/classes/random/examples/tutorials/ex1.c.html">src/sys/classes/random/examples/tutorials/ex1.c.html</A><BR>
<A HREF="../../../src/sys/classes/random/examples/tutorials/ex2.c.html">src/sys/classes/random/examples/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex2.c.html">src/ksp/ksp/examples/tutorials/ex2.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex11.c.html">src/ksp/ksp/examples/tutorials/ex11.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex18.c.html">src/ksp/ksp/examples/tutorials/ex18.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex46.c.html">src/ksp/ksp/examples/tutorials/ex46.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex52.c.html">src/ksp/ksp/examples/tutorials/ex52.c.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex2f.F.html">src/ksp/ksp/examples/tutorials/ex2f.F.html</A><BR>
<A HREF="../../../src/ksp/ksp/examples/tutorials/ex11f.F.html">src/ksp/ksp/examples/tutorials/ex11f.F.html</A><BR>
<A HREF="../../../src/ts/examples/tutorials/ex42.c.html">src/ts/examples/tutorials/ex42.c.html</A><BR>
<A HREF="../../../src/tao/unconstrained/examples/tutorials/minsurf2.c.html">src/tao/unconstrained/examples/tutorials/minsurf2.c.html</A><BR>
</BODY></HTML>