Function

cblas_dtrmm

Scales a triangular matrix and multiplies it by a matrix.

Declaration

void cblas_dtrmm(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 double __alpha, const double *__A, const int __lda, double *__B, const int __ldb);

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

cblas_dasum

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

cblas_daxpy

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

cblas_dcopy

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

cblas_dgbmv

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

cblas_dgemm

Multiplies two matrices (double-precision).

cblas_dgemv

Multiplies a matrix by a vector (double precision).

cblas_dger

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

cblas_dnrm2

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

cblas_drot

Applies a Givens rotation matrix to a pair of vectors.

cblas_drotg

Constructs a Givens rotation matrix.

cblas_drotm

Applies a modified Givens transformation (single precision).

cblas_drotmg

Generates a modified Givens rotation matrix.

cblas_dsbmv

Scales a symmetric band matrix, then multiplies by a vector, then adds a vector (double precision).

cblas_dscal

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

cblas_dspmv

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

cblas_dspr

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

cblas_dspr2

Rank two update of a packed symmetric matrix using two vectors (single precision).

cblas_dswap

Exchanges the elements of two vectors (double precision).

cblas_dsymm

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

cblas_dsymv

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

cblas_dsyr

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

cblas_dsyr2

Rank two update of a symmetric matrix using two vectors (single precision).

cblas_dsyr2k

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

cblas_dsyrk

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

cblas_dtbmv

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

cblas_dtbsv

Solves a triangular banded system of equations.

cblas_dtpmv

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

cblas_dtpsv

Solves a packed triangular system of equations.

cblas_dtrmv

Multiplies a triangular matrix by a vector.

cblas_dtrsm

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

cblas_dtrsv

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