Skip to main content
`Ctrl`+`K`

# VecSetRandom

Sets all components of a vector to random numbers.

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecSetRandom(Vec x, PetscRandom rctx)

Logically Collective

## Input Parameters

- x - the vector

- rctx - the random number context, formed by `PetscRandomCreate()`, or use `NULL` and it will create one internally.

## Output Parameter

- x - the vector

## Example of Usage

         PetscRandomCreate(PETSC_COMM_WORLD,&rctx);
         VecSetRandom(x,rctx);
         PetscRandomDestroy(&rctx);

## See Also

Vectors and Parallel Data, `Vec`, `VecSet()`, `VecSetValues()`, `PetscRandomCreate()`, `PetscRandomDestroy()`

## Level

intermediate

## Location

src/vec/vec/interface/vector.c

## Examples

src/ksp/ksp/tutorials/ex59.c
src/ksp/ksp/tutorials/ex81.c
src/ksp/ksp/tutorials/ex10.c
src/ksp/ksp/tutorials/ex18.c
src/ksp/ksp/tutorials/ex71.c
src/ksp/ksp/tutorials/ex46.c
src/ksp/ksp/tutorials/ex86.c
src/ksp/ksp/tutorials/ex81a.c
src/ksp/ksp/tutorials/ex60.c
src/ksp/ksp/tutorials/ex11.c

## Implementations

VecSetRandom_Nest() in src/vec/vec/impls/nest/vecnest.c
VecSetRandom_Seq() in src/vec/vec/impls/seq/bvec2.c
VecSetRandom_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecSetRandom_SeqViennaCL() in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx

Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages