Reference

dsfrk(3lapack)

3 BLAS like routine for C in RFP Format

NAME

DSFRK - 3 BLAS like routine for C in RFP Format

SYNOPSIS

SUBROUTINE DSFRK(

TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA,

+

C )

DOUBLE

PRECISION ALPHA, BETA

INTEGER

K, LDA, N

CHARACTER

TRANS, TRANSR, UPLO

DOUBLE

PRECISION A( LDA, * ), C( * )

PURPOSE

Level 3 BLAS like routine for C in RFP Format. DSFRK 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 real 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.

ARGUMENTS

TRANSR (input) CHARACTER

= 'N': The Normal Form of RFP A is stored;
= 'T': The Transpose Form of RFP A is stored.

UPLO - (input) CHARACTER

On entry, UPLO specifies whether the upper or lower triangular part of the array C is to be referenced as follows: 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.

TRANS - (input) CHARACTER

On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' C := alpha*A*A' + beta*C. TRANS = 'T' or 't' C := alpha*A'*A + beta*C. Unchanged on exit.

N - (input) INTEGER.

On entry, N specifies the order of the matrix C. N must be at least zero. Unchanged on exit.

K - (input) INTEGER.

On entry with TRANS = 'N' or 'n', K specifies the number of columns of the matrix A, and on entry with TRANS = 'T' or 't', K specifies the number of rows of the matrix A. K must be at least zero. Unchanged on exit.

ALPHA - (input) DOUBLE PRECISION.

On entry, ALPHA specifies the scalar alpha. Unchanged on exit.

A - (input) DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where KA

is K when TRANS = 'N' or 'n', and is N otherwise. Before entry with TRANS = 'N' or 'n', the leading N--by--K part of the array A must contain the matrix A, otherwise the leading K--by--N part of the array A must contain the matrix A. Unchanged on exit.

LDA - (input) INTEGER.

On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDA must be at least max( 1, n ), otherwise LDA must be at least max( 1, k ). Unchanged on exit.

BETA - (input) DOUBLE PRECISION.

On entry, BETA specifies the scalar beta. Unchanged on exit.

C - (input/output) DOUBLE PRECISION array, dimension ( NT );

NT = N*(N+1)/2. On entry, the symmetric matrix C in RFP Format. RFP Format is described by TRANSR, UPLO and N.

ARGUMENTS