Q-solvers / EDLib

Exact diagonalization solver for quantum electron models
MIT License
23 stars 7 forks source link

compilation fails at Lanczos_Test #18

Closed henhans closed 1 year ago

henhans commented 2 years ago

Dear Developer, I encounter the following error message while compiling the code. I use gcc-10 and g++-10 and the current version of ALPSCore on Github. I am wondering if you know how to resolve this error? Thank you!

[ 77%] Building CXX object test/CMakeFiles/LanczosTest.dir/Lanczos_Test.cpp.o
In file included from /home/henhans/Git/EDLib/include/edlib/GreensFunction.h:10,
                 from /home/henhans/Git/EDLib/test/Lanczos_Test.cpp:11:
/home/henhans/Git/EDLib/include/edlib/Lanczos.h: In instantiation of ‘class EDLib::gf::Lanczos<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’:
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:26:11:   required from ‘class EDLib::gf::GreensFunction<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:69:129:   required from here
/home/henhans/Git/EDLib/include/edlib/Lanczos.h:20:13: error: no type named ‘MeshType’ in ‘class alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>’
   20 |       using Mesh=typename MeshFactory::MeshType;
      |             ^~~~
In file included from /home/henhans/Git/EDLib/test/Lanczos_Test.cpp:11:
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h: In instantiation of ‘class EDLib::gf::GreensFunction<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:69:129:   required from here
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:29:60: error: ‘omega’ has not been declared in ‘EDLib::gf::Lanczos<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’
   29 |       using Lanczos < Hamiltonian, MeshFactory, Args... >::omega;
      |                                                            ^~~~~
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp: In member function ‘virtual void HubbardModelTest_ReferenceTest_Test::TestBody()’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:71:27: error: ‘class EDLib::gf::GreensFunction<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’ has no member named ‘G’
   71 |   auto G = greensFunction.G();
      |                           ^
In file included from /home/henhans/Git/EDLib/test/Lanczos_Test.cpp:12:
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h: In instantiation of ‘class EDLib::gf::ChiLoc<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:74:109:   required from here
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:106:60: error: ‘omega’ has not been declared in ‘EDLib::gf::Lanczos<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’
  106 |       using Lanczos < Hamiltonian, MeshFactory, Args... >::omega;
      |                                                            ^~~~~
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:82:21: error: ‘class EDLib::gf::ChiLoc<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’ has no member named ‘G’
   82 |   auto ChiSz = susc.G();
      |                     ^
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:90:20: error: ‘class EDLib::gf::ChiLoc<EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >, alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>, alps::gf::statistics::statistics_type>’ has no member named ‘G’
   90 |   auto ChiN = susc.G();
      |                    ^
In file included from /home/henhans/Git/EDLib/test/Lanczos_Test.cpp:11:
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h: In instantiation of ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::GreensFunction(alps::params&, Hamiltonian&, Args ...) [with Hamiltonian = EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >; MeshFactory = alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>; Args = {alps::gf::statistics::statistics_type}; alps::params = alps::params_ns::params]’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:69:184:   required from here
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g’
   61 |                                                         _cutoff(p["lanc.BOLTZMANN_CUTOFF"]) {
      |                                                                                           ^
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:55:67: error: ‘omega’ was not declared in this scope
   55 |                                                         _G_g(omega(), alps::gf::index_mesh(h.model().interacting_orbitals()), alps::gf::index_mesh(p["NSPINS"].as<int>())),
      |                                                              ~~~~~^~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l’
   61 |                                                         _cutoff(p["lanc.BOLTZMANN_CUTOFF"]) {
      |                                                                                           ^
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G’
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g_ij’
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l_ij’
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:61:91: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_ij’
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h: In instantiation of ‘void EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::compute() [with Hamiltonian = EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >; MeshFactory = alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>; Args = {alps::gf::statistics::statistics_type}]’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:70:26:   required from here
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:111:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g’
  111 |         _G_g *= 0.0;
      |         ^~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:112:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l’
  112 |         _G_l *= 0.0;
      |         ^~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:149:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g’
  149 |         _G_g /= _Z;
      |         ^~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:150:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l’
  150 |         _G_l /= _Z;
      |         ^~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:151:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g_ij’
  151 |         _G_g_ij /= _Z;
      |         ^~~~~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:152:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l_ij’
  152 |         _G_l_ij /= _Z;
      |         ^~~~~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:157:9: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G’
  157 |         _G = _G_g + _G_l;
      |         ^~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:157:14: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_g’
  157 |         _G = _G_g + _G_l;
      |              ^~~~
/home/henhans/Git/EDLib/include/edlib/GreensFunction.h:157:21: error: using invalid field ‘EDLib::gf::GreensFunction<Hamiltonian, MeshFactory, Args>::_G_l’
  157 |         _G = _G_g + _G_l;
      |                     ^~~~
In file included from /home/henhans/Git/EDLib/test/Lanczos_Test.cpp:12:
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h: In instantiation of ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::ChiLoc(alps::params&, Hamiltonian&, Args ...) [with Hamiltonian = EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >; MeshFactory = alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>; Args = {alps::gf::statistics::statistics_type}; alps::params = alps::params_ns::params]’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:74:163:   required from here
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:126:104: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf’
  126 |                                                         _cutoff(p["lanc.BOLTZMANN_CUTOFF"]), _type("Sz") {
      |                                                                                                        ^
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:124:65: error: ‘omega’ was not declared in this scope
  124 |                                                         gf(omega(), alps::gf::index_mesh(h.model().interacting_orbitals())),
      |                                                            ~~~~~^~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:126:104: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf_ij’
  126 |                                                         _cutoff(p["lanc.BOLTZMANN_CUTOFF"]), _type("Sz") {
      |                                                                                                        ^
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h: In instantiation of ‘void EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::compute(const double*) [with Op = EDLib::gf::SzOperator<double>; Hamiltonian = EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >; MeshFactory = alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>; Args = {alps::gf::statistics::statistics_type}]’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:81:51:   required from here
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:184:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf’
  184 |         gf *= 0.0;
      |         ^~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:185:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf_ij’
  185 |         gf_ij *= 0.0;
      |         ^~~~~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:224:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf’
  224 |         gf /= _Z;
      |         ^~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:225:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf_ij’
  225 |         gf_ij /= _Z;
      |         ^~~~~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h: In instantiation of ‘void EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::compute(const double*) [with Op = EDLib::gf::NOperator<double>; Hamiltonian = EDLib::Hamiltonian<EDLib::Storage::SOCRSStorage<EDLib::Model::HubbardModel<double> > >; MeshFactory = alps::gf::matsubara_mesh<alps::gf::mesh::POSITIVE_ONLY>; Args = {alps::gf::statistics::statistics_type}]’:
/home/henhans/Git/EDLib/test/Lanczos_Test.cpp:89:50:   required from here
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:184:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf’
  184 |         gf *= 0.0;
      |         ^~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:185:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf_ij’
  185 |         gf_ij *= 0.0;
      |         ^~~~~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:224:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf’
  224 |         gf /= _Z;
      |         ^~
/home/henhans/Git/EDLib/include/edlib/ChiLoc.h:225:9: error: using invalid field ‘EDLib::gf::ChiLoc<Hamiltonian, MeshFactory, Args>::gf_ij’
  225 |         gf_ij /= _Z;
      |         ^~~~~
test/CMakeFiles/LanczosTest.dir/build.make:75: recipe for target 'test/CMakeFiles/LanczosTest.dir/Lanczos_Test.cpp.o' failed
make[2]: *** [test/CMakeFiles/LanczosTest.dir/Lanczos_Test.cpp.o] Error 1
CMakeFiles/Makefile2:547: recipe for target 'test/CMakeFiles/LanczosTest.dir/all' failed
make[1]: *** [test/CMakeFiles/LanczosTest.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
egcpvanloon commented 1 year ago

I am also getting this compilation error.

iskakoff commented 1 year ago

should be fixed with commit 2ac6e6273554ac85d6719fee0abaacc0b401680d