方阵求逆 (规范)
此接口提供用于就地求逆方阵 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 |
[可选] 状态返回标志。如果未请求错误,则代码将停止 |