1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

returning Nstop vectors even if not all meet true convergence criterion

This commit is contained in:
Felix Erben 2023-06-27 14:38:19 +01:00
parent dd170ead01
commit 78bae9417c

View File

@ -284,7 +284,6 @@ until convergence
int iter; int iter;
for(iter = 0; iter<MaxIter; ++iter){ for(iter = 0; iter<MaxIter; ++iter){
notYetConverged:
OrthoTime=0.; OrthoTime=0.;
std::cout<< GridLogMessage <<" **********************"<< std::endl; std::cout<< GridLogMessage <<" **********************"<< std::endl;
@ -422,15 +421,13 @@ until convergence
if ( Nconv < Nstop ) { if ( Nconv < Nstop ) {
std::cout << GridLogIRL << "Nconv ("<<Nconv<<") < Nstop ("<<Nstop<<")"<<std::endl; std::cout << GridLogIRL << "Nconv ("<<Nconv<<") < Nstop ("<<Nstop<<")"<<std::endl;
std::cout << GridLogIRL << "starting one more iteration"<<std::endl; std::cout << GridLogIRL << "returning Nstop vectors, the last "<< Nstop-Nconv << "of which might meet convergence criterion only approximately" <<std::endl;
iter++;
goto notYetConverged;
} }
eval=eval2; eval=eval2;
//Keep only converged //Keep only converged
eval.resize(Nconv);// Nstop? eval.resize(Nstop);// was Nconv
evec.resize(Nconv,grid);// Nstop? evec.resize(Nstop,grid);// was Nconv
basisSortInPlace(evec,eval,reverse); basisSortInPlace(evec,eval,reverse);
} }