作者DrStein (交换关联)
看板Programming
标题[问题] C 呼叫 lapack...
时间Mon Sep 8 01:25:34 2008
※ [本文转录自 C_and_CPP 看板]
作者: DrStein (交换关联) 看板: C_and_CPP
标题: [问题] C 呼叫 lapack...
时间: Wed Aug 20 13:34:11 2008
C是以址传递,fortran是以参数传递,且C 是先行再列,
fortran是先列再行,小弟已有这观念了,但是在如下的code中
http://www.openmx-square.org/zero_fermi/zero_fermi.c
for (i=0; i<n; i++) {
for (j=0; j<n; j++) {
a[j*n+i] = A[i+1][j+1];
b[j*n+i] = B[i+1][j+1];
}
}
dsygv_( &itype, &jobz, &uplo, &n, a, &lda, b, &ldb, zp, work, &lwork, &info);
呼叫 dsygv这lapack的含数,并不是全都以址传递
然後内容如下:
http://www.netlib.org/lapack/explore-html/dsygv.f.html
看似以址传递的,是为纯input;没有以址传递的,是有(input/)output。
请问是这样的吗ꄊ
在来如这例:在lapack中 a,b 是接受一个n*n的matrix(既a[n][n]) 。 可是原本的C
就把 A[][] 转为a[N*N],是为一维阵列,而非把行列对掉。请问做法上就是C呼叫
lapack,就是要把原本的matrix转为一维阵列吗,既使lapack接收matrix也是要如
此做吗ꄊ
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.13.207
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.154.127