<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Mon, Jul 23, 2018 at 9:28 PM Oleksandr Koshkarov <<a href="mailto:olk548@mail.usask.ca">olk548@mail.usask.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear All,<br>
<br>
In my large parallel simulation, I need to precompute eigenvalues (or at <br>
least the largest one) of smallish simple matrix (from 4x4 up to maybe <br>
50x50, tridiagonal and symmetric). Computation time here is not <br>
important and I thought to do it for each processor independently in <br>
serial. I thought to use petsc for this as I already use petsc for <br>
everything else. However, simple solution seems not to work:<br>
<br>
   Mat M;<br>
   MatCreateSeqDense(PETSC_COMM_SELF,n,n,NULL,&M);<br>
<br>
... insering some values<br>
<br>
   MatAssemblyBegin(M,MAT_FINAL_ASSEMBLY);<br>
   MatAssemblyEnd(M,MAT_FINAL_ASSEMBLY);<br>
<br>
   KSP ksp;<br>
   KSPCreate(PETSC_COMM_WORLD,&ksp);<br>
   KSPSetOperators(ksp,M,M);<br>
<br>
   PetscReal r[n], c[n];<br>
   KSPComputeEigenvaluesExplicitly(ksp,n,r,c);<br>
<br>
which produces the error:<br>
[0]PETSC ERROR: --------------------- Error Message <br>
--------------------------------------------------------------<br>
[0]PETSC ERROR: Null argument, when expecting valid pointer<br>
[0]PETSC ERROR: Null Object: Parameter # 1<br>
[0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> <br>
for trouble shooting.<br>
[0]PETSC ERROR: Petsc Release Version 3.9.2, May, 20, 2018<br>
[0]PETSC ERROR: ./eigtest on a arch-linux2-c-debug named koshlaptop by <br>
kosh Mon Jul 23 19:25:29 2018<br>
[0]PETSC ERROR: Configure options --with-hdf5-dir=/home/kosh/.local/hdf5<br>
[0]PETSC ERROR: #1 VecDuplicate() line 372 in <br>
/home/kosh/.local/petsc-3.9.2/src/vec/vec/interface/vector.c<br>
[0]PETSC ERROR: #2 KSPComputeExplicitOperator() line 47 in <br>
/home/kosh/.local/petsc-3.9.2/src/ksp/ksp/interface/eige.c<br>
[0]PETSC ERROR: #3 KSPComputeEigenvaluesExplicitly() line 140 in <br>
/home/kosh/.local/petsc-3.9.2/src/ksp/ksp/interface/eige.c<br>
<br>
Is it possible to use petsc for this simple task? or KSP will not work <br>
with dense serial matrix?<br></blockquote><div><br></div><div>What that does is compute the eigenvalues of the Krylov matrix. If you want</div><div>the eigenvalues of an explicit dense matrix, just call the LAPACK function directly (dgeev).</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">
Thank you in advance and best regards,<br>
Alex.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><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><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div>