b********r 发帖数: 1080 | 1 【 以下文字转载自 Computation 讨论区 】
发信人: bankbuster (恭喜发财), 信区: Computation
标 题: C++里用Blas/Lapack的问题
发信站: BBS 未名空间站 (Tue Aug 9 14:57:49 2011, 美东)
我用atlas,程序里简单调用zgeev函数。编译没有错,没有警告。运行也不出错,但结
果完全不对。似乎函数根本没有被调用。
另外哪里能找到在C或者C++下调用Blas/Lapack函数的具体格式?我这里函数参数还是
在网上搜的。完全没有相关的手册。难道Blas/Lapack只是给fortran用的?
程序如下
#include
#include
#include
#include
#include
using namespace std;
typedef complex dcomplex;
extern "C" void zgeev_( char* jobvl, char* jobvr, int* n, ... 阅读全帖 |
|
b********r 发帖数: 1080 | 2 我用atlas,程序里简单调用zgeev函数。编译没有错,没有警告。运行也不出错,但结
果完全不对。似乎函数根本没有被调用。
另外哪里能找到在C或者C++下调用Blas/Lapack函数的具体格式?我这里函数参数还是
在网上搜的。完全没有相关的手册。难道Blas/Lapack只是给fortran用的?
程序如下
#include
#include
#include
#include
#include
using namespace std;
typedef complex dcomplex;
extern "C" void zgeev_( char* jobvl, char* jobvr, int* n, dcomplex* a,
int* lda, dcomplex* w, dcomplex* vl, int* ldvl, dcomplex*
vr, int* ldvr, dcomplex* work, int* lwork, double* r... 阅读全帖 |
|
b********r 发帖数: 1080 | 3 我用atlas,程序里简单调用zgeev函数。编译没有错,没有警告。运行也不出错,但结
果完全不对。似乎函数根本没有被调用。
另外哪里能找到在C或者C++下调用Blas/Lapack函数的具体格式?我这里函数参数还是
在网上搜的。完全没有相关的手册。难道Blas/Lapack只是给fortran用的?
程序如下
#include
#include
#include
#include
#include
using namespace std;
typedef complex dcomplex;
extern "C" void zgeev_( char* jobvl, char* jobvr, int* n, dcomplex* a,
int* lda, dcomplex* w, dcomplex* vl, int* ldvl, dcomplex*
vr, int* ldvr, dcomplex* work, int* lwork, double* r... 阅读全帖 |
|
x*****u 发帖数: 3419 | 4 This is one I had that works:
/*
to compile :
$ gcc array_lapack.c -llapack -lblas -lm
*/
#include
#include
#define size 3 /* dimension of matrix */
struct complex {double re; double im;}; /* a complex number */
main()
{
struct complex A[3][3], b[3], WORK[6], RWORK[6];
struct complex w[3], vl[1][3], vr[1][3];
double AT[2*size*size]; /* for transformed matrix */
int i, j, ok;
char jobvl, jobvr;
int n, lda, ldvl,... 阅读全帖 |
|
x*****u 发帖数: 3419 | 5 This is one I had that works:
/*
to compile :
$ gcc array_lapack.c -llapack -lblas -lm
*/
#include
#include
#define size 3 /* dimension of matrix */
struct complex {double re; double im;}; /* a complex number */
main()
{
struct complex A[3][3], b[3], WORK[6], RWORK[6];
struct complex w[3], vl[1][3], vr[1][3];
double AT[2*size*size]; /* for transformed matrix */
int i, j, ok;
char jobvl, jobvr;
int n, lda, ldvl,... 阅读全帖 |
|