dgesvd似乎是一个带有布局LAPACK_COL_MAJOR的LAPACKE_dgesvd,但是看看dgesvd和LAPACKE_dgesvd的示例,似乎在dgesvd示例中有一个额外的步骤,其中查询和分配了一个最佳工作区。
COL_MAJOR还是ROW_MAJOR,是否正确?LAPACKE_dgesvd,这种假设正确吗?COL_MAJOR的矩阵布局比dgesvd更好地使用LAPACKE_dgesvd (更快/更便宜)发布于 2017-06-06 06:59:04
这里有两个函数,它们引用两个不同的接口:
i. dgesvd : calls fortran interface
ii. LAPACKE_dgesvd : calls C interface关于细节看看这个。
dgesvd时注意到的,lwork的值被设置为-1,如这里所记载的用于计算lwork的大小。因此,如果您已经知道lwork的大小,则不需要调用它两次。对于LAPACK_COL_MAJOR,输入矩阵必须是dgesvd,因为这是fortran的默认设置。此外,也无法计算矩阵是行大写还是列大写。dgesvd是首先实现的fortran接口。https://stackoverflow.com/questions/44374962
复制相似问题