stdlib_linalg_blas_z 模块



函数

public pure function stdlib_zdotc(n, zx, incx, zy, incy)

ZDOTC 形成两个复数向量的点积 ZDOTC = X^H * Y

参数

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

返回值 complex(kind=dp)

public pure function stdlib_zdotu(n, zx, incx, zy, incy)

ZDOTU 形成两个复数向量的点积 ZDOTU = X^T * Y

参数

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

返回值 complex(kind=dp)


子程序

public pure subroutine stdlib_zaxpy(n, za, zx, incx, zy, incy)

ZAXPY 常数乘以向量加上向量。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(in) :: za
complex(kind=dp), intent(in) :: zx(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(inout) :: zy(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_zcopy(n, zx, incx, zy, incy)

ZCOPY 将向量 x 复制到向量 y。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(in) :: zx(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(out) :: zy(*)
integer(kind=ilp), intent(in) :: incy

public pure subroutine stdlib_zdrot(n, zx, incx, zy, incy, c, s)

应用平面旋转,其中 cos 和 sin(c 和 s)是实数,向量 cx 和 cy 是复数。jack dongarra,linpack,3/11/78。

参数

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

public pure subroutine stdlib_zdscal(n, da, zx, incx)

ZDSCAL 将向量按常数缩放。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: da
complex(kind=dp), intent(inout) :: zx(*)
integer(kind=ilp), intent(in) :: incx

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

ZGBMV 执行以下矩阵-向量运算之一:y := alphaAx + betay,或 y := alphaATx + betay,或 y := alpha*AHx + 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

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

ZGEMM 执行以下矩阵-矩阵运算之一:C := alphaop( A )op( B ) + betaC,其中 op( X ) 是 op( X ) = X 或 op( X ) = XT 或 op( X ) = X*H 之一,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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

ZGEMV 执行以下矩阵-向量运算之一:y := alphaAx + betay,或 y := alphaATx + betay,或 y := alpha*AHx + 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: y(*)
integer(kind=ilp), intent(in) :: incy

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

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

参数

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

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

ZGERU 执行秩 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: x(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(in) :: y(*)
integer(kind=ilp), intent(in) :: incy
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda

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

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

参数

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

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

ZHEMM 执行以下其中一个矩阵-矩阵运算:C := alpha*A*B + beta*C 或 C := alpha*B*A + beta*C,其中 alpha 和 beta 为标量,A 为埃尔米特矩阵,B 和 C 为 m x 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

ZHEMV 执行矩阵-向量运算 y := alpha*A*x + beta*y,其中 alpha 和 beta 为标量,x 和 y 为 n 元素向量,A 为 n x n 埃尔米特矩阵。

参数

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

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

ZHER 执行埃尔米特秩 1 运算 A := alpha*x*x**H + A,其中 alpha 为实标量,x 为 n 元素向量,A 为 n x n 埃尔米特矩阵。

参数

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

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

ZHER2 执行埃尔米特秩 2 运算 A := alpha*x*y**H + conjg( alpha )*y*x**H + A,其中 alpha 为标量,x 和 y 为 n 元素向量,A 为 n x n 埃尔米特矩阵。

参数

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

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

ZHER2K 执行以下其中一个埃尔米特秩 2k 运算:C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C 或 C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C,其中 alpha 和 beta 为标量,beta 为实数,C 为 n x n 埃尔米特矩阵,A 和 B 在第一种情况下为 n x k 矩阵,在第二种情况下为 k x 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

ZHERK 执行以下其中一个埃尔米特秩 k 运算:C := alpha*A*A**H + beta*C 或 C := alpha*A**H*A + beta*C,其中 alpha 和 beta 为实标量,C 为 n x n 埃尔米特矩阵,A 在第一种情况下为 n x k 矩阵,在第二种情况下为 k x 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=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

ZHPMV 执行矩阵-向量运算 y := alpha*A*x + beta*y,其中 alpha 和 beta 为标量,x 和 y 为 n 元素向量,A 为 n x n 埃尔米特矩阵,以打包形式提供。

参数

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

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

ZHPR 执行埃尔米特秩 1 运算 A := alpha*x*x**H + A,其中 alpha 为实标量,x 为 n 元素向量,A 为 n x n 埃尔米特矩阵,以打包形式提供。

参数

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

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

ZHPR2 执行埃尔米特秩 2 运算 A := alpha*x*y**H + conjg( alpha )*y*x**H + A,其中 alpha 为标量,x 和 y 为 n 元素向量,A 为 n x n 埃尔米特矩阵,以打包形式提供。

参数

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

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

计算使用以下公式:|x| = sqrt( Re(x)**2 + Im(x)**2 ) sgn(x) = x / |x| if x /= 0 = 1 if x = 0 c = |a| / sqrt(|a|**2 + |b|**2) s = sgn(a) * conjg(b) / sqrt(|a|**2 + |b|**2) 当 a 和 b 为实数且 r /= 0 时,公式简化为 r = sgn(a)*sqrt(|a|*2 + |b|*2) c = a / r s = b / r 与 DROTG 中相同,当 |a| > |b| 时。当 |b| >= |a| 时,如果 a 和 b 的符号不同,则 c 和 s 的符号将与 DROTG 计算出的符号不同。

参数

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

public pure subroutine stdlib_zscal(n, za, zx, incx)

ZSCAL 将向量按常数缩放。

参数

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

public pure subroutine stdlib_zswap(n, zx, incx, zy, incy)

ZSWAP 交换两个向量。

参数

类型 意图可选 属性 名称
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: zx(*)
integer(kind=ilp), intent(in) :: incx
complex(kind=dp), intent(inout) :: zy(*)
integer(kind=ilp), intent(in) :: incy

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

ZSYMM 执行以下其中一个矩阵-矩阵运算:C := alpha*A*B + beta*C 或 C := alpha*B*A + beta*C,其中 alpha 和 beta 为标量,A 为对称矩阵,B 和 C 为 m x 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

ZSYR2K 执行以下其中一个对称秩 2k 运算:C := alpha*A*B**T + alpha*B*A**T + beta*C 或 C := alpha*A**T*B + alpha*B**T*A + beta*C,其中 alpha 和 beta 为标量,C 为 n x n 对称矩阵,A 和 B 在第一种情况下为 n x k 矩阵,在第二种情况下为 k x 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
complex(kind=dp), intent(in) :: alpha
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(in) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=dp), intent(in) :: beta
complex(kind=dp), intent(inout) :: c(ldc,*)
integer(kind=ilp), intent(in) :: ldc

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

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

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
整型,ilp 类型, intent(in) :: n
整型,ilp 类型, intent(in) :: k
复数型,dp 类型, intent(in) :: alpha
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(in) :: beta
复数型,dp 类型, intent(inout) :: c(ldc,*)
整型,ilp 类型, intent(in) :: ldc

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

ZTBMV 执行以下矩阵向量运算之一:x := Ax,或 x := ATx,或 x := A*Hx,其中 x 是一个 n 元素向量,A 是一个 n×n 的单位或非单位上三角或下三角带状矩阵,具有 (k+1) 条对角线。

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
整型,ilp 类型, intent(in) :: k
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx

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

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

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
整型,ilp 类型, intent(in) :: k
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx

公共纯子程序 stdlib_ztpmv(uplo, trans, diag, n, ap, x, incx)

ZTPMV 执行以下矩阵向量运算之一:x := Ax,或 x := ATx,或 x := A*Hx,其中 x 是一个 n 元素向量,A 是一个 n×n 的单位或非单位上三角或下三角矩阵,以打包形式提供。

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: ap(*)
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx

公共纯子程序 stdlib_ztpsv(uplo, trans, diag, n, ap, x, incx)

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

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: ap(*)
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx

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

ZTRMM 执行以下矩阵矩阵运算之一:B := alphaop( A )B,或 B := alphaBop( A ),其中 alpha 是一个标量,B 是一个 m×n 矩阵,A 是一个单位或非单位上三角或下三角矩阵,op( A ) 是以下之一:op( A ) = A 或 op( A ) = AT 或 op( A ) = AH。

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: side
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: transa
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: m
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: alpha
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: b(ldb,*)
整型,ilp 类型, intent(in) :: ldb

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

ZTRMV 执行以下矩阵向量运算之一:x := Ax,或 x := ATx,或 x := A*Hx,其中 x 是一个 n 元素向量,A 是一个 n×n 的单位或非单位上三角或下三角矩阵。

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx

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

ZTRSM 求解以下矩阵方程之一:op( A )X = alphaB,或 Xop( A ) = alphaB,其中 alpha 是一个标量,X 和 B 是 m×n 矩阵,A 是一个单位或非单位上三角或下三角矩阵,op( A ) 是以下之一:op( A ) = A 或 op( A ) = AT 或 op( A ) = AH。矩阵 X 会覆盖到 B 上。

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: side
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: transa
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: m
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: alpha
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: b(ldb,*)
整型,ilp 类型, intent(in) :: ldb

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

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

参数

类型 意图可选 属性 名称
字符型,长度为 1, intent(in) :: uplo
字符型,长度为 1, intent(in) :: trans
字符型,长度为 1, intent(in) :: diag
整型,ilp 类型, intent(in) :: n
复数型,dp 类型, intent(in) :: a(lda,*)
整型,ilp 类型, intent(in) :: lda
复数型,dp 类型, intent(inout) :: x(*)
整型,ilp 类型, intent(in) :: incx