cholesky 接口

公共接口 cholesky

计算 Cholesky 分解,或. (规格)

摘要

用于计算 Cholesky 三角因子的纯子程序接口。

描述

此接口提供了用于从 real 对称或 complex 厄米特矩阵的 Cholesky 分解计算下三角或上三角矩阵的方法。支持的数据类型包括 realcomplex
如果只有一个矩阵参数存在,则分解是在原地计算的;或者,如果存在,则返回到第二个矩阵参数。lower logical 标志允许在上下分解之间进行选择;other_zeroed 可选 logical 标志允许选择是否应将三角矩阵的未用部分填充为零。

注意

该解决方案基于 LAPACK 的 *POTRF 方法。


子程序

私有纯模块子程序 stdlib_linalg_c_cholesky(a, c, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
complex(kind=sp), intent(in) :: a(:,:)

输入矩阵 a[n,n]

complex(kind=sp), intent(out) :: c(:,:)

具有 Cholesky 因子的输出矩阵 c[n,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_c_cholesky_inplace(a, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
complex(kind=sp), intent(inout), target :: a(:,:)

输入矩阵 a[m,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_d_cholesky(a, c, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
real(kind=dp), intent(in) :: a(:,:)

输入矩阵 a[n,n]

real(kind=dp), intent(out) :: c(:,:)

具有 Cholesky 因子的输出矩阵 c[n,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_d_cholesky_inplace(a, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
real(kind=dp), intent(inout), target :: a(:,:)

输入矩阵 a[m,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_s_cholesky(a, c, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
real(kind=sp), intent(in) :: a(:,:)

输入矩阵 a[n,n]

real(kind=sp), intent(out) :: c(:,:)

具有 Cholesky 因子的输出矩阵 c[n,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_s_cholesky_inplace(a, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
real(kind=sp), intent(inout), target :: a(:,:)

输入矩阵 a[m,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_z_cholesky(a, c, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
complex(kind=dp), intent(in) :: a(:,:)

输入矩阵 a[n,n]

complex(kind=dp), intent(out) :: c(:,:)

具有 Cholesky 因子的输出矩阵 c[n,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止

私有纯模块子程序 stdlib_linalg_z_cholesky_inplace(a, lower, other_zeroed, err)

参数

类型 意图可选 属性 名称
complex(kind=dp), intent(inout), target :: a(:,:)

输入矩阵 a[m,n]

logical(kind=lk), intent(in), optional :: lower

[可选] 是否需要下三角或上三角因子?默认值为 lower

logical(kind=lk), intent(in), optional :: other_zeroed

[可选] 返回矩阵的未用部分是否应清零?默认值:是

type(linalg_state_type), intent(out), optional :: err

[可选] 状态返回值。如果未请求错误,则代码将停止