NAME

dsymm - perform one of the matrix-matrix operations C := alpha*A*B + beta*C or C := alpha*B*A + beta*C


SYNOPSIS

  SUBROUTINE DSYMM( SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, 
 *      LDC)
  CHARACTER * 1 SIDE, UPLO
  INTEGER M, N, LDA, LDB, LDC
  DOUBLE PRECISION ALPHA, BETA
  DOUBLE PRECISION A(LDA,*), B(LDB,*), C(LDC,*)
  SUBROUTINE DSYMM_64( SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, 
 *      C, LDC)
  CHARACTER * 1 SIDE, UPLO
  INTEGER*8 M, N, LDA, LDB, LDC
  DOUBLE PRECISION ALPHA, BETA
  DOUBLE PRECISION A(LDA,*), B(LDB,*), C(LDC,*)

F95 INTERFACE

  SUBROUTINE SYMM( SIDE, UPLO, [M], [N], ALPHA, A, [LDA], B, [LDB], 
 *       BETA, C, [LDC])
  CHARACTER(LEN=1) :: SIDE, UPLO
  INTEGER :: M, N, LDA, LDB, LDC
  REAL(8) :: ALPHA, BETA
  REAL(8), DIMENSION(:,:) :: A, B, C
  SUBROUTINE SYMM_64( SIDE, UPLO, [M], [N], ALPHA, A, [LDA], B, [LDB], 
 *       BETA, C, [LDC])
  CHARACTER(LEN=1) :: SIDE, UPLO
  INTEGER(8) :: M, N, LDA, LDB, LDC
  REAL(8) :: ALPHA, BETA
  REAL(8), DIMENSION(:,:) :: A, B, C

C INTERFACE

#include <sunperf.h>

void dsymm(char side, char uplo, int m, int n, double alpha, double *a, int lda, double *b, int ldb, double beta, double *c, int ldc);

void dsymm_64(char side, char uplo, long m, long n, double alpha, double *a, long lda, double *b, long ldb, double beta, double *c, long ldc);


PURPOSE

dsymm performs one of the matrix-matrix operations C := alpha*A*B + beta*C or C := alpha*B*A + beta*C where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.


ARGUMENTS