Function

cblas_csymm

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

Declaration

void cblas_csymm(const enum CBLAS_ORDER __Order, const enum CBLAS_SIDE __Side, const enum CBLAS_UPLO __Uplo, const int __M, const int __N, const void *__alpha, const void *__A, const int __lda, const void *__B, const int __ldb, const void *__beta, void *__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 Complex Matrix Functions

cblas_caxpy

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

cblas_ccopy

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

cblas_cgbmv

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

cblas_cgemm

Multiplies two matrices (single-precision complex).

cblas_cgemv

Multiplies a matrix by a vector (single-precision complex).

cblas_cgerc

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

cblas_cgeru

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

cblas_chbmv

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

cblas_chemm

Multiplies two Hermitian matrices (single-precision complex), then adds a third (with scaling).

cblas_chemv

Scales and multiplies a Hermitian matrix by a vector, then adds a second (scaled) vector.

cblas_cher

Hermitian rank 1 update: adds the product of a scaling factor, vector X, and the conjugate transpose of X to matrix A.

cblas_cher2

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.

cblas_cher2k

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

cblas_cherk

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

cblas_chpmv

Scales a packed hermitian matrix, multiplies it by a vector, and adds a scaled vector.

cblas_chpr

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

cblas_chpr2

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

cblas_crotg

Constructs a complex Givens rotation.

cblas_cscal

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

cblas_csrot

Applies a Givens rotation matrix to a pair of complex vectors.

cblas_csscal

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

cblas_cswap

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

cblas_csyr2k

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

cblas_csyrk

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

cblas_ctbmv

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

cblas_ctbsv

Solves a triangular banded system of equations.

cblas_ctpmv

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

cblas_ctpsv

Solves a packed triangular system of equations.

cblas_ctrmm

Scales a triangular matrix and multiplies it by a matrix.

cblas_ctrmv

Multiplies a triangular matrix by a vector.

cblas_ctrsm

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

cblas_ctrsv

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

cblas_scasum

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

cblas_scnrm2

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