00001 #include<config.h> 00002 CPS_START_NAMESPACE 00003 //------------------------------------------------------------------ 00009 //------------------------------------------------------------------ 00010 00011 00012 #ifndef INCLUDED_ALG_EIG_H 00013 #define INCLUDED_ALG_EIG_H 00014 00015 CPS_END_NAMESPACE 00016 #include <util/lattice.h> 00017 #include <util/smalloc.h> 00018 #include <util/pmalloc.h> 00019 #include <alg/alg_base.h> 00020 #include <alg/common_arg.h> 00021 #include <alg/eig_arg.h> 00022 CPS_START_NAMESPACE 00023 00025 00026 class AlgEig : public Alg 00027 { 00028 private: 00029 char *cname; 00030 00031 EigArg *alg_eig_arg; 00032 // The argument structure for the eig algorithm 00033 00034 int Ncb; 00035 // Number of checkerboards for fermion field (1 or 2) 00036 00037 Vector **eigenv; 00038 // The eigenvectors (initial and final) 00039 00040 Float *lambda; 00041 // The eigenvalues (final) 00042 00043 Float *chirality; 00044 // The chirality of the eigenvalues (final) 00045 00046 int *valid_eig; 00047 // Whether the eigenvalues are valid or not (final) 00048 00049 int n_masses; 00050 // The number of masses in the loop 00051 00052 public: 00053 AlgEig(Lattice & latt, CommonArg *c_arg, EigArg *arg); 00054 00055 virtual ~AlgEig(); 00056 00057 void run(void); 00058 void run(Float **lambda); 00059 }; 00060 00061 #endif 00062 00063 00064 00065 00066 00067 CPS_END_NAMESPACE
1.3.9.1