gpt4 book ai didi

c - MKL : calling ? GBTRF

转载 作者:行者123 更新时间:2023-11-30 15:54:02 26 4
gpt4 key购买 nike

我必须使用 MKL 来求解线性方程组。该方程组用于求解二维泊松问题,因此正好有 5 条对角线不同于 0。方程组 Ax=b 的矩阵 A 是方阵,大小为 n*n。我检查了英特尔的文档,对调用顺序有点困惑。原型(prototype)为:

lapack_int LAPACKE_dgbtrf( int matrix_order, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, <datatype>* ab, lapack_int ldab, lapack_int* ipiv );

1) 矩阵顺序。据我所知,矩阵的阶数是行数和列数之间的最大值。库不应该从第二个和第三个参数中找出答案吗?

2)m 和 n。这些是指原始矩阵 A 还是带存储中的表示?

3)带存储。考虑到问题的结构,我在主对角线上方有 d 对角线,在主对角线下方有 d 对角线,因此,包括因式分解的额外行,带存储的内存区域应该有 (n*n)*(3*d+ 1)要素。元素是按列排列的。我说得对吗?

4)领先维度。这应该是 (3*d+1)

感谢任何帮助

最佳答案

1) 根据 MKL 文档 ( http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-C124D9D6-BCF5-471E-B750-0CF9CD1ACB02.htm ),顺序说明矩阵是行主还是列主(LAPACK_ROW_MAJOR 或 LAPACK_COL_MAJOR)。

2)正确,它们是原始矩阵中的“m”和“n”。

3) 大小为 n * (3 * d + 1),它们的布局取决于 1)。

4) 如果矩阵是行主矩阵,则更正。

关于c - MKL : calling ? GBTRF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com