Function

cblas_dtrmm(_:_:_:_:_:_:_:_:_:_:_:_:)

Scales a triangular matrix and multiplies it by a matrix.

Declaration

func cblas_dtrmm(_ __Order: CBLAS_ORDER, _ __Side: CBLAS_SIDE, _ __Uplo: CBLAS_UPLO, _ __TransA: CBLAS_TRANSPOSE, _ __Diag: CBLAS_DIAG, _ __M: Int32, _ __N: Int32, _ __alpha: Double, _ __A: UnsafePointer<Double>!, _ __lda: Int32, _ __B: UnsafeMutablePointer<Double>!, _ __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 Float Matrix Functions

func cblas_dasum(Int32, UnsafePointer<Double>!, Int32) -> Double

Computes the sum of the absolute values of elements in a vector (double-precision).

func cblas_daxpy(Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!, Int32)

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

func cblas_dnrm2(Int32, UnsafePointer<Double>!, Int32) -> Double

Computes the L2 norm (Euclidian length) of a vector (double precision).

func cblas_dscal(Int32, Double, UnsafeMutablePointer<Double>!, Int32)

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

func cblas_dspmv(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, UnsafePointer<Double>!, Int32, Double, UnsafeMutablePointer<Double>!, Int32)

Scales a packed symmetric matrix, then multiplies by a vector, then scales and adds another vector (double precision).

func cblas_dspr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!)

Rank one update: adds a packed symmetric matrix to the product of a scaling factor, a vector, and its transpose (double precision).

func cblas_dsyr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!, Int32)

Rank one update: adds a symmetric matrix to the product of a scaling factor, a vector, and its transpose (double precision).

func cblas_dsyrk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, Double, UnsafePointer<Double>!, Int32, Double, UnsafeMutablePointer<Double>!, Int32)

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