stdlib_linalg_blas_s 模块



函数

public pure function stdlib_sasum(n, sx, incx)

SASUM 对绝对值的总和进行求和。对增量等于 1 的循环使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sx(*)
integer(kind=ilp), intent(in) :: incx

返回值 real(kind=sp)

public pure function stdlib_scasum(n, cx, incx)

SCASUM 对复数向量的 (|Re(.)| + |Im(.)|) 进行求和,并返回单精度结果。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(in) :: cx(*)
integer(kind=ilp), intent(in) :: incx

返回值 real(kind=sp)

public pure function stdlib_scnrm2(n, x, incx)

SCNRM2 通过函数名返回向量的欧几里得范数,因此 SCNRM2 := sqrt( x*Hx )

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx

返回值 real(kind=sp)

public pure function stdlib_sdot(n, sx, incx, sy, incy)

SDOT 形成两个向量的点积。对增量等于 1 的循环使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: sy(*)
integer(kind=ilp), intent(in) :: incy

返回值 real(kind=sp)

public pure function stdlib_sdsdot(n, sb, sx, incx, sy, incy)

计算两个向量的内积,并进行扩展精度累加。返回具有点积的 S.P. 结果,点积在 D.P. 中累加 SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+IINCX)SY(LY+IINCY), where LX = 1 if INCX >= 0, else LX = 1+(1-N)INCX, and LY is defined in a similar way using INCY.

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sb
real(kind=sp), intent(in) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: sy(*)
integer(kind=ilp), intent(in) :: incy

返回值 real(kind=sp)

public pure function stdlib_snrm2(n, x, incx)

