方阵求逆 (规范)
此接口提供用于就地求逆方阵 real 或 complex 的方法。逆矩阵定义如下.
此子程序接口提供了一种计算矩阵逆的方法。
支持的数据类型包括 real 和 complex。用户可以提供唯一的矩阵参数 a。在这种情况下,a 将被输出时的逆矩阵替换。否则,可以提供两个单独的参数:输入矩阵 a 和输出矩阵 inva。在这种情况下,a 不会被修改,逆矩阵将返回到 inva 中。可以为枢轴索引数组 pivot 提供预分配的存储空间。如果提供了所有预分配的工作空间,则使用此接口时不会发生内部内存分配。
注意
提供的子程序适用于方阵。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| complex(kind=sp), | intent(inout) | :: | a(:,:) |
输入矩阵 a[n,n] |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | a(:,:) |
输入矩阵 a[n,n] |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=sp), | intent(inout) | :: | a(:,:) |
输入矩阵 a[n,n] |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout) | :: | a(:,:) |
输入矩阵 a[n,n] |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| complex(kind=sp), | intent(in) | :: | a(:,:) |
输入矩阵 a[n,n]。 |
||
| complex(kind=sp), | intent(out) | :: | inva(:,:) |
逆矩阵 a[n,n]。 |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | a(:,:) |
输入矩阵 a[n,n]。 |
||
| real(kind=dp), | intent(out) | :: | inva(:,:) |
逆矩阵 a[n,n]。 |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=sp), | intent(in) | :: | a(:,:) |
输入矩阵 a[n,n]。 |
||
| real(kind=sp), | intent(out) | :: | inva(:,:) |
逆矩阵 a[n,n]。 |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(in) | :: | a(:,:) |
输入矩阵 a[n,n]。 |
||
| complex(kind=dp), | intent(out) | :: | inva(:,:) |
逆矩阵 a[n,n]。 |
||
| integer(kind=ilp), | intent(inout), | optional, | target | :: | pivot(:) |
[可选] 对角枢轴索引的存储数组 |
| type(linalg_state_type), | intent(out), | optional | :: | err |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |