svdvals 接口

公共接口 svdvals

计算 realcomplex 2d 矩阵的奇异值。 (规范)

概要

用于从 realcomplex 2d 矩阵的奇异值分解中计算奇异值数组的函数接口。

描述

此接口提供计算 2d 矩阵的奇异值的方法。支持的数据类型包括 realcomplex。该函数返回一个大小为 [min(m,n)] 的 real 奇异值数组。

注意

该解决方案基于 LAPACK 的奇异值分解 *GESDD 方法。

示例

    real(sp) :: a(2,3), s(2)
    a = reshape([3,2, 2,3, 2,-2],[2,3])

    s = svdvals(A)
    print *, 'singular values = ',s

函数

private module function stdlib_linalg_svdvals_c(a, err) result(s)

概要

计算奇异值从矩阵的奇异值分解.

描述

此函数从 realcomplex 矩阵的奇异值分解中返回奇异值数组.

参数:a 大小为 [m,n] 的输入矩阵。参数:err [可选] 状态返回标志。

返回值

参数:s 大小为 [min(m,n)] 的 real 数组,返回奇异值列表。

参数

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

输入矩阵 A[m,n]

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

[可选] 状态返回标志。如果未请求,代码将在错误时停止

返回值 real(kind=sp), allocatable, (:)

奇异值数组

private module function stdlib_linalg_svdvals_d(a, err) result(s)

概要

计算奇异值从矩阵的奇异值分解.

描述

此函数从 realcomplex 矩阵的奇异值分解中返回奇异值数组.

参数:a 大小为 [m,n] 的输入矩阵。参数:err [可选] 状态返回标志。

返回值

参数:s 大小为 [min(m,n)] 的 real 数组,返回奇异值列表。

参数

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

输入矩阵 A[m,n]

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

[可选] 状态返回标志。如果未请求,代码将在错误时停止

返回值 real(kind=dp), allocatable, (:)

奇异值数组

private module function stdlib_linalg_svdvals_s(a, err) result(s)

概要

计算奇异值从矩阵的奇异值分解.

描述

此函数从 realcomplex 矩阵的奇异值分解中返回奇异值数组.

参数:a 大小为 [m,n] 的输入矩阵。参数:err [可选] 状态返回标志。

返回值

参数:s 大小为 [min(m,n)] 的 real 数组,返回奇异值列表。

参数

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

输入矩阵 A[m,n]

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

[可选] 状态返回标志。如果未请求,代码将在错误时停止

返回值 real(kind=sp), allocatable, (:)

奇异值数组

private module function stdlib_linalg_svdvals_z(a, err) result(s)

概要

计算奇异值从矩阵的奇异值分解.

描述

此函数从 realcomplex 矩阵的奇异值分解中返回奇异值数组.

参数:a 大小为 [m,n] 的输入矩阵。参数:err [可选] 状态返回标志。

返回值

参数:s 大小为 [min(m,n)] 的 real 数组,返回奇异值列表。

参数

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

输入矩阵 A[m,n]

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

[可选] 状态返回标志。如果未请求,代码将在错误时停止

返回值 real(kind=dp), allocatable, (:)

奇异值数组