SNRM2 通过函数名返回向量的欧几里得范数,因此 SNRM2 := sqrt( x'*x ).

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx

返回值 real(kind=sp)


子例程

public pure subroutine stdlib_saxpy(n, sa, sx, incx, sy, incy)

SAXPY 常数乘以向量加上向量。对增量等于 1 的循环使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sa
real(kind=sp), intent(in) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: sy(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_scopy(n, sx, incx, sy, incy)

SCOPY 将向量 x 复制到向量 y。对增量等于 1 的循环使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(out) :: sy(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_sgbmv(trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy)

SGBMV 执行以下矩阵向量运算之一:y := alphaAx + betay, or y := alphaATx + betay, 其中 alpha 和 beta 是标量,x 和 y 是向量,A 是 m x n 带状矩阵,具有 kl 个次对角线和 ku 个超对角线。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: trans
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: kl
integer(kind=ilp), intent(in) :: ku
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

SGEMM 执行以下矩阵矩阵运算之一:C := alphaop( A )op( B ) + betaC, 其中 op( X ) 是以下之一:op( X ) = X 或 op( X ) = X*T, alpha 和 beta 是标量,A、B 和 C 是矩阵,其中 op( A ) 是 m x k 矩阵,op( B ) 是 k x n 矩阵,C 是 m x n 矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: transa
character(len=1), intent(in) :: transb
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: k
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

public pure subroutine stdlib_sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)

SGEMV 执行以下矩阵向量运算之一:y := alphaAx + betay, or y := alphaATx + betay, 其中 alpha 和 beta 是标量,x 和 y 是向量,A 是 m x n 矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: trans
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_sger(m, n, alpha, x, incx, y, incy, a, lda)

SGER 执行秩 1 运算 A := alphaxy**T + A, 其中 alpha 是标量,x 是 m 元素向量,y 是 n 元素向量,A 是 m x n 矩阵。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: y(*)
integer(kind=ilp), intent(in) :: incy
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda

public pure subroutine stdlib_srot(n, sx, incx, sy, incy, c, s)

应用平面旋转。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: sy(*)
integer(kind=ilp), intent(in) :: incy
real(kind=sp), intent(in) :: c
real(kind=sp), intent(in) :: s

public pure subroutine stdlib_srotg(a, b, c, s)

计算使用以下公式:sigma = sgn(a) if |a| > |b| = sgn(b) if |b| >= |a| r = sigmasqrt( a2 + b2 ) c = 1; s = 0 if r = 0 c = a/r; s = b/r if r != 0 子程序还计算 z = s if |a| > |b|, = 1/c if |b| >= |a| and c != 0 = 1 if c = 0 这允许根据 z 重构 c 和 s,如下所示:如果 z = 1,则设置 c = 0,s = 1。如果 |z| < 1,则设置 c = sqrt(1 - z2) 和 s = z。如果 |z| > 1,则设置 c = 1/z 和 s = sqrt( 1 - c*2).

参数

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

public pure subroutine stdlib_srotm(n, sx, incx, sy, incy, sparam)

SROTM 应用修改后的 Givens 变换,到 2×N 矩阵其中表示转置。元素在 SX(LX+IINCX), I = 0:N-1 中,其中 LX = 1 如果 INCX >= 0,否则 LX = (-INCX)N,对于 SY 使用 LY 和 INCY 同理。使用 SPARAM(1)=SFLAG,具有以下形式之一
有关 SPARAM 中数据存储的描述,请参阅 SROTMG。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: sy(*)
integer(kind=ilp), intent(in) :: incy
real(kind=sp), intent(in) :: sparam(5)

public pure subroutine stdlib_srotmg(sd1, sd2, sx1, sy1, sparam)

SROTMG 构造修改后的 Givens 变换矩阵它将 2 向量的第二个分量归零具有以下形式之一
使用 SPARAM(1)=SFLAG,

参数

类型 意图可选 属性 名称
real(kind=sp), intent(inout) :: sd1
real(kind=sp), intent(inout) :: sd2
real(kind=sp), intent(inout) :: sx1
real(kind=sp), intent(in) :: sy1
real(kind=sp), intent(out) :: sparam(5)

public pure subroutine stdlib_ssbmv(uplo, n, k, alpha, a, lda, x, incx, beta, y, incy)

SSBMV 执行矩阵向量运算 y := alphaAx + beta*y,其中 alpha 和 beta 是标量,x 和 y 是 n 元素向量,A 是 n×n 对称带状矩阵,具有 k 个超对角线。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: k
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_sscal(n, sa, sx, incx)

SSCAL 将向量按常数缩放。对于增量等于 1 使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: sa
real(kind=sp), intent(inout) :: sx(*)
integer(kind=ilp), intent(in) :: incx

public pure subroutine stdlib_sspmv(uplo, n, alpha, ap, x, incx, beta, y, incy)

SSPMV 执行矩阵向量运算 y := alphaAx + beta*y,其中 alpha 和 beta 是标量,x 和 y 是 n 元素向量,A 是 n×n 对称矩阵,以打包形式提供。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: ap(*)
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_sspr(uplo, n, alpha, x, incx, ap)

SSPR 执行对称秩 1 运算 A := alphaxx**T + A,其中 alpha 是实数标量,x 是 n 元素向量,A 是 n×n 对称矩阵,以打包形式提供。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: ap(*)

public pure subroutine stdlib_sspr2(uplo, n, alpha, x, incx, y, incy, ap)

SSPR2 执行对称秩 2 运算 A := alphaxyT + alphayxT + A,其中 alpha 是标量,x 和 y 是 n 元素向量,A 是 n×n 对称矩阵,以打包形式提供。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: y(*)
integer(kind=ilp), intent(in) :: incy
real(kind=sp), intent(inout) :: ap(*)

public pure subroutine stdlib_sswap(n, sx, incx, sy, incy)

SSWAP 交换两个向量。对于增量等于 1 使用展开循环。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: sx(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: sy(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_ssymm(side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)

SSYMM 执行以下矩阵矩阵运算之一:C := alphaAB + betaC,或 C := alphaBA + betaC,其中 alpha 和 beta 是标量,A 是对称矩阵,B 和 C 是 m×n 矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: side
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

public pure subroutine stdlib_ssymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)

SSYMV 执行矩阵向量运算 y := alphaAx + beta*y,其中 alpha 和 beta 是标量,x 和 y 是 n 元素向量,A 是 n×n 对称矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_ssyr(uplo, n, alpha, x, incx, a, lda)

SSYR 执行对称秩 1 运算 A := alphaxx**T + A,其中 alpha 是实数标量,x 是 n 元素向量,A 是 n×n 对称矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda

public pure subroutine stdlib_ssyr2(uplo, n, alpha, x, incx, y, incy, a, lda)

SSYR2 执行对称秩 2 运算 A := alphaxyT + alphayxT + A,其中 alpha 是标量,x 和 y 是 n 元素向量,A 是 n×n 对称矩阵。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
real(kind=sp), intent(in) :: y(*)
integer(kind=ilp), intent(in) :: incy
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda

public pure subroutine stdlib_ssyr2k(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

SSYR2K 执行以下对称秩 2k 运算之一:C := alphaABT + alphaBAT + betaC,或 C := alphaATB + alphaBTA + betaC,其中 alpha 和 beta 是标量,C 是 n×n 对称矩阵,A 和 B 是 n×k 矩阵(在第一种情况下)和 k×n 矩阵(在第二种情况下)。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: k
real(kind=sp), intent(in) :: alpha
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=sp), intent(in) :: beta
real(kind=sp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

public pure subroutine stdlib_ssyrk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

SSYRK 执行以下对称秩 k 运算之一:C := alphaAAT + betaC,或 C := alphaATA + betaC,其中 alpha 和 beta 是标量,C 是 n×n 对称矩阵,A 是 n×k 矩阵(在第一种情况下)和 k×n 矩阵(在第二种情况下)。

参数

类型 意图可选 属性 名称
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
整数(kind=ilp), intent(in) :: n
整数(kind=ilp), intent(in) :: k
实数(kind=sp), intent(in) :: alpha
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(in) :: beta
实数(kind=sp), intent(inout) :: c(ldc,*)
整数(kind=ilp), intent(in) :: ldc

公开纯子程序 stdlib_stbmv(uplo, trans, diag, n, k, a, lda, x, incx)

STBMV 执行矩阵向量操作之一 x := Ax, 或 x := ATx,其中 x 是一个 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角带状矩阵,带有 ( k + 1 ) 条对角线。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
整数(kind=ilp), intent(in) :: k
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx

公开纯子程序 stdlib_stbsv(uplo, trans, diag, n, k, a, lda, x, incx)

STBSV 求解方程组之一 Ax = b, 或 ATx = b,其中 b 和 x 是 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角带状矩阵,带有 ( k + 1 ) 条对角线。此例程中不包含奇异性或近似奇异性的测试。此类测试必须在调用此例程之前执行。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
整数(kind=ilp), intent(in) :: k
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx

公开纯子程序 stdlib_stpmv(uplo, trans, diag, n, ap, x, incx)

STPMV 执行矩阵向量操作之一 x := Ax, 或 x := ATx,其中 x 是一个 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角矩阵,以压缩形式提供。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: ap(*)
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx

公开纯子程序 stdlib_stpsv(uplo, trans, diag, n, ap, x, incx)

STPSV 求解方程组之一 Ax = b, 或 ATx = b,其中 b 和 x 是 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角矩阵,以压缩形式提供。此例程中不包含奇异性或近似奇异性的测试。此类测试必须在调用此例程之前执行。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: ap(*)
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx

公开纯子程序 stdlib_strmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

STRMM 执行矩阵矩阵操作之一 B := alphaop( A )B, 或 B := alphaBop( A ),其中 alpha 是一个标量,B 是一个 m x n 矩阵,A 是一个单位或非单位上或下三角矩阵,而 op( A ) 是 op( A ) = A 或 op( A ) = A**T 之一。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: side
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: transa
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: m
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: alpha
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: b(ldb,*)
整数(kind=ilp), intent(in) :: ldb

公开纯子程序 stdlib_strmv(uplo, trans, diag, n, a, lda, x, incx)

STRMV 执行矩阵向量操作之一 x := Ax, 或 x := ATx,其中 x 是一个 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角矩阵。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx

公开纯子程序 stdlib_strsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

STRSM 求解矩阵方程之一 op( A )X = alphaB, 或 Xop( A ) = alphaB,其中 alpha 是一个标量,X 和 B 是 m x n 矩阵,A 是一个单位或非单位上或下三角矩阵,而 op( A ) 是 op( A ) = A 或 op( A ) = A**T 之一。矩阵 X 被覆盖在 B 上。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: side
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: transa
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: m
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: alpha
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: b(ldb,*)
整数(kind=ilp), intent(in) :: ldb

公开纯子程序 stdlib_strsv(uplo, trans, diag, n, a, lda, x, incx)

STRSV 求解方程组之一 Ax = b, 或 ATx = b,其中 b 和 x 是 n 元素向量,而 A 是一个 n x n 单位或非单位上或下三角矩阵。此例程中不包含奇异性或近似奇异性的测试。此类测试必须在调用此例程之前执行。

参数

类型 意图可选 属性 名称
字符(len=1), intent(in) :: uplo
字符(len=1), intent(in) :: trans
字符(len=1), intent(in) :: diag
整数(kind=ilp), intent(in) :: n
实数(kind=sp), intent(in) :: a(lda,*)
整数(kind=ilp), intent(in) :: lda
实数(kind=sp), intent(inout) :: x(*)
整数(kind=ilp), intent(in) :: incx