---
name: "dsfrk"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/dsfrk/3lapack"
---

# 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
