Subversion Repositories slepc-dev

Rev

Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1947 Rev 1973
Line 190... Line 190...
  EPS_BLOPEX      *blopex = (EPS_BLOPEX *)eps->data;
  EPS_BLOPEX      *blopex = (EPS_BLOPEX *)eps->data;
  int             info,its;
  int             info,its;
 
 
  PetscFunctionBegin;
  PetscFunctionBegin;
 
 
  info = lobpcg_solve(blopex->eigenvectors,eps,OperatorAMultiVector,
#ifdef PETSC_USE_COMPLEX
 
  info = lobpcg_solve_complex(blopex->eigenvectors,eps,OperatorAMultiVector,
        eps->isgeneralized?eps:PETSC_NULL,eps->isgeneralized?OperatorBMultiVector:PETSC_NULL,
        eps->isgeneralized?eps:PETSC_NULL,eps->isgeneralized?OperatorBMultiVector:PETSC_NULL,
        eps,Precond_FnMultiVector,blopex->Y,
        eps,Precond_FnMultiVector,blopex->Y,
        blopex->blap_fn,blopex->tol,eps->max_it,0,&its,
        blopex->blap_fn,blopex->tol,eps->max_it,0,&its,
        eps->eigr,PETSC_NULL,0,eps->errest,PETSC_NULL,0);
        eps->eigr,PETSC_NULL,0,eps->errest,PETSC_NULL,0);
 
#else
 
  info = lobpcg_solve_double(blopex->eigenvectors,eps,OperatorAMultiVector,
 
        eps->isgeneralized?eps:PETSC_NULL,eps->isgeneralized?OperatorBMultiVector:PETSC_NULL,
 
        eps,Precond_FnMultiVector,blopex->Y,
 
        blopex->blap_fn,blopex->tol,eps->max_it,0,&its,
 
        eps->eigr,PETSC_NULL,0,eps->errest,PETSC_NULL,0);
 
#endif
  if (info>0) SETERRQ1(PETSC_ERR_LIB,"Error in blopex (code=%d)",info);
  if (info>0) SETERRQ1(PETSC_ERR_LIB,"Error in blopex (code=%d)",info);
 
 
  eps->its = its;
  eps->its = its;
  eps->nconv = eps->ncv;
  eps->nconv = eps->ncv;
  if (info==-1) eps->reason = EPS_DIVERGED_ITS;
  if (info==-1) eps->reason = EPS_DIVERGED_ITS;