1. 18 Jul, 2017 5 commits
  2. 17 Jul, 2017 2 commits
    • Pavel Kus's avatar
      Introducing analytical test · 8a9c9df1
      Pavel Kus authored
      Introducing new test in which matrix and its eigendecomposition is
      known and thus can be easily created and checked directly, without the
      need to use scalapack or any other communication (apart from reducing
      error).
      
      The test is based on the fact, that if L_A and S_A are eigenvalues and
      eigenvectors of matrix A, respectively, and L_B and S_B eigenvalues and
      eigenvectors of B, then kron(L_A, L_B) and kron (S_A, S_B) are
      eigenvalues and eigenvectors of kron(A, B).
      Since it is easy to know exact eigendecomposition of a small matrix (e.g.
      2x2), and kron operator has very simple structure, we can construct
      arbitrarily large matrix and its eigendecomposition. We only have to
      select small matrices such that the resulting matrix has unique and
      ordered eigenvalues, so that the checking of the result is than easy.
      Each element of matrix, eigenvector matrix and eigenvalue vector can
      be quickly computed independently, just using its global coordinates.
      
      The test is currently limited to matrices of size 2^n, but by
      storing eigendecompositions of more small matrices (e.g. 3x3 and 5x5) we
      could construct any matrix of size 2^n*3^m*5^o, which would probably be
      sufficient, since most often used sizes (150, 1000, 5000, 2000, 60000)
      are of this form.
      8a9c9df1
    • Andreas Marek's avatar
      Test "eigenvalues" and "solve_tridiagonal" · dde98bdb
      Andreas Marek authored
      The routines "eigenvalues" and "solve_tridiagonal" are now
      also tested directly with the new API (and not only via the
      legacy API -> new API mapping)
      
      Todo: adapt test generator script to contain some logic
      dde98bdb
  3. 07 Jul, 2017 4 commits
  4. 04 Jul, 2017 1 commit
  5. 03 Jul, 2017 1 commit
  6. 26 Jun, 2017 1 commit
  7. 02 Jun, 2017 1 commit
  8. 01 Jun, 2017 1 commit
    • Lorenz Huedepohl's avatar
      A bit of cleanup of the test programs · 958032ef
      Lorenz Huedepohl authored
      - Remove all use of ELPA internal modules, the test programs now
        only use the public ELPA API. This is now enforced, by hiding the
        private modules
      
      - Prefix all test internal modules with "test_" to make it really
        clear that these modules are not to be used by users.
      958032ef
  9. 30 May, 2017 1 commit
    • Andreas Marek's avatar
      Rename of "solve" method to "eigenvectors" · 0bbb7437
      Andreas Marek authored
      The public "solve" method has been renamed "eigenvectors" since it
      computes the eigenvalues and (at least parts of) the eigenvectors
      
      Another routine "eigenvalues" will just compute the eigenvalues
      0bbb7437
  10. 22 May, 2017 2 commits
  11. 16 May, 2017 3 commits
  12. 28 Apr, 2017 1 commit
  13. 20 Apr, 2017 1 commit
  14. 19 Apr, 2017 1 commit
    • Andreas Marek's avatar
      Fix errors in tests for new interface · a953004b
      Andreas Marek authored
      Actually, the complex cases have not been checked so far.
      Furthermore, there has been an inconsistency between setting
      
      set("gpu",1)
      
      and *NOT* setting a GPU kernel via the set mechanism. Then, the
      default kernel (which is *NOT* GPU) has been used
      a953004b
  15. 10 Apr, 2017 1 commit
  16. 08 Apr, 2017 1 commit
  17. 07 Apr, 2017 2 commits
  18. 04 Apr, 2017 1 commit
  19. 03 Apr, 2017 2 commits
    • Lorenz Huedepohl's avatar
      Initial version of new ELPA API · f91c0b4b
      Lorenz Huedepohl authored
      This attempt at a new, more flexible API for ELPA should hopefully
      result in less ABI/API breaking changes in the future.
      
      The new API features a generic key/value system for options that can be
      extended without changing any exported symbols or function signatures,
      so that new, optional features do not influence existing usage of ELPA.
      
      We hope this makes life easier for users of ELPA - at least in the long
      run when they migrated to this newest of ABI changes :)
      
      Example usage (explicit documentation to be done in a future commit):
      
         if (elpa_init(20170403) /= ELPA_OK) then
           error stop "ELPA API version not supported"
         endif
      
         e = elpa_create(na, nev, na_rows, na_cols, nblk, mpi_comm_world, my_prow, my_pcol, success)
      
         call e%set("solver", ELPA_SOLVER_2STAGE)
         call e%set("real_kernel", ELPA_2STAGE_REAL_GENERIC)
      
         call e%solve(a, ev, z, success)
      
         call e%destroy()
      
         call elpa_uninit()
      f91c0b4b
    • Lorenz Huedepohl's avatar
      Improve crazy assert macro · 4de50074
      Lorenz Huedepohl authored
      4de50074
  20. 16 Feb, 2017 1 commit
  21. 31 Jan, 2017 1 commit
  22. 16 Jan, 2017 1 commit
  23. 11 Nov, 2016 1 commit
  24. 01 Nov, 2016 1 commit
  25. 18 Oct, 2016 1 commit
  26. 11 Oct, 2016 1 commit
  27. 09 Aug, 2016 1 commit