Subroutine */
| 13148 | } /* ssyr2_ */ |
| 13149 | |
| 13150 | /* Subroutine */ int ssyr2k_(char *uplo, char *trans, integer *n, integer *k, |
| 13151 | real *alpha, real *a, integer *lda, real *b, integer *ldb, real *beta, |
| 13152 | real *c__, integer *ldc) |
| 13153 | { |
| 13154 | /* System generated locals */ |
| 13155 | integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, |
| 13156 | i__3; |
| 13157 | |
| 13158 | /* Local variables */ |
| 13159 | static integer i__, j, l, info; |
| 13160 | static real temp1, temp2; |
| 13161 | extern logical lsame_(char *, char *); |
| 13162 | static integer nrowa; |
| 13163 | static logical upper; |
| 13164 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 13165 | |
| 13166 | |
| 13167 | /* |
| 13168 | Purpose |
| 13169 | ======= |
| 13170 | |
| 13171 | SSYR2K performs one of the symmetric rank 2k operations |
| 13172 | |
| 13173 | C := alpha*A*B' + alpha*B*A' + beta*C, |
| 13174 | |
| 13175 | or |
| 13176 | |
| 13177 | C := alpha*A'*B + alpha*B'*A + beta*C, |
| 13178 | |
| 13179 | where alpha and beta are scalars, C is an n by n symmetric matrix |
| 13180 | and A and B are n by k matrices in the first case and k by n |
| 13181 | matrices in the second case. |
| 13182 | |
| 13183 | Arguments |
| 13184 | ========== |
| 13185 | |
| 13186 | UPLO - CHARACTER*1. |
| 13187 | On entry, UPLO specifies whether the upper or lower |
| 13188 | triangular part of the array C is to be referenced as |
| 13189 | follows: |
| 13190 | |
| 13191 | UPLO = 'U' or 'u' Only the upper triangular part of C |
| 13192 | is to be referenced. |
| 13193 | |
| 13194 | UPLO = 'L' or 'l' Only the lower triangular part of C |
| 13195 | is to be referenced. |
| 13196 | |
| 13197 | Unchanged on exit. |
| 13198 | |
| 13199 | TRANS - CHARACTER*1. |
| 13200 | On entry, TRANS specifies the operation to be performed as |
| 13201 | follows: |
| 13202 | |
| 13203 | TRANS = 'N' or 'n' C := alpha*A*B' + alpha*B*A' + |
| 13204 | beta*C. |
| 13205 | |
| 13206 | TRANS = 'T' or 't' C := alpha*A'*B + alpha*B'*A + |
| 13207 | beta*C. |