使用示例2)求解矩阵的特征值和特征向量Av= v,函数原型如下,
lapack_int LAPACKE_dgeev(
int
matrix_order,
char
jobvl,
char
jobvr,
lapack_int n, double * a, lapack_int lda, double * wr,
double * wi, double * vl, lapack_int ldvl, double * vr,
lapack_int ldvr );
/*
params:
matrix_order LAPACK_COL_MAJOR or LAPACK_ROW_MAJOR
jobvl N,表示不求左特征向量, V,表示要求
jobvr 同jobvl,是对右特征向量的选项
n matrix的列数
a matrix
lda a矩阵的行数,lda>=max of(1,n)
wr 返回的特征值的实部
wi 返回的特征值的虚部
vl 左特征向量的存储空间
ldvl 左特征向量的行数
vr 右特征向量的存储空间
ldvr 右特征向量的行数
return:
info = 0, SUCCESS,
-i, 第i个参数错误
+i, 表示执行错误
*/
lapack_int n, double * a, lapack_int lda, double * wr,
double * wi, double * vl, lapack_int ldvl, double * vr,
lapack_int ldvr );
/*
params:
matrix_order LAPACK_COL_MAJOR or LAPACK_ROW_MAJOR
jobvl N,表示不求左特征向量, V,表示要求
jobvr 同jobvl,是对右特征向量的选项
n matrix的列数
a matrix
lda a矩阵的行数,lda>=max of(1,n)
wr 返回的特征值的实部
wi 返回的特征值的虚部
vl 左特征向量的存储空间
ldvl 左特征向量的行数
vr 右特征向量的存储空间
ldvr 右特征向量的行数
return:
info = 0, SUCCESS,
-i, 第i个参数错误
+i, 表示执行错误
*/
测试代码如下,
#include
<
stdio.h
>
// lapacke headers
#include " lapacke.h "
#include " lapacke_config.h "
#include " lapacke_utils.h "
extern lapack_int LAPACKE_dgeev( int matrix_order, char jobvl, char jobvr,
lapack_int n, double<
// lapacke headers
#include " lapacke.h "
#include " lapacke_config.h "
#include " lapacke_utils.h "
extern lapack_int LAPACKE_dgeev( int matrix_order, char jobvl, char jobvr,
lapack_int n, double<