## Calling (BLAS subroutine) DGEMM from C++

Open discussion regarding features, bugs, issues, vendors, etc.

### Calling (BLAS subroutine) DGEMM from C++

I'm trying to call the Matrix-Matrix computation subroutine DGEMM from C++ as follows:

Code: Select all
`double* dgemm( int _numRowA , int _numColA , double* _A , int _numRowB , int _numColB , double* _B , int& _numRowC , int& _numColC ){   if( _numColA != _numRowB )   {      std::cout << "number of columns of Matrix A is NOT equal to num of rows of Matrix B" << std::endl;      return NULL;   }   _numRowC = _numRowA;   _numColC = _numColB;   char trans = 'N';   double alpha = 1.0 , beta = 1.0;   double *C = new double [ _numRowC * _numColC ];   int lda = ( _numRowA >= _numColA ) ? _numRowA : _numColA;   int ldb = ( _numRowB >= _numColB ) ? _numRowB : _numColB;   int ldc = ( _numRowC >= _numColC ) ? _numRowC : _numColC;   DGEMM( &trans , &trans , &_numRowA , &_numColB , &_numColA , &alpha , _A , &lda , _B , &ldb , &beta , C , &ldc );   return C;}`

where _A and _B are the matrices I'd like to multiply. Unfortunately I'm getting gibberish results. What am I doing wrong?

Thanks.
graphicsRat

Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm

### Re: Calling (BLAS subroutine) DGEMM from C++

Problem solved. beta had to be zero.
graphicsRat

Posts: 84
Joined: Wed Mar 25, 2009 3:08 pm