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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

by Guest » 17 Jan 2025, 07:07

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

Top