| Line 239... |
Line 239... |
for(i=0;i<l;i++)
|
for(i=0;i<l;i++)
|
A[ld*i+i]-=alpha;
|
A[ld*i+i]-=alpha;
|
ierr = PSRestoreArray(ps,PS_MAT_A,&A);CHKERRQ(ierr);
|
ierr = PSRestoreArray(ps,PS_MAT_A,&A);CHKERRQ(ierr);
|
ierr = PSRestoreArray(ps,PS_MAT_Q,&Q);CHKERRQ(ierr);
|
ierr = PSRestoreArray(ps,PS_MAT_Q,&Q);CHKERRQ(ierr);
|
ierr = PSRestoreArray(ps,PS_MAT_W,&R);CHKERRQ(ierr);
|
ierr = PSRestoreArray(ps,PS_MAT_W,&R);CHKERRQ(ierr);
|
ierr = PSSetState(eps->ps,PS_STATE_RAW);CHKERRQ(ierr);
|
ierr = PSSetState(ps,PS_STATE_RAW);CHKERRQ(ierr);
|
|
ierr = PSSetCompact(ps,PETSC_FALSE);CHKERRQ(ierr);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
#endif
|
#endif
|
}
|
}
|
|
|
/*
|
/*
|
| Line 338... |
Line 339... |
A[j*ld+j-1] = b[j-1] ;
|
A[j*ld+j-1] = b[j-1] ;
|
A[(j-1)*ld+j] = b[j-1];
|
A[(j-1)*ld+j] = b[j-1];
|
}
|
}
|
ierr = PSRestoreArray(eps->ps,PS_MAT_A,&A);CHKERRQ(ierr);
|
ierr = PSRestoreArray(eps->ps,PS_MAT_A,&A);CHKERRQ(ierr);
|
ierr = PSRestoreArrayReal(eps->ps,PS_MAT_T,&a);CHKERRQ(ierr);
|
ierr = PSRestoreArrayReal(eps->ps,PS_MAT_T,&a);CHKERRQ(ierr);
|
ierr = PSSetCompact(eps->ps,PETSC_FALSE);CHKERRQ(ierr);
|
|
ierr = PSSolve(eps->ps,eps->eigr+eps->nconv,PETSC_NULL);CHKERRQ(ierr);
|
ierr = PSSolve(eps->ps,eps->eigr+eps->nconv,PETSC_NULL);CHKERRQ(ierr);
|
ierr = PSSetCompact(eps->ps,PETSC_TRUE);CHKERRQ(ierr);
|
|
}else{/* Restart */
|
}else{/* Restart */
|
ierr = PSSetCompact(eps->ps,PETSC_TRUE);CHKERRQ(ierr);
|
|
ierr = PSSolve(eps->ps,eps->eigr+eps->nconv,PETSC_NULL);CHKERRQ(ierr);
|
ierr = PSSolve(eps->ps,eps->eigr+eps->nconv,PETSC_NULL);CHKERRQ(ierr);
|
}
|
}
|
ierr = PSSort(eps->ps,eps->eigr+eps->nconv,PETSC_NULL,eps->which_func,eps->which_ctx);CHKERRQ(ierr);
|
ierr = PSSort(eps->ps,eps->eigr+eps->nconv,PETSC_NULL,eps->which_func,eps->which_ctx);CHKERRQ(ierr);
|
/* Residual */
|
/* Residual */
|
ierr = PSGetArray(eps->ps,PS_MAT_Q,&Q);CHKERRQ(ierr);
|
ierr = PSGetArray(eps->ps,PS_MAT_Q,&Q);CHKERRQ(ierr);
|