---
title: ?pttrf
description: "C Interface："
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0679.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0679.html
indexId: ba5e5a251c1b49643dcbdf50548db6d08808712e832248708c10c886d94bc01e68
---
# ?pttrf

#### 接口定义

C Interface：

void spttrf_(const int *N, float *D, float *E, int *INFO);

void dpttrf_(const int *N, double *D, double *E, int *INFO);

void cpttrf_(const int *N, float *D, float _Complex *E, int *INFO);

void zpttrf_(const int *N, double *D, double _Complex *E, int *INFO);

Fortran Interface：

SPTTRF(N, D, E, INFO);

DPTTRF(N, D, E, INFO);

CPTTRF(N, D, E, INFO);

ZPTTRF(N, D, E, INFO);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| N | 整数型 | 矩阵A的维数，N≥0。 | 输入 |
| D | 在spttrf/cpttrf中为单精度浮点型数组。 在dpttrf/zpttrf中为双精度浮点型数组。 | 输入时，为三对角矩阵A的对角元素，维度为N。 输出时，为分解后的对角元素D。 | 输入、输出 |
| E | 在spttrf中为单精度浮点型数组。 在dpttrf中为双精度浮点型数组。 在cpttrf中为单精度复数型数组。 在zpttrf中为双精度复数型数组。 | 输入时，为三对角矩阵A的次对角元素，维度为N\-1。 输出时，为分解后矩阵A的次对角元素。 | 输入、输出 |
| INFO | 整数型 | 等于0：成功退出。 小于0：表示第\-INFO个参数不合法。 大于0：表示第INFO阶主子式不正定。 | 输出 |


#### 依赖

#include "klapack.h"


#### 示例

C Interface：

```
const int n = 4;
double d[] = {103.608696, 103.739130, 103.347826, 100.652174};
double e[] = {0.352941, 0.000000, 0.823529};
int info = 0;
dpttrf_(&n, d, e, &info);
/* 
* Output: 
*  d: 103.608696      103.737928      103.347826      100.645612
*  e:  0.003406        0.000000        0.007969
*/
```

Fortran Interface：

```
PARAMETER (n = 4)
INTEGER :: info = 0
REAL(8) :: d(n)
REAL(8) :: e(n-1)
DATA d / 103.608696, 103.739130, 103.347826, 100.652174 /
DATA e / 0.352941,0.000000,0.823529/
EXTERNAL DPTTRF
CALL DPTTRF (n, d, e, info)
* Output:
*  d: 103.608696      103.737928      103.347826      100.645612
*  e:  0.003406        0.000000        0.007969
```
