Function

cblas_ztrmm(_:_:_:_:_:_:_:_:_:_:_:_:)

Scales a triangular matrix and multiplies it by a matrix.

Declaration

func cblas_ztrmm(_ __Order: CBLAS_ORDER, _ __Side: CBLAS_SIDE, _ __Uplo: CBLAS_UPLO, _ __TransA: CBLAS_TRANSPOSE, _ __Diag: CBLAS_DIAG, _ __M: Int32, _ __N: Int32, _ __alpha: UnsafeRawPointer!, _ __A: UnsafeRawPointer!, _ __lda: Int32, _ __B: UnsafeMutableRawPointer!, _ __ldb: Int32)

Parameters

Order

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

Side

Determines the order in which the matrices 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

Number of rows in matrix B.

N

Number of columns in matrix B.

alpha

Scaling factor for matrix A.

A

Matrix A.

lda

Leading dimension of matrix A.

B

Matrix B. Overwritten by results on return.

ldb

Leading dimension of matrix B.

Discussion

If Side is 'L', multiplies alpha*A*B or alpha*A'*B, depending on TransA.

If Side is 'R', multiplies alpha*B*A or alpha*B*A', depending on TransA.

In either case, the results are stored in matrix B.

See Also

Double-Precision Complex Matrix Functions

func cblas_dzasum(Int32, UnsafeRawPointer!, Int32) -> Double

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

func cblas_dznrm2(Int32, UnsafeRawPointer!, Int32) -> Double

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

func cblas_zaxpy(Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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

func cblas_zcopy(Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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

func cblas_zdscal(Int32, Double, UnsafeMutableRawPointer!, Int32)

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

func cblas_zgerc(CBLAS_ORDER, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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

func cblas_zher(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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

func cblas_zher2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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.

func cblas_zherk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, Double, UnsafeRawPointer!, Int32, Double, UnsafeMutableRawPointer!, Int32)

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

func cblas_zhpr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!)

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

func cblas_zhpr2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!)

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

func cblas_zscal(Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)

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

func cblas_zswap(Int32, UnsafeMutableRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)

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

func cblas_zsyrk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)

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

func cblas_ztpmv(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)

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