Function

cblas_ztrsm

Solves a triangular system of equations with multiple values for the right side.

Declaration

void cblas_ztrsm(const enum CBLAS_ORDER __Order, const enum CBLAS_SIDE __Side, const enum CBLAS_UPLO __Uplo, const enum CBLAS_TRANSPOSE __TransA, const enum CBLAS_DIAG __Diag, const int __M, const int __N, const void *__alpha, const void *__A, const int __lda, void *__B, const int __ldb);

Parameters

Order

Specifies row-major (C) or column-major (Fortran) data ordering.

Side

Determines the order in which the matrix and vector should be multiplied.

Uplo

Specifies whether to use the upper or lower triangle from the matrix. Valid values are 'U' or 'L'.

TransA

Specifies whether to use matrix A ('N' or 'n') or the transpose of A ('T', 't', 'C', or 'c').

Diag

Specifies whether the matrix is unit triangular. Possible values are 'U' (unit triangular) or 'N' (not unit triangular).

M

The number of rows in matrix B.

N

The number of columns in matrix B.

alpha

Scaling factor for matrix A.

A

Triangular matrix A.

lda

The leading dimension of matrix A.

B

On entry, matrix B. Overwritten on return by matrix X.

ldb

The leading dimension of matrix B.

Discussion

If Side is 'L', solves A*X=alpha*B or A'*X=alpha*B, depending on TransA.

If Side is 'R', solves X*A=alpha*B or X*A'=alpha*B, depending on TransA.

In either case, the results overwrite the values of matrix B in X.

See Also

Double-Precision Complex Matrix Functions

cblas_dzasum

Computes the sum of the absolute values of real and imaginary parts of elements in a vector (single-precision complex).

cblas_dznrm2

Computes the unitary norm of a vector (double-precision complex).

cblas_zaxpy

Computes a constant times a vector plus a vector (double-precision complex).

cblas_zcopy

Copies a vector to another vector (double-precision complex).

cblas_zdrot

Applies a Givens rotation matrix to a pair of complex vectors.

cblas_zdscal

Multiplies each element of a vector by a constant (double-precision complex).

cblas_zgbmv

Scales a general band matrix, then multiplies by a vector, then adds a vector (double-precision complex).

cblas_zgemm

Multiplies two matrices (double-precision complex).

cblas_zgemv

Multiplies a matrix by a vector (double-precision complex).

cblas_zgerc

Multiplies vector X by the conjugate transpose of vector Y, then adds matrix A (double-precision complex).

cblas_zgeru

Multiplies vector X by the transpose of vector Y, then adds matrix A (double-precision complex).

cblas_zhbmv

Scales a Hermitian band matrix, then multiplies by a vector, then adds a vector (double-precision complex).

cblas_zhemm

Multiplies two Hermitian matrices (double-precision complex).

cblas_zhemv

Scales and multiplies a Hermitian matrix by a vector, then adds a second (scaled) vector.

cblas_zher

Adds the product of a scaling factor, vector X, and the conjugate transpose of X to matrix A.

cblas_zher2

Hermitian rank 2 update: adds the product of a scaling factor, vector X, and the conjugate transpose of vector Y to the product of the conjugate of the scaling factor, vector Y, and the conjugate transpose of vector X, and adds the result to matrix A.

cblas_zher2k

Performs a rank-2k update of a complex Hermitian matrix (double-precision complex).

cblas_zherk

Rank-k update—multiplies a Hermitian matrix by its transpose and adds a second matrix (single precision).

cblas_zhpmv

Scales a packed hermitian matrix, multiplies it by a vector, and adds a scaled vector.

cblas_zhpr

Scales and multiplies a vector times its conjugate transpose, then adds a matrix.

cblas_zhpr2

Multiplies a vector times the conjugate transpose of a second vector and vice-versa, sums the results, and adds a matrix.

cblas_zrotg

Constructs a complex Givens rotation.

cblas_zscal

Multiplies each element of a vector by a constant (double-precision complex).

cblas_zswap

Exchanges the elements of two vectors (double-precision complex).

cblas_zsymm

Multiplies a matrix by a symmetric matrix (double-precision complex).

cblas_zsyr2k

Performs a rank-2k update of a symmetric matrix (double-precision complex).

cblas_zsyrk

Rank-k update—multiplies a symmetric matrix by its transpose and adds a second matrix (double-precision complex).

cblas_ztbmv

Scales a triangular band matrix, then multiplies by a vector (double-precision complex).

cblas_ztbsv

Solves a triangular banded system of equations.

cblas_ztpmv

Multiplies a triangular matrix by a vector, then adds a vector (double-precision compex).

cblas_ztpsv

Solves a packed triangular system of equations.

cblas_ztrmm

Scales a triangular matrix and multiplies it by a matrix.

cblas_ztrmv

Multiplies a triangular matrix by a vector.

cblas_ztrsv

Solves a triangular system of equations with a single value for the right side.