| Line 107... |
Line 107... |
SETERRQ(((PetscObject)eps)->comm,1,"Hermitian problems are not compatible with complex shifts");
|
SETERRQ(((PetscObject)eps)->comm,1,"Hermitian problems are not compatible with complex shifts");
|
#endif
|
#endif
|
if (eps->ishermitian && eps->leftvecs)
|
if (eps->ishermitian && eps->leftvecs)
|
SETERRQ(((PetscObject)eps)->comm,1,"Requesting left eigenvectors not allowed in Hermitian problems");
|
SETERRQ(((PetscObject)eps)->comm,1,"Requesting left eigenvectors not allowed in Hermitian problems");
|
|
|
if (eps->ispositive) {
|
if (eps->ispositive || (eps->isgeneralized && eps->ishermitian)) {
|
ierr = STGetBilinearForm(eps->OP,&B);CHKERRQ(ierr);
|
ierr = STGetBilinearForm(eps->OP,&B);CHKERRQ(ierr);
|
ierr = IPSetMatrix(eps->ip,B);CHKERRQ(ierr);
|
ierr = IPSetMatrix(eps->ip,B);CHKERRQ(ierr);
|
ierr = MatDestroy(&B);CHKERRQ(ierr);
|
ierr = MatDestroy(&B);CHKERRQ(ierr);
|
} else {
|
} else {
|
ierr = IPSetMatrix(eps->ip,PETSC_NULL);CHKERRQ(ierr);
|
ierr = IPSetMatrix(eps->ip,PETSC_NULL);CHKERRQ(ierr);
|