<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 17, 2016 at 2:27 PM, Mark Adams <span dir="ltr"><<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Other than set userandom = PETSC_TRUE, should I do anything else?<div><br></div><div>I see:</div><span class=""><div><br></div><div>ierr = VecSetRandom(B,cheb->random);CHKERRQ(ierr);<br></div><div><br></div></span><div>Should I use a special one or change this default to the special one?</div></div></blockquote><div><br></div><div>I think Jed means this:</div><div><br></div><div>  Make a special implementation of PetscRandom. The VecSetRandom() function will</div><div>  assign to each row</div><div><br></div><div>    v(r) = hash(r)</div><div><br></div><div>Then you should be able to use the random eig_est with -petscrandom_type hashrand</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 17, 2016 at 3:19 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div><div class="gmail_quote">On Tue, May 17, 2016 at 2:11 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>> writes:<br>
>   Sounds like Jed is saying he is ok with making the default use the<br>
>   random number generator. Do this in a branch and be aware that you<br>
>   have to update a bunch of the test output files to match the new<br>
>   convergence histories introduced by the change.<br>
<br>
</span>Sure, but if it's all the same to you all, let's use a hash.  This guy<br>
seems to have a convenient permutation of 32-bit integers.  (Overkill<br>
for us, but that's not a problem.)<br>
<br>
<a href="http://stackoverflow.com/a/12996028/33208" rel="noreferrer" target="_blank">http://stackoverflow.com/a/12996028/33208</a><br>
<br>
Use i=(i >> 32)^i for 64-bit input.<br>
</blockquote></div><br></div></div>Should we just make this another Random implementation which is only for testing?</div><div class="gmail_extra"><br></div><div class="gmail_extra">  Matt<span><br clear="all"><div><br></div>-- <br><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</span></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>