为什么英特尔MKL库的函数“ LAPACKE_spbtrf”始终返回1?

问题描述

我正在使用MKL库的函数“ LAPACKE_spbtrs”来求解对称正定带矩阵方程。第一步是根据办公室网站Link通过“ LAPACKE_spbtrf”分解矩阵。

但是当我运行“ LAPACKE_spbtrf”时,它总是返回1,这表明输入矩阵不是正定的。但是我很确定。

这是完整的代码

    /* Parameters */
#define N 5
#define NRHS 1
#define LDA N
#define LDB NRHS

/* Main program */
int main() {
    //convert a symmetric band matrix A to lower band storage mode LA
    /*A =  1 1
           1 3
    */

    float ab[4] = { 0,1,3 };
    const int n = 2;
    int kd = 1;
    int lda = kd + 1;
    int info = LAPACKE_spbtrf(LAPACK_ROW_MAJOR,'L',n,kd,ab,lda);
    std::cout << "info:" << info << std::endl;
}

我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)