Page 1 of 1

„Ungültiges Lesen der Größe 8“-Warnung von Valgrind beim Aufruf der zhemv blas-Funktion in C++

Posted: 17 Jan 2025, 07:07
by Guest
Ich berechne eine hermitesche (selbstadjunkte) Matrix multipliziert mit einer komplexen Vektormultiplikation mittels ZHEMV in BLAS, indem ich die Funktion über eine C++-Schnittstelle aufrufe. Das Problem, das ich sehe, besteht darin, dass Valgrind eine Warnung „Ungültiger Lesevorgang der Größe 8“ erhält, wenn die Matrixvektormultiplikation nur für UNGERADE DIMENSIONEN durchgeführt wird.
Dies ist der Code das gibt mir eine solche Warnung:

Code: Select all

#include 
#include 
#include 
#include 
#include 
#include 

typedef std::complex Complex;
typedef std::vector cvector;

extern "C"
{
int zhemv_(const char &uplo, int *n, Complex *alpha, Complex *v, int *lda, Complex *x, int *incx, Complex *beta, Complex *w, int *incy);
}

int main()
{
int Dim;
int ld = 1;
Complex unit(1,0);
Complex zero(0,0);

std::cout