HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 393
Symmetric rank-1 update F_SSYR/F_DSYR/F_CSYR/F_ZSYR
INTEGER*8 INCX, LDA, N, UPLO
REAL*4 ALPHA, BETA
REAL*4 A( LDA, * ), X( * )
SUBROUTINE F_SSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)
INTEGER*8 INCX, LDA, N, UPLO
REAL*8 ALPHA, BETA
REAL*8 A( LDA, * ), X( * )
SUBROUTINE F_DSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)
INTEGER*8 INCX, LDA, N, UPLO
COMPLEX*8 ALPHA, BETA
COMPLEX*8 A( LDA, * ), X( * )
SUBROUTINE F_CSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)
INTEGER*8 INCX, LDA, N, UPLO
COMPLEX*16 ALPHA, BETA
COMPLEX*16 A( LDA, * ), X( * )
SUBROUTINE F_ZSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)
Input UPLO Specifies whether a triangular matrix is upper or lower
triangular. Use either BLAS_UPPER or BLAS_LOWER.
N Number of elements of vector x.
ALPHA The scalar ALPHA.
X REAL or COMPLEX array, dimension
(1 + (N - 1) x incx).
INCX Increment for the array x. A vector x having component
x
i
, i = 1,..., n, is stored in an array X() with increment
argument incx. If incx > 0 then x
i
is stored in
X (1 + (i - 1) x incx). If incx < 0 then x
i
is stored in
X (1 + (N - i) x |incx|). incx = 0 is an illegal value.
BETA The scalar BETA.
A REAL or COMPLEX array, dimension (LDA, N).
LDA Leading dimension of array A. lda < 1 and lda < n are
illegal values.
Output A The upper or lower triangle of the updated A matrix, as
specified by uplo, replaces the upper or lower triangle
of the input, respectively. The other triangle of A is
unchanged.
A αxx
T
βA with A=A
T
+←