I see strange behavior of function LAPACKE_dsyev in ubuntu 20.04 (different from what it had in previous versions). I am using the following example program from Intel:
With the options that appear there, the program should provide all the eigenvectors:
Eigenvectors (stored columnwise)
-0.30 -0.61 0.40 -0.37 0.49
-0.51 -0.29 -0.41 -0.36 -0.61
-0.08 -0.38 -0.66 0.50 0.40
0.00 -0.45 0.46 0.62 -0.46
-0.80 0.45 0.17 0.31 0.16
Hovewer. it only gives correct values in the lower matrix of the eigenvectors
Eigenvectors (stored columnwise)
-0.30 BAD BAD BAD BAD
-0.51 -0.29 BAD BAD BAD
-0.08 -0.38 -0.66 BAD BAD
0.00 -0.45 0.46 0.62 BAD
-0.80 0.45 0.17 0.31 0.16
It seems strange that the function only gives you part of the components of an eigenvector (half vector is useless). In the previous versions of the function it gave you all the components.
$ gcc intel_example.c -lm -lopenblas -llapacke
$ dpkg -l | grep openblas
ii libopenblas-serial-dev:amd64 0.3.8+ds-1ubuntu0.20.04.1 amd64 Optimized BLAS (linear algebra) library (dev, serial)
ii libopenblas0-serial:amd64 0.3.8+ds-1ubuntu0.20.04.1 amd64 Optimized BLAS (linear algebra) library (shared lib, serial)