 25 Jul, 2017 7 commits


Lorenz Huedepohl authored
The new Makefile rule just dumped more and more lines into the test_x.sh script, as the ">>" operator was used always.

Lorenz Huedepohl authored

Andreas Marek authored

Andreas Marek authored

Pavel Kus authored

Pavel Kus authored
and moved the implementation to test_util.F90

Lorenz Huedepohl authored
Due to the extremely slow compilation on KNL this error now surfaced, as libelpatest.la was not ready in time, there :)

 20 Jul, 2017 3 commits


Andreas Marek authored

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).

Andreas Marek authored
This stupid bug was there since commit ae45bbb3

 19 Jul, 2017 9 commits


Andreas Marek authored

Andreas Marek authored

Andreas Marek authored
From now on call make check with TASKS=x, e.g. make check TASKS=2

Pavel Kus authored

Pavel Kus authored

Pavel Kus authored

Pavel Kus authored

Pavel Kus authored

Andreas Marek authored

 18 Jul, 2017 15 commits


Andreas Marek authored

Andreas Marek authored

Andreas Marek authored

Andreas Marek authored

Andreas Marek authored

Andreas Marek authored

Pavel Kus authored
for mpi_allreduce in test_check_correctness

Pavel Kus authored
of _GEMM and P_GEMM calls

Andreas Marek authored

Andreas Marek authored

Lorenz Huedepohl authored
The module is intended to be hidden, thus I moved it into the public part of the legacy API. Some test programs use it, thus the test programs have now also access to ELPA's private modules. This is of course anyway necessary to test ELPA internals that are not exposed via the public API.

Andreas Marek authored

Andreas Marek authored
The functions in elpa_utilities are considered "ELPA internal", i.e. the should not be accessible by the users and thus not be part of the API.

Andreas Marek authored

Andreas Marek authored

 17 Jul, 2017 6 commits


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

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.

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

Andreas Marek authored

Andreas Marek authored

Andreas Marek authored
