A と b のサイズが保存したさまざまな配列のサイズに依存する長方形の A 行列を使用して、Xcode で Ax = b を解決しようとしています。dgels を使用してみましたが、何らかの理由でこのエラーが発生します
** on entry to DGELS , parameter number 8 had an illegal value dgesv_ fails -8
これは作業二重マトリックス入力に対応しており、その理由がわかりません。
int numberOfPlays = (int)[playArray カウント]; int numberOfSignals = (int)[signalMappings カウント];
// now create A Matrix and b vector
double playElements[numberOfPlays][numberOfSignals];
for (int i = 0; i < numberOfPlays; i = i + 1) {
for (int j = 0; j < numberOfSignals; j = j + 1) {
playElements[i][j] = 0.0;
}
}
double outputElements[numberOfPlays][1];
for (int i = 0; i < numberOfPlays; i = i + 1) {
outputElements[i][0] = 0.0;
}
...update the elements of the matrices
// now solve the matrix
__CLPK_integer m = numberOfPlays;
__CLPK_integer n = numberOfSignals;
__CLPK_integer nrhs = 1;
__CLPK_integer info;
__CLPK_integer lda = n;
__CLPK_integer ldb = 1;
int min = n;
if (m < n) {
min = m;
}
__CLPK_integer workSize = min * 2;
double *work = (double *)malloc(workSize*sizeof(double));
dgels_("N", &m, &n, &nrhs, *playElements, &lda, *outputElements, &ldb, work, &workSize, &info);