Function

cblas_ssymm

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

Declaration

void cblas_ssymm(const enum CBLAS_ORDER __Order, const enum CBLAS_SIDE __Side, const enum CBLAS_UPLO __Uplo, const int __M, const int __N, const float __alpha, const float *__A, const int __lda, const float *__B, const int __ldb, const float __beta, float *__C, const int __ldc);

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

See Also

Single-Precision Float Matrix Functions

cblas_sasum

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

cblas_saxpy

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

cblas_scopy

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

cblas_sgbmv

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

cblas_sgemm

Multiplies two matrices (single-precision).

cblas_sgemv

Multiplies a matrix by a vector (single precision).

cblas_sger

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

cblas_snrm2

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

cblas_srot

Applies a Givens rotation matrix to a pair of vectors.

cblas_srotg

Constructs a Givens rotation matrix.

cblas_srotm

Applies a modified Givens transformation (single precision).

cblas_srotmg

Generates a modified Givens rotation matrix.

cblas_ssbmv

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

cblas_sscal

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

cblas_sspmv

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

cblas_sspr

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

cblas_sspr2

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

cblas_sswap

Exchanges the elements of two vectors (single precision).

cblas_ssymv

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

cblas_ssyr

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

cblas_ssyr2

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

cblas_ssyr2k

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

cblas_ssyrk

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

cblas_stbmv

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

cblas_stbsv

Solves a triangular banded system of equations.

cblas_stpmv

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

cblas_stpsv

Solves a packed triangular system of equations.

cblas_strmm

Scales a triangular matrix and multiplies it by a matrix.

cblas_strmv

Multiplies a triangular matrix by a vector.

cblas_strsm

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

cblas_strsv

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