?ppsv
求解线性方程组
。其中A为实对称或共轭对称的
正定矩阵,以压缩方式存储;X和B为
矩阵。计算矩阵A的Cholesky分解,并通过分解结果求解线性方程组。
接口定义
C interface:
void dppsv_(const char *uplo, const int *n, const int *nrhs, double *ap, double *b, const int *ldb, int *info);
Fortran interface:
DPPSV(uplo, n, nrhs, ap, b, ldb, info)
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
uplo |
字符型 |
'U':A中保存上三角矩阵。 'L':A中保存下三角矩阵。 |
输入 |
n |
整型数 |
对称矩阵A的行数或列数。 |
输入 |
nrhs |
整型数 |
右侧项的数量,即矩阵B的列数,要求 |
输入 |
ap |
双精度浮点型数组 |
|
输入/输出 |
b |
双精度浮点型数组 |
|
输入/输出 |
ldb |
整型数 |
B的leading dimension大小,要求 |
输入 |
info |
整数型 |
执行结果:
|
输出 |
依赖
#include "klapack.h"
示例
C interface:
char uplo = 'L';
int n = 5;
int nrhs = 2;
int ldb = 5;
int info = 0;
/*
* A (stored in column-major):
* 178.535 33.2929 9.2538 11.1156 21.5482
* 33.2929 156.5955 5.1031 55.771 41.3063
* 9.2538 5.1031 100.5198 73.8396 23.04
* 11.1156 55.771 73.8396 106.5638 56.19
* 21.5482 41.3063 23.04 56.19 114.5161
*/
double ap[] = {178.535, 33.2929, 9.2538, 11.1156, 21.5482,
156.5955, 5.1031, 55.771, 41.3063,
100.5198, 73.8396, 23.04,
106.5638, 56.19,
114.5161};
double b[] = {0.374, 6.242, 5.593, 2.456, 5.222,
6.906, 2.31 , 3.948, 6.403, 5.664};
dppsv_(&uplo, &n, &nrhs, ap, b, &ldb, &info);
/*
* Output X:
* -0.0186 0.0373
* 0.0770 -0.0235
* 0.1536 -0.0208
* -0.1574 0.0726
* 0.0677 0.0195
*/
Fortran interface:
CHARACTER :: uplo = "L"
PARAMETER (n = 5)
PARAMETER (nrhs = 2)
PARAMETER (ldb = 5)
INTEGER :: info = 0
* A (stored in column-major):
* 178.535 33.2929 9.2538 11.1156 21.5482
* 33.2929 156.5955 5.1031 55.771 41.3063
* 9.2538 5.1031 100.5198 73.8396 23.04
* 11.1156 55.771 73.8396 106.5638 56.19
* 21.5482 41.3063 23.04 56.19 114.5161
REAL(8) :: ap(15)
DATA ap / 178.535, 33.2929, 9.2538, 11.1156, 21.5482,
$ 156.5955, 5.1031, 55.771, 41.3063,
$ 100.5198, 73.8396, 23.04,
$ 106.5638, 56.19,
$ 114.5161 /
REAL(8) :: b(n, nrhs)
DATA b / 0.374, 6.242, 5.593, 2.456, 5.222,
$ 6.906, 2.31 , 3.948, 6.403, 5.664 /
EXTERNAL DPPSV
CALL DPPSV(uplo, n, nrhs, ap, b, ldb, info);
* Output X:
* -0.0186 0.0373
* 0.0770 -0.0235
* 0.1536 -0.0208
* -0.1574 0.0726
* 0.0677 0.0195
父主题: 线性方程组求解

