<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div>I'm trying to set the maximum number of iterations in a minres preconditioner for the lobpcg eigensolver from SLEPc.</div><div>Using KSPSetTolerances, I can change the minres tolerance, but not maxit (it's always 5).</div><div><br></div><div>  ierr = EPSCreate( PETSC_COMM_WORLD , &eps ) ;              CHKERRQ( ierr ) ;<br></div><div>  ...</div><div><br></div><div>  ST st;</div><div>  KSP ksp;</div><div>  PC pc;</div><div>  ierr = EPSGetST( eps , &st ) ;                             CHKERRQ( ierr ) ;</div><div>  ierr = STSetType( st, STPRECOND ) ;                        CHKERRQ( ierr ) ;</div><div>  ierr = STGetKSP( st , &ksp ) ;                             CHKERRQ( ierr ) ;</div><div>  ierr = KSPSetType( ksp , KSPMINRES ) ;                     CHKERRQ( ierr ) ;</div><div>  ierr = KSPGetPC( ksp , &pc ) ;                             CHKERRQ( ierr ) ;</div><div>  ierr = PCSetType( pc , PCNONE ) ;                          CHKERRQ( ierr ) ;</div><div><b>  ierr = KSPSetTolerances</b></div><div><b>    ( ksp , /*tol_prec*/ 1e-10 , PETSC_DEFAULT , PETSC_DEFAULT , /*maxit_prec*/ 7 ) ;</b></div><div>  CHKERRQ( ierr ) ;</div><div>  ierr = KSPSetFromOptions( ksp ) ;                          CHKERRQ( ierr ) ;</div><div>  ierr = STSetFromOptions( st ) ;                            CHKERRQ( ierr ) ;</div><div>  ierr = EPSSetFromOptions( eps ) ;                          CHKERRQ( ierr ) ;</div><div><br></div><div>  ...</div><div><div> ierr = EPSSetOperators( eps , mat , NULL ) ;             CHKERRQ( ierr ) ;<br></div><div><br></div><div> ierr = EPSSolve( eps ) ;                                 CHKERRQ( ierr ) ;</div></div><div><br></div><div><br></div><div><br></div><div>When I run with -eps_view, I see:</div><div><br></div><div>...</div><div><div>EPS Object: 4 MPI processes</div><div>  type: lobpcg</div></div><div>...</div><div><div>ST Object: 4 MPI processes</div><div>  type: precond</div><div>  shift: 0.</div><div>  number of matrices: 1</div><div>  KSP Object: (st_) 4 MPI processes</div><div>    type: minres</div><div><b>    maximum iterations=5, initial guess is zero</b></div><div><div><b>    tolerances:  relative=1e-10, absolute=1e-50, divergence=10000.</b></div><div style="font-weight:bold"><span style="font-weight:normal">    left preconditioning</span><br></div></div><div>    using PRECONDITIONED norm type for convergence test</div><div>  PC Object: (st_) 4 MPI processes</div><div>    type: none</div></div><div>...</div><div><br></div></div></div></div></div></div></div></div>