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 9 commits
4. 17 Jul, 2017 3 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.```
• 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```
5. 07 Jul, 2017 4 commits
6. 04 Jul, 2017 1 commit
7. 03 Jul, 2017 1 commit
8. 26 Jun, 2017 1 commit
9. 13 Jun, 2017 2 commits
• assert macro not usable for PGI · 4567af7a
Pavel Kus authored
```In the current form, the assert macro is not usable, since it might
generate too long lines depending on the lenght of __FILE__ string.
This is a temporary fix to allow setting up tests on Minsky```
• added default value of kernel to legacy C test · 8928bf45
Pavel Kus authored
```the test failed, since THIS_REAL_ELPA_KERNEL_API has not been specified
as it is in other simmilar tests. This fixed the issue, but probably the
behavior of elpa_solve_evp_real_double should be changed not to check
value of THIS_REAL_ELPA_KERNEL_API for 1stage test```
10. 09 Jun, 2017 2 commits
• Prevent compiler error due to uninitialized value · 333572d9
Lorenz Huedepohl authored
```Another blocker for the SuSE build server: Even though the variable is
later not actually used by the function, a recent GCC complains about
the use of an uninitialized value for that variable.

This prevents build on the OBS, as they use compiliation flags that
detect such behaviour.

Error message there:

../test/C/driver/legacy_interface/legacy_real_driver_c_version.c:193:12: warning: 'THIS_REAL_ELPA_KERNEL_API' is used uninitialized in this function [-Wuninitialized]
success = elpa_solve_evp_real_double(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU,

[...]

I: Program is using uninitialized variables.
Note the difference between "is used" and "may be used"
W: elpa uninitialized-variable ../test/C/driver/legacy_interface/legacy_real_driver_c_version.c:193```
11. 02 Jun, 2017 1 commit
12. 01 Jun, 2017 3 commits
13. 30 May, 2017 2 commits
14. 24 May, 2017 4 commits