1CSYRK(1)                         BLAS routine                         CSYRK(1)
2
3
4

NAME

6       CSYRK  -  performs  one  of  the  symmetric  rank  k  operations   C :=
7       alpha*A*A' + beta*C,
8

SYNOPSIS

10       SUBROUTINE CSYRK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
11
12           COMPLEX                                             ALPHA,BETA
13
14           INTEGER                                             K,LDA,LDC,N
15
16           CHARACTER                                           TRANS,UPLO
17
18           COMPLEX                                             A(LDA,*),C(LDC,*)
19

PURPOSE

21       CSYRK  performs one of the symmetric rank k operations
22
23       or
24
25          C := alpha*A'*A + beta*C,
26
27       where   alpha  and beta  are scalars,  C is an  n by n symmetric matrix
28       and  A  is an  n by k  matrix in the first case and a  k by  n   matrix
29       in the second case.
30
31

ARGUMENTS

33       UPLO   - CHARACTER*1.
34              On   entry,    UPLO   specifies   whether  the  upper  or  lower
35              triangular  part  of the  array  C  is  to  be   referenced   as
36              follows:
37
38              UPLO  = 'U' or 'u'   Only the  upper triangular part of  C is to
39              be referenced.
40
41              UPLO = 'L' or 'l'   Only the  lower triangular part of  C is  to
42              be referenced.
43
44              Unchanged on exit.
45
46       TRANS  - CHARACTER*1.
47              On  entry,   TRANS   specifies  the operation to be performed as
48              follows:
49
50              TRANS = 'N' or 'n'   C := alpha*A*A' + beta*C.
51
52              TRANS = 'T' or 't'   C := alpha*A'*A + beta*C.
53
54              Unchanged on exit.
55
56       N      - INTEGER.
57              On entry,  N specifies the order of the matrix C.  N must be  at
58              least zero.  Unchanged on exit.
59
60       K      - INTEGER.
61              On  entry with  TRANS = 'N' or 'n',  K  specifies  the number of
62              columns   of  the   matrix   A,   and  on   entry   with TRANS =
63              'T'  or  't',  K  specifies  the number of rows of the matrix A.
64              K must be at least zero.  Unchanged on exit.
65
66       ALPHA  - COMPLEX         .
67              On entry, ALPHA specifies the scalar alpha.  Unchanged on exit.
68
69       A      - COMPLEX          array of DIMENSION ( LDA, ka ), where ka is
70              k  when  TRANS = 'N' or 'n',   and  is   n   otherwise.   Before
71              entry  with   TRANS  = 'N' or 'n',  the  leading  n by k part of
72              the array  A  must contain the matrix  A,  otherwise the leading
73              k  by  n   part  of  the  array   A  must contain  the matrix A.
74              Unchanged on exit.
75
76       LDA    - INTEGER.
77              On entry, LDA specifies the first dimension of A as declared  in
78              the   calling   (sub)   program.   When  TRANS = 'N' or 'n' then
79              LDA must be at least  max( 1, n ), otherwise   LDA  must  be  at
80              least  max( 1, k ).  Unchanged on exit.
81
82       BETA   - COMPLEX         .
83              On entry, BETA specifies the scalar beta.  Unchanged on exit.
84
85       C      - COMPLEX          array of DIMENSION ( LDC, n ).
86              Before  entry   with   UPLO  =  'U' or 'u',  the leading  n by n
87              upper triangular part of the array C must contain the upper tri‐
88              angular  part   of the  symmetric matrix  and the strictly lower
89              triangular part of C is not referenced.  On exit, the upper tri‐
90              angular  part of the array  C is overwritten by the upper trian‐
91              gular part of the updated matrix.  Before entry   with   UPLO  =
92              'L'  or  'l',   the leading  n by n lower triangular part of the
93              array C must contain the lower triangular part  of the   symmet‐
94              ric  matrix   and the strictly upper triangular part of C is not
95              referenced.  On exit, the lower triangular part of the array   C
96              is  overwritten  by  the  lower  triangular  part of the updated
97              matrix.
98
99       LDC    - INTEGER.
100              On entry, LDC specifies the first dimension of C as declared  in
101              the  calling  (sub)  program.   LDC  must  be  at  least max( 1,
102              n ).  Unchanged on exit.
103

FURTHER DETAILS

105       Level 3 Blas routine.
106
107       -- Written on 8-February-1989.
108          Jack Dongarra, Argonne National Laboratory.
109          Iain Duff, AERE Harwell.
110          Jeremy Du Croz, Numerical Algorithms Group Ltd.
111          Sven Hammarling, Numerical Algorithms Group Ltd.
112
113
114
115
116BLAS routine                     November 2008                        CSYRK(1)
Impressum