Subroutine */
| 8934 | } /* dsyr2k_ */ |
| 8935 | |
| 8936 | /* Subroutine */ int dsyrk_(char *uplo, char *trans, integer *n, integer *k, |
| 8937 | doublereal *alpha, doublereal *a, integer *lda, doublereal *beta, |
| 8938 | doublereal *c__, integer *ldc) |
| 8939 | { |
| 8940 | /* System generated locals */ |
| 8941 | integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3; |
| 8942 | |
| 8943 | /* Local variables */ |
| 8944 | static integer i__, j, l, info; |
| 8945 | static doublereal temp; |
| 8946 | extern logical lsame_(char *, char *); |
| 8947 | static integer nrowa; |
| 8948 | static logical upper; |
| 8949 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 8950 | |
| 8951 | |
| 8952 | /* |
| 8953 | Purpose |
| 8954 | ======= |
| 8955 | |
| 8956 | DSYRK performs one of the symmetric rank k operations |
| 8957 | |
| 8958 | C := alpha*A*A' + beta*C, |
| 8959 | |
| 8960 | or |
| 8961 | |
| 8962 | C := alpha*A'*A + beta*C, |
| 8963 | |
| 8964 | where alpha and beta are scalars, C is an n by n symmetric matrix |
| 8965 | and A is an n by k matrix in the first case and a k by n matrix |
| 8966 | in the second case. |
| 8967 | |
| 8968 | Arguments |
| 8969 | ========== |
| 8970 | |
| 8971 | UPLO - CHARACTER*1. |
| 8972 | On entry, UPLO specifies whether the upper or lower |
| 8973 | triangular part of the array C is to be referenced as |
| 8974 | follows: |
| 8975 | |
| 8976 | UPLO = 'U' or 'u' Only the upper triangular part of C |
| 8977 | is to be referenced. |
| 8978 | |
| 8979 | UPLO = 'L' or 'l' Only the lower triangular part of C |
| 8980 | is to be referenced. |
| 8981 | |
| 8982 | Unchanged on exit. |
| 8983 | |
| 8984 | TRANS - CHARACTER*1. |
| 8985 | On entry, TRANS specifies the operation to be performed as |
| 8986 | follows: |
| 8987 | |
| 8988 | TRANS = 'N' or 'n' C := alpha*A*A' + beta*C. |
| 8989 | |
| 8990 | TRANS = 'T' or 't' C := alpha*A'*A + beta*C. |
| 8991 | |
| 8992 | TRANS = 'C' or 'c' C := alpha*A'*A + beta*C. |
| 8993 |