F06WCF (DSFRK) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06WCF (DSFRK)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

F06WCF (DSFRK) performs one of the symmetric rank-k update operations
CαAAT + βC   or   CαATA + βC ,
where A is a real matrix, C is an n by n real symmetric matrix stored in Rectangular Full Packed (RFP) format, and α and β are real scalars. The RFP storage format is described in Section 3.3.3 in the F07 Chapter Introduction.

2  Specification

SUBROUTINE F06WCF ( TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C)
INTEGER  N, K, LDA
REAL (KIND=nag_wp)  ALPHA, A(LDA,*), BETA, C(N*(N+1)/2)
CHARACTER(1)  TRANSR, UPLO, TRANS
The routine may be called by its LAPACK name dsfrk.

3  Description

None.

4  References

None.

5  Parameters

1:     TRANSR – CHARACTER(1)Input
On entry: specifies whether the RFP representation of C is normal or transposed.
TRANSR='N'
The matrix C is stored in normal RFP format.
TRANSR='T'
The matrix C is stored in transposed RFP format.
Constraint: TRANSR='N' or 'T'.
2:     UPLO – CHARACTER(1)Input
On entry: specifies whether the upper or lower triangular part of C is stored in RFP format.
UPLO='U'
The upper triangular part of C is stored in RFP format.
UPLO='L'
The lower triangular part of C is stored in RFP format.
Constraint: UPLO='U' or 'L'.
3:     TRANS – CHARACTER(1)Input
On entry: specifies the operation to be performed.
TRANS='N'
CαAAT+βC.
TRANS='T'
CαATA+βC.
Constraint: TRANS='N' or 'T'.
4:     N – INTEGERInput
On entry: n, the order of the matrix C.
Constraint: N0.
5:     K – INTEGERInput
On entry: k, the number of columns of A if TRANS='N', or the number of rows of A if TRANS='T'.
Constraint: K0.
6:     ALPHA – REAL (KIND=nag_wp)Input
On entry: the scalar α.
7:     A(LDA,*) – REAL (KIND=nag_wp) arrayInput
Note: the second dimension of the array A must be at least max1,K if TRANS='N' and at least max1,N if TRANS='T'.
On entry: the matrix A; A is n by k if TRANS='N', or k by n if TRANS='T'.
8:     LDA – INTEGERInput
On entry: the first dimension of the array A as declared in the (sub)program from which F06WCF (DSFRK) is called.
Constraints:
  • if TRANS='N', LDA max1,N ;
  • if TRANS='T', LDA max1,K .
9:     BETA – REAL (KIND=nag_wp)Input
On entry: the scalar β.
10:   C(N×N+1/2) – REAL (KIND=nag_wp) arrayInput/Output
On entry: the upper or lower triangular part (as specified by UPLO) of the n by n symmetric matrix C, stored in RFP format, as described in Section 3.3.3 in the F07 Chapter Introduction.
On exit: the updated matrix C, that is its upper or lower triangular part stored in RFP format.

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

This example reads in the lower triangular part of a symmetric matrix C which it converts to RFP format. It also reads in α, β and a 6 by 4 matrix A and then performs the symmetric rank-4 update CαAAT+βC.

9.1  Program Text

Program Text (f06wcfe.f90)

9.2  Program Data

Program Data (f06wcfe.d)

9.3  Program Results

Program Results (f06wcfe.r)


F06WCF (DSFRK) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012