ssyrk - perform one of the symmetric rank k operations C := alpha*A*A' + beta*C or C := alpha*A'*A + beta*C
SUBROUTINE SSYRK( UPLO, TRANSA, N, K, ALPHA, A, LDA, BETA, C, LDC) CHARACTER * 1 UPLO, TRANSA INTEGER N, K, LDA, LDC REAL ALPHA, BETA REAL A(LDA,*), C(LDC,*)
SUBROUTINE SSYRK_64( UPLO, TRANSA, N, K, ALPHA, A, LDA, BETA, C, * LDC) CHARACTER * 1 UPLO, TRANSA INTEGER*8 N, K, LDA, LDC REAL ALPHA, BETA REAL A(LDA,*), C(LDC,*)
SUBROUTINE SYRK( UPLO, [TRANSA], [N], [K], ALPHA, A, [LDA], BETA, C, * [LDC]) CHARACTER(LEN=1) :: UPLO, TRANSA INTEGER :: N, K, LDA, LDC REAL :: ALPHA, BETA REAL, DIMENSION(:,:) :: A, C
SUBROUTINE SYRK_64( UPLO, [TRANSA], [N], [K], ALPHA, A, [LDA], BETA, * C, [LDC]) CHARACTER(LEN=1) :: UPLO, TRANSA INTEGER(8) :: N, K, LDA, LDC REAL :: ALPHA, BETA REAL, DIMENSION(:,:) :: A, C
#include <sunperf.h>
void ssyrk(char uplo, char transa, int n, int k, float alpha, float *a, int lda, float beta, float *c, int ldc);
void ssyrk_64(char uplo, char transa, long n, long k, float alpha, float *a, long lda, float beta, float *c, long ldc);
ssyrk performs one of the symmetric rank k operations C := alpha*A*A' + beta*C or C := alpha*A'*A + beta*C where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.
UPLO = 'U' or 'u' Only the upper triangular part of C is to be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of C is to be referenced.
Unchanged on exit.
TRANSA = 'N' or 'n' C : = alpha*A*A' + beta*C.
TRANSA = 'T' or 't' C : = alpha*A'*A + beta*C.
TRANSA = 'C' or 'c' C : = alpha*A'*A + beta*C.
Unchanged on exit.
Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array C must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of C is not referenced. On exit, the lower triangular part of the array C is overwritten by the lower triangular part of the updated matrix.