mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Approx tests and lanczos improvement
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -48,7 +48,7 @@ class BasisFieldVector {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void rotate(std::vector<RealD>& Qt,int j0, int j1, int k0,int k1,int Nm) {
 | 
			
		||||
  void rotate(Eigen::MatrixXd& Qt,int j0, int j1, int k0,int k1,int Nm) {
 | 
			
		||||
    
 | 
			
		||||
    GridBase* grid = _v[0]._grid;
 | 
			
		||||
      
 | 
			
		||||
@@ -62,7 +62,7 @@ class BasisFieldVector {
 | 
			
		||||
	
 | 
			
		||||
	for(int j=j0; j<j1; ++j){
 | 
			
		||||
	  for(int k=k0; k<k1; ++k){
 | 
			
		||||
	    B[j] +=Qt[k+Nm*j] * _v[k]._odata[ss];
 | 
			
		||||
	    B[j] +=Qt(j,k) * _v[k]._odata[ss];
 | 
			
		||||
	  }
 | 
			
		||||
	}
 | 
			
		||||
	for(int j=j0; j<j1; ++j){
 | 
			
		||||
@@ -70,7 +70,6 @@ class BasisFieldVector {
 | 
			
		||||
	}
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  size_t size() const {
 | 
			
		||||
 
 | 
			
		||||
@@ -244,6 +244,7 @@ until convergence
 | 
			
		||||
      
 | 
			
		||||
      // Implicitly shifted QR transformations
 | 
			
		||||
      Qt = Eigen::MatrixXd::Identity(Nm,Nm);
 | 
			
		||||
 | 
			
		||||
      for(int ip=k2; ip<Nm; ++ip){ 
 | 
			
		||||
	// Eigen replacement for qr_decomp ???
 | 
			
		||||
	qr_decomp(eval,lme,Nm,Nm,Qt,eval2[ip],k1,Nm);
 | 
			
		||||
@@ -319,7 +320,7 @@ until convergence
 | 
			
		||||
    } // end of iter loop
 | 
			
		||||
    
 | 
			
		||||
    std::cout << GridLogMessage <<"**************************************************************************"<< std::endl;
 | 
			
		||||
    std::cout<< GridLogError    <<" ImplicitlyRestartedLanczos::calc() NOT converged.";
 | 
			
		||||
    std::cout << GridLogError   <<" ImplicitlyRestartedLanczos::calc() NOT converged.";
 | 
			
		||||
    std::cout << GridLogMessage <<"**************************************************************************"<< std::endl;
 | 
			
		||||
    abort();
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user