<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi, I have tried to solve generalized complex eigenvalue problem using SLEPc and PETSc. Both matrices are also sparse and I know with very good accuracy where I have non-zero entries. So, it sounds that function MatMPIAIJSetPreallocationCSR() is very good in my case. I have a test problem and my code works well with real scalars, but when I change real scalars to complex I get errors like<br><br>Floating point exception!<br>[0]PETSC ERROR: Inserting -nan+iG at matrix entry (0,-524288)!<br>[0]PETSC ERROR: MatSetValues() line 1092 in /opt/petsc-3.4.2/src/mat/interface/matrix.c<br>[0]PETSC ERROR: MatAXPY_BasicWithPreallocation() line 122 in /opt/petsc-3.4.2/src/mat/utils/axpy.c<br>[0]PETSC ERROR: MatAXPY_MPIAIJ() line 2343 in /opt/petsc-3.4.2/src/mat/impls/aij/mpi/mpiaij.c<br>[0]PETSC ERROR: MatAXPY() line 39 in /opt/petsc-3.4.2/src/mat/utils/axpy.c<br>[0]PETSC ERROR: STMatGAXPY_Private() line 366 in /opt/slepc-3.4.0/src/st/interface/stsolve.c<br>[0]PETSC ERROR: STSetUp_Shift() line 113 in /opt/slepc-3.4.0/src/st/impls/shift/shift.c<br>[0]PETSC ERROR: STSetUp() line 285 in /opt/slepc-3.4.0/src/st/interface/stsolve.c<br>[0]PETSC ERROR: EPSSetUp() line 215 in /opt/slepc-3.4.0/src/eps/interface/setup.c<br>[0]PETSC ERROR: EPSSolve() line 90 in /opt/slepc-3.4.0/src/eps/interface/solve.c<br><br>I have also printed out the matrices, after these are assembled using MatSetValues(), in complex and real case and both are ok. ( there is nothing suspicious and PETSc does not try to access entries which are not initialized.) Also MatZeroRowsColumns() works when I apply boundary conditions. I don't know but I would guess that something is wrong when I initialize matrices. Basically, I do it in this way.<br><br>ierr = MatMPIAIJSetPreallocationCSR (matrix,i,j,0); CHKERRQ(ierr);<br>ierr = MatAssemblyBegin (matrix,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);<br>ierr = MatAssemblyEnd (matrix,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);<br>ierr = MatSetOption (matrix, MAT_NEW_NONZERO_LOCATIONS, PETSC_FALSE); CHKERRQ(ierr);<br>ierr = MatSetOption (matrix, MAT_KEEP_NONZERO_PATTERN, PETSC_TRUE);CHKERRQ(ierr);<br><br>i and j arrays work fine with real case so they should be ok. Is there any examples where MatMPIAIJSetPreallocationCSR() is used to initialize matrices of eigenvalue problem.<br><br>-Heikki<br><br>                                         </div></body>
</html>