1. 20 Jul, 2017 2 commits
• Fix error in analytic tests · 1e00f16a
Andreas Marek authored
• extending check_correctness · dbef90e4
Pavel Kus authored
Previously we checked ortonormality of eigenvectors by comparing
the matrix S^T * S to identity matrix. The new feature is also
checking just the diagonal of the matrix S^T * S. By that we get
the information, how far are the eigenvectors from having length 1.
If it turns out to be important, we could try to normalize them
at the end of elpa, which is simple (in contrast with enforcing
better orthogonality).
2. 19 Jul, 2017 5 commits
3. 18 Jul, 2017 8 commits
4. 17 Jul, 2017 2 commits
• increasing error tolerance · 76a9a0a6
Pavel Kus authored
Should be done in a more systematic way. In this case, in certain
configuration 1stage_analytic test pased, while 2stage_analytic tests
failed due to error larger then tolerance
• 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.
5. 03 Jul, 2017 1 commit
6. 01 Jun, 2017 1 commit
• 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.
7. 22 May, 2017 2 commits
8. 20 May, 2017 1 commit
9. 19 May, 2017 1 commit
10. 18 May, 2017 1 commit
11. 16 May, 2017 2 commits
• Adapt legacy interface to new API · ac061bca
Lorenz Huedepohl authored
The legacy API is has been (internally) ported to use the new interface.
The intent is that users of the legacy API do not have to change their
codes.

Next step is to completely adapt the .gitlab-ci.yml file
• Working version of ELPA with new API · 3e42d4be
Lorenz Huedepohl authored
Still missing is the compatibility layer, currently it only compiles
when configure is called with

--disable-legacy

Also, a more general solution to parameter passing via environment
variables would be nice.
12. 28 Apr, 2017 2 commits
• some more stop -> stop 1 changes · 3a902221
Pavel Kus authored
There are also at least those files, where stops without 1 are present

src/elpa1/legacy_interface/elpa_cholesky_template_legacy.X90:
src/elpa1/legacy_interface/elpa_invert_trm_legacy.X90:
src/elpa1/legacy_interface/elpa_multiply_a_b_legacy.X90:
src/elpa1/legacy_interface/elpa_solve_tridi_legacy.X90:

should they be also changed?
• error stop "..." removed · b88d8788
Pavel Kus authored
13. 22 Apr, 2017 1 commit
14. 18 Apr, 2017 1 commit
15. 07 Apr, 2017 3 commits
16. 04 Apr, 2017 1 commit
17. 22 Mar, 2017 1 commit
18. 17 Mar, 2017 1 commit
19. 16 Mar, 2017 3 commits
20. 18 Jan, 2017 1 commit