Function

# cblas_dsymm

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

## 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'`.

`M`

Number of rows in matrices `A` and `C`.

`N`

Number of columns in matrices `B` and `C`.

`alpha`

Scaling factor for the product of matrices A and B.

`A`

Matrix A.

`lda`

The size of the first dimention of matrix `A`; if you are passing a matrix `A[m][n]`, the value should be `m`.

`B`

Matrix B.

`ldb`

The size of the first dimention of matrix `B`; if you are passing a matrix `B[m][n]`, the value should be `m`.

`beta`

Scaling factor for matrix C.

`C`

Matrix C.

`ldc`

The size of the first dimention of matrix `C`; if you are passing a matrix `C[m][n]`, the value should be `m`.

## Discussion

This function multiplies `A * B` or `B * A` (depending on the value of `Side`) and multiplies the resulting matrix by `alpha`. It then multiplies matrix `C` by `beta`. It stores the sum of these two products in matrix `C`.

Thus, it calculates either

`C←αAB + βC`

or

`C←αBA + βC`

where

`A = AT`

### 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_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_dtrmm`

Scales a triangular matrix and multiplies it by a matrix.

`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.