PetscRandomGetValueReal() and PetscRandomGetValueImaginary() have no mention in their manual pages what they do? Do they return random numbers with a zero imaginary part and a zero real part respectively? Manual page does not see. Also PetscRandomGetValue() does not have .seealso to these two functions, nor do these two functions have .seealso to the other.
Whoever wrote these things please fix this. Barry