lapack广义特征值
根据最新的权威资料,以下是 LAPACK 中用于求解广义特征值问题的全部子程序(按数据类型和矩阵结构分类):
✅ 一、标准广义特征值问题:A·x = λ·B·x
| 矩阵类型 |
单精度实数 |
双精度实数 |
单精度复数 |
双精度复数 |
功能描述 |
| 一般矩阵 |
SGGEV |
DGGEV |
CGGEV |
ZGGEV |
求解广义特征值和左右特征向量 |
| 带平衡处理 |
SGGEVX |
DGGEVX |
CGGEVX |
ZGGEVX |
带平衡、条件数估计的广义特征值求解 |
✅ 二、对称/厄米特广义特征值问题:A·x = λ·B·x(A、B对称或厄米特)
| 矩阵类型 |
单精度实数 |
双精度实数 |
单精度复数 |
双精度复数 |
功能描述 |
| 简单驱动 |
SSYGV |
DSYGV |
CHEGV |
ZHEGV |
所有特征值和特征向量 |
| 分治算法 |
SSYGVD |
DSYGVD |
CHEGVD |
ZHEGVD |
更快,需更多工作空间 |
| 专家驱动 |
SSYGVX |
DSYGVX |
CHEGVX |
ZHEGVX |
可选子集,条件数估计 |
| RRR算法 |
— |
— |
— |
— |
广义对称问题无RRR驱动 |
✅ 三、广义对称定问题(A·x = λ·B·x,B正定)
| 矩阵类型 |
单精度实数 |
双精度实数 |
单精度复数 |
双精度复数 |
功能描述 |
| 简单驱动 |
SSPGV |
DSPGV |
CHPGV |
ZHPGV |
压缩存储的对称广义特征值问题 |
| 分治算法 |
SSPGVD |
DSPGVD |
CHPGVD |
ZHPGVD |
使用分治法 |
| 专家驱动 |
SSPGVX |
DSPGVX |
CHPGVX |
ZHPGVX |
可选子集,条件数估计 |
✅ 四、带状对称广义特征值问题
| 矩阵类型 |
单精度实数 |
双精度实数 |
单精度复数 |
双精度复数 |
功能描述 |
| 简单驱动 |
SSBGV |
DSBGV |
CHBGV |
ZHBGV |
带状对称广义特征值问题 |
| 分治算法 |
SSBGVD |
DSBGVD |
CHBGVD |
ZHBGVD |
带状对称问题的分治算法 |
| 专家驱动 |
SSBGVX |
DSBGVX |
CHBGVX |
ZHBGVX |
带状问题的专家驱动版本 |
✅ 五、三对角对称广义特征值问题
| 矩阵类型 |
单精度实数 |
双精度实数 |
单精度复数 |
双精度复数 |
功能描述 |
| 简单驱动 |
SSTGV |
DSTGV |
— |
— |
三对角对称广义特征值问题(较少使用) |
✅ 总结:LAPACK广义特征值子程序一览
| 问题类型 |
子程序前缀 |
示例函数名 |
| 一般广义特征值问题 |
xGGEV |
DGGEV, ZGGEV |
| 一般广义特征值问题(带平衡) |
xGGEVX |
DGGEVX, ZGGEVX |
| 对称广义特征值问题 |
xSYGV |
DSYGV, ZHEGV |
| 对称广义特征值问题(分治) |
xSYGVD |
DSYGVD, ZHEGVD |
| 对称广义特征值问题(专家) |
xSYGVX |
DSYGVX, ZHEGVX |
| 压缩存储对称问题 |
xSPGV |
DSPGV, ZHPGV |
| 带状对称问题 |
xSBGV |
DSBGV, ZHBGV |
如需调用这些子程序,请根据矩阵的数据类型和结构选择合适的函数名,并参考 LAPACK 官方文档中的参数说明。