![]() |
LAPACK
3.4.2
LAPACK: Linear Algebra PACKage
|
Functions/Subroutines | |
| subroutine | dgbmv (TRANS, M, N, KL, KU, ALPHA, A, LDA, X, INCX, BETA, Y, INCY) |
| DGBMV | |
| subroutine | dgemv (TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY) |
| DGEMV | |
| subroutine | dger (M, N, ALPHA, X, INCX, Y, INCY, A, LDA) |
| DGER | |
| subroutine | dsbmv (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY) |
| DSBMV | |
| subroutine | dspmv (UPLO, N, ALPHA, AP, X, INCX, BETA, Y, INCY) |
| DSPMV | |
| subroutine | dspr (UPLO, N, ALPHA, X, INCX, AP) |
| DSPR | |
| subroutine | dspr2 (UPLO, N, ALPHA, X, INCX, Y, INCY, AP) |
| DSPR2 | |
| subroutine | dsymv (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY) |
| DSYMV | |
| subroutine | dsyr (UPLO, N, ALPHA, X, INCX, A, LDA) |
| DSYR | |
| subroutine | dsyr2 (UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA) |
| DSYR2 | |
| subroutine | dtbmv (UPLO, TRANS, DIAG, N, K, A, LDA, X, INCX) |
| DTBMV | |
| subroutine | dtbsv (UPLO, TRANS, DIAG, N, K, A, LDA, X, INCX) |
| DTBSV | |
| subroutine | dtpmv (UPLO, TRANS, DIAG, N, AP, X, INCX) |
| DTPMV | |
| subroutine | dtpsv (UPLO, TRANS, DIAG, N, AP, X, INCX) |
| DTPSV | |
| subroutine | dtrmv (UPLO, TRANS, DIAG, N, A, LDA, X, INCX) |
| DTRMV | |
This is the group of double LEVEL 2 BLAS routines.
| subroutine dgbmv | ( | character | TRANS, |
| integer | M, | ||
| integer | N, | ||
| integer | KL, | ||
| integer | KU, | ||
| double precision | ALPHA, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision | BETA, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY | ||
| ) |
DGBMV
DGBMV performs one of the matrix-vector operations
y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y,
where alpha and beta are scalars, x and y are vectors and A is an
m by n band matrix, with kl sub-diagonals and ku super-diagonals. | [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' y := alpha*A*x + beta*y.
TRANS = 'T' or 't' y := alpha*A**T*x + beta*y.
TRANS = 'C' or 'c' y := alpha*A**T*x + beta*y. |
| [in] | M | M is INTEGER
On entry, M specifies the number of rows of the matrix A.
M must be at least zero. |
| [in] | N | N is INTEGER
On entry, N specifies the number of columns of the matrix A.
N must be at least zero. |
| [in] | KL | KL is INTEGER
On entry, KL specifies the number of sub-diagonals of the
matrix A. KL must satisfy 0 .le. KL. |
| [in] | KU | KU is INTEGER
On entry, KU specifies the number of super-diagonals of the
matrix A. KU must satisfy 0 .le. KU. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry, the leading ( kl + ku + 1 ) by n part of the
array A must contain the matrix of coefficients, supplied
column by column, with the leading diagonal of the matrix in
row ( ku + 1 ) of the array, the first super-diagonal
starting at position 2 in row ku, the first sub-diagonal
starting at position 1 in row ( ku + 2 ), and so on.
Elements in the array A that do not correspond to elements
in the band matrix (such as the top left ku by ku triangle)
are not referenced.
The following program segment will transfer a band matrix
from conventional full matrix storage to band storage:
DO 20, J = 1, N
K = KU + 1 - J
DO 10, I = MAX( 1, J - KU ), MIN( M, J + KL )
A( K + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
( kl + ku + 1 ). |
| [in] | X | X is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n'
and at least
( 1 + ( m - 1 )*abs( INCX ) ) otherwise.
Before entry, the incremented array X must contain the
vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | BETA | BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta. When BETA is
supplied as zero then Y need not be set on input. |
| [in,out] | Y | Y is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n'
and at least
( 1 + ( n - 1 )*abs( INCY ) ) otherwise.
Before entry, the incremented array Y must contain the
vector y. On exit, Y is overwritten by the updated vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 186 of file dgbmv.f.
| subroutine dgemv | ( | character | TRANS, |
| integer | M, | ||
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision | BETA, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY | ||
| ) |
DGEMV
DGEMV performs one of the matrix-vector operations
y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y,
where alpha and beta are scalars, x and y are vectors and A is an
m by n matrix. | [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' y := alpha*A*x + beta*y.
TRANS = 'T' or 't' y := alpha*A**T*x + beta*y.
TRANS = 'C' or 'c' y := alpha*A**T*x + beta*y. |
| [in] | M | M is INTEGER
On entry, M specifies the number of rows of the matrix A.
M must be at least zero. |
| [in] | N | N is INTEGER
On entry, N specifies the number of columns of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry, the leading m by n part of the array A must
contain the matrix of coefficients. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, m ). |
| [in] | X | X is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n'
and at least
( 1 + ( m - 1 )*abs( INCX ) ) otherwise.
Before entry, the incremented array X must contain the
vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | BETA | BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta. When BETA is
supplied as zero then Y need not be set on input. |
| [in,out] | Y | Y is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n'
and at least
( 1 + ( n - 1 )*abs( INCY ) ) otherwise.
Before entry with BETA non-zero, the incremented array Y
must contain the vector y. On exit, Y is overwritten by the
updated vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 157 of file dgemv.f.
| subroutine dger | ( | integer | M, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA | ||
| ) |
DGER
DGER performs the rank 1 operation
A := alpha*x*y**T + A,
where alpha is a scalar, x is an m element vector, y is an n element
vector and A is an m by n matrix. | [in] | M | M is INTEGER
On entry, M specifies the number of rows of the matrix A.
M must be at least zero. |
| [in] | N | N is INTEGER
On entry, N specifies the number of columns of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( m - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the m
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | Y | Y is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the n
element vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
| [in,out] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry, the leading m by n part of the array A must
contain the matrix of coefficients. On exit, A is
overwritten by the updated matrix. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, m ). |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 131 of file dger.f.
| subroutine dsbmv | ( | character | UPLO, |
| integer | N, | ||
| integer | K, | ||
| double precision | ALPHA, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision | BETA, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY | ||
| ) |
DSBMV
DSBMV performs the matrix-vector operation
y := alpha*A*x + beta*y,
where alpha and beta are scalars, x and y are n element vectors and
A is an n by n symmetric band matrix, with k super-diagonals. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the band matrix A is being supplied as
follows:
UPLO = 'U' or 'u' The upper triangular part of A is
being supplied.
UPLO = 'L' or 'l' The lower triangular part of A is
being supplied. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | K | K is INTEGER
On entry, K specifies the number of super-diagonals of the
matrix A. K must satisfy 0 .le. K. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading ( k + 1 )
by n part of the array A must contain the upper triangular
band part of the symmetric matrix, supplied column by
column, with the leading diagonal of the matrix in row
( k + 1 ) of the array, the first super-diagonal starting at
position 2 in row k, and so on. The top left k by k triangle
of the array A is not referenced.
The following program segment will transfer the upper
triangular part of a symmetric band matrix from conventional
full matrix storage to band storage:
DO 20, J = 1, N
M = K + 1 - J
DO 10, I = MAX( 1, J - K ), J
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Before entry with UPLO = 'L' or 'l', the leading ( k + 1 )
by n part of the array A must contain the lower triangular
band part of the symmetric matrix, supplied column by
column, with the leading diagonal of the matrix in row 1 of
the array, the first sub-diagonal starting at position 1 in
row 2, and so on. The bottom right k by k triangle of the
array A is not referenced.
The following program segment will transfer the lower
triangular part of a symmetric band matrix from conventional
full matrix storage to band storage:
DO 20, J = 1, N
M = 1 - J
DO 10, I = J, MIN( N, J + K )
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
( k + 1 ). |
| [in] | X | X is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the
vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | BETA | BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta. |
| [in,out] | Y | Y is DOUBLE PRECISION array of DIMENSION at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the
vector y. On exit, Y is overwritten by the updated vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 185 of file dsbmv.f.
| subroutine dspmv | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | AP, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision | BETA, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY | ||
| ) |
DSPMV
DSPMV performs the matrix-vector operation
y := alpha*A*x + beta*y,
where alpha and beta are scalars, x and y are n element vectors and
A is an n by n symmetric matrix, supplied in packed form. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the matrix A is supplied in the packed
array AP as follows:
UPLO = 'U' or 'u' The upper triangular part of A is
supplied in AP.
UPLO = 'L' or 'l' The lower triangular part of A is
supplied in AP. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | AP | AP is DOUBLE PRECISION array of DIMENSION at least
( ( n*( n + 1 ) )/2 ).
Before entry with UPLO = 'U' or 'u', the array AP must
contain the upper triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 )
and a( 2, 2 ) respectively, and so on.
Before entry with UPLO = 'L' or 'l', the array AP must
contain the lower triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 )
and a( 3, 1 ) respectively, and so on. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | BETA | BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta. When BETA is
supplied as zero then Y need not be set on input. |
| [in,out] | Y | Y is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the n
element vector y. On exit, Y is overwritten by the updated
vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 148 of file dspmv.f.
| subroutine dspr | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision, dimension(*) | AP | ||
| ) |
DSPR
DSPR performs the symmetric rank 1 operation
A := alpha*x*x**T + A,
where alpha is a real scalar, x is an n element vector and A is an
n by n symmetric matrix, supplied in packed form. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the matrix A is supplied in the packed
array AP as follows:
UPLO = 'U' or 'u' The upper triangular part of A is
supplied in AP.
UPLO = 'L' or 'l' The lower triangular part of A is
supplied in AP. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in,out] | AP | AP is DOUBLE PRECISION array of DIMENSION at least
( ( n*( n + 1 ) )/2 ).
Before entry with UPLO = 'U' or 'u', the array AP must
contain the upper triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 )
and a( 2, 2 ) respectively, and so on. On exit, the array
AP is overwritten by the upper triangular part of the
updated matrix.
Before entry with UPLO = 'L' or 'l', the array AP must
contain the lower triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 )
and a( 3, 1 ) respectively, and so on. On exit, the array
AP is overwritten by the lower triangular part of the
updated matrix. |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 128 of file dspr.f.
| subroutine dspr2 | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY, | ||
| double precision, dimension(*) | AP | ||
| ) |
DSPR2
DSPR2 performs the symmetric rank 2 operation
A := alpha*x*y**T + alpha*y*x**T + A,
where alpha is a scalar, x and y are n element vectors and A is an
n by n symmetric matrix, supplied in packed form. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the matrix A is supplied in the packed
array AP as follows:
UPLO = 'U' or 'u' The upper triangular part of A is
supplied in AP.
UPLO = 'L' or 'l' The lower triangular part of A is
supplied in AP. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | Y | Y is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the n
element vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
| [in,out] | AP | AP is DOUBLE PRECISION array of DIMENSION at least
( ( n*( n + 1 ) )/2 ).
Before entry with UPLO = 'U' or 'u', the array AP must
contain the upper triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 )
and a( 2, 2 ) respectively, and so on. On exit, the array
AP is overwritten by the upper triangular part of the
updated matrix.
Before entry with UPLO = 'L' or 'l', the array AP must
contain the lower triangular part of the symmetric matrix
packed sequentially, column by column, so that AP( 1 )
contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 )
and a( 3, 1 ) respectively, and so on. On exit, the array
AP is overwritten by the lower triangular part of the
updated matrix. |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 143 of file dspr2.f.
| subroutine dsymv | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision | BETA, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY | ||
| ) |
DSYMV
DSYMV performs the matrix-vector operation
y := alpha*A*x + beta*y,
where alpha and beta are scalars, x and y are n element vectors and
A is an n by n symmetric matrix. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the array A is to be referenced as
follows:
UPLO = 'U' or 'u' Only the upper triangular part of A
is to be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of A
is to be referenced. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array A must contain the upper
triangular part of the symmetric matrix and the strictly
lower triangular part of A is not referenced.
Before entry with UPLO = 'L' or 'l', the leading n by n
lower triangular part of the array A must contain the lower
triangular part of the symmetric matrix and the strictly
upper triangular part of A is not referenced. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, n ). |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | BETA | BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta. When BETA is
supplied as zero then Y need not be set on input. |
| [in,out] | Y | Y is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the n
element vector y. On exit, Y is overwritten by the updated
vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 153 of file dsymv.f.
| subroutine dsyr | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA | ||
| ) |
DSYR
DSYR performs the symmetric rank 1 operation
A := alpha*x*x**T + A,
where alpha is a real scalar, x is an n element vector and A is an
n by n symmetric matrix. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the array A is to be referenced as
follows:
UPLO = 'U' or 'u' Only the upper triangular part of A
is to be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of A
is to be referenced. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in,out] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array A must contain the upper
triangular part of the symmetric matrix and the strictly
lower triangular part of A is not referenced. On exit, the
upper triangular part of the array A is overwritten by the
upper triangular part of the updated matrix.
Before entry with UPLO = 'L' or 'l', the leading n by n
lower triangular part of the array A must contain the lower
triangular part of the symmetric matrix and the strictly
upper triangular part of A is not referenced. On exit, the
lower triangular part of the array A is overwritten by the
lower triangular part of the updated matrix. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, n ). |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 133 of file dsyr.f.
| subroutine dsyr2 | ( | character | UPLO, |
| integer | N, | ||
| double precision | ALPHA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX, | ||
| double precision, dimension(*) | Y, | ||
| integer | INCY, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA | ||
| ) |
DSYR2
DSYR2 performs the symmetric rank 2 operation
A := alpha*x*y**T + alpha*y*x**T + A,
where alpha is a scalar, x and y are n element vectors and A is an n
by n symmetric matrix. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the upper or lower
triangular part of the array A is to be referenced as
follows:
UPLO = 'U' or 'u' Only the upper triangular part of A
is to be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of A
is to be referenced. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | ALPHA | ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha. |
| [in] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
| [in] | Y | Y is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ).
Before entry, the incremented array Y must contain the n
element vector y. |
| [in] | INCY | INCY is INTEGER
On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero. |
| [in,out] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array A must contain the upper
triangular part of the symmetric matrix and the strictly
lower triangular part of A is not referenced. On exit, the
upper triangular part of the array A is overwritten by the
upper triangular part of the updated matrix.
Before entry with UPLO = 'L' or 'l', the leading n by n
lower triangular part of the array A must contain the lower
triangular part of the symmetric matrix and the strictly
upper triangular part of A is not referenced. On exit, the
lower triangular part of the array A is overwritten by the
lower triangular part of the updated matrix. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, n ). |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 148 of file dsyr2.f.
| subroutine dtbmv | ( | character | UPLO, |
| character | TRANS, | ||
| character | DIAG, | ||
| integer | N, | ||
| integer | K, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX | ||
| ) |
DTBMV
DTBMV performs one of the matrix-vector operations
x := A*x, or x := A**T*x,
where x is an n element vector and A is an n by n unit, or non-unit,
upper or lower triangular band matrix, with ( k + 1 ) diagonals. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.
UPLO = 'L' or 'l' A is a lower triangular matrix. |
| [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' x := A*x.
TRANS = 'T' or 't' x := A**T*x.
TRANS = 'C' or 'c' x := A**T*x. |
| [in] | DIAG | DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.
DIAG = 'N' or 'n' A is not assumed to be unit
triangular. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | K | K is INTEGER
On entry with UPLO = 'U' or 'u', K specifies the number of
super-diagonals of the matrix A.
On entry with UPLO = 'L' or 'l', K specifies the number of
sub-diagonals of the matrix A.
K must satisfy 0 .le. K. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading ( k + 1 )
by n part of the array A must contain the upper triangular
band part of the matrix of coefficients, supplied column by
column, with the leading diagonal of the matrix in row
( k + 1 ) of the array, the first super-diagonal starting at
position 2 in row k, and so on. The top left k by k triangle
of the array A is not referenced.
The following program segment will transfer an upper
triangular band matrix from conventional full matrix storage
to band storage:
DO 20, J = 1, N
M = K + 1 - J
DO 10, I = MAX( 1, J - K ), J
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Before entry with UPLO = 'L' or 'l', the leading ( k + 1 )
by n part of the array A must contain the lower triangular
band part of the matrix of coefficients, supplied column by
column, with the leading diagonal of the matrix in row 1 of
the array, the first sub-diagonal starting at position 1 in
row 2, and so on. The bottom right k by k triangle of the
array A is not referenced.
The following program segment will transfer a lower
triangular band matrix from conventional full matrix storage
to band storage:
DO 20, J = 1, N
M = 1 - J
DO 10, I = J, MIN( N, J + K )
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Note that when DIAG = 'U' or 'u' the elements of the array A
corresponding to the diagonal elements of the matrix are not
referenced, but are assumed to be unity. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
( k + 1 ). |
| [in,out] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. On exit, X is overwritten with the
tranformed vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 187 of file dtbmv.f.
| subroutine dtbsv | ( | character | UPLO, |
| character | TRANS, | ||
| character | DIAG, | ||
| integer | N, | ||
| integer | K, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX | ||
| ) |
DTBSV
DTBSV solves one of the systems of equations
A*x = b, or A**T*x = b,
where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular band matrix, with ( k + 1 )
diagonals.
No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.
UPLO = 'L' or 'l' A is a lower triangular matrix. |
| [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:
TRANS = 'N' or 'n' A*x = b.
TRANS = 'T' or 't' A**T*x = b.
TRANS = 'C' or 'c' A**T*x = b. |
| [in] | DIAG | DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.
DIAG = 'N' or 'n' A is not assumed to be unit
triangular. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | K | K is INTEGER
On entry with UPLO = 'U' or 'u', K specifies the number of
super-diagonals of the matrix A.
On entry with UPLO = 'L' or 'l', K specifies the number of
sub-diagonals of the matrix A.
K must satisfy 0 .le. K. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading ( k + 1 )
by n part of the array A must contain the upper triangular
band part of the matrix of coefficients, supplied column by
column, with the leading diagonal of the matrix in row
( k + 1 ) of the array, the first super-diagonal starting at
position 2 in row k, and so on. The top left k by k triangle
of the array A is not referenced.
The following program segment will transfer an upper
triangular band matrix from conventional full matrix storage
to band storage:
DO 20, J = 1, N
M = K + 1 - J
DO 10, I = MAX( 1, J - K ), J
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Before entry with UPLO = 'L' or 'l', the leading ( k + 1 )
by n part of the array A must contain the lower triangular
band part of the matrix of coefficients, supplied column by
column, with the leading diagonal of the matrix in row 1 of
the array, the first sub-diagonal starting at position 1 in
row 2, and so on. The bottom right k by k triangle of the
array A is not referenced.
The following program segment will transfer a lower
triangular band matrix from conventional full matrix storage
to band storage:
DO 20, J = 1, N
M = 1 - J
DO 10, I = J, MIN( N, J + K )
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Note that when DIAG = 'U' or 'u' the elements of the array A
corresponding to the diagonal elements of the matrix are not
referenced, but are assumed to be unity. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
( k + 1 ). |
| [in,out] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 190 of file dtbsv.f.
| subroutine dtpmv | ( | character | UPLO, |
| character | TRANS, | ||
| character | DIAG, | ||
| integer | N, | ||
| double precision, dimension(*) | AP, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX | ||
| ) |
DTPMV
DTPMV performs one of the matrix-vector operations
x := A*x, or x := A**T*x,
where x is an n element vector and A is an n by n unit, or non-unit,
upper or lower triangular matrix, supplied in packed form. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.
UPLO = 'L' or 'l' A is a lower triangular matrix. |
| [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' x := A*x.
TRANS = 'T' or 't' x := A**T*x.
TRANS = 'C' or 'c' x := A**T*x. |
| [in] | DIAG | DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.
DIAG = 'N' or 'n' A is not assumed to be unit
triangular. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | AP | AP is DOUBLE PRECISION array of DIMENSION at least
( ( n*( n + 1 ) )/2 ).
Before entry with UPLO = 'U' or 'u', the array AP must
contain the upper triangular matrix packed sequentially,
column by column, so that AP( 1 ) contains a( 1, 1 ),
AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 )
respectively, and so on.
Before entry with UPLO = 'L' or 'l', the array AP must
contain the lower triangular matrix packed sequentially,
column by column, so that AP( 1 ) contains a( 1, 1 ),
AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 )
respectively, and so on.
Note that when DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity. |
| [in,out] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. On exit, X is overwritten with the
tranformed vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 143 of file dtpmv.f.
| subroutine dtpsv | ( | character | UPLO, |
| character | TRANS, | ||
| character | DIAG, | ||
| integer | N, | ||
| double precision, dimension(*) | AP, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX | ||
| ) |
DTPSV
DTPSV solves one of the systems of equations
A*x = b, or A**T*x = b,
where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular matrix, supplied in packed form.
No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.
UPLO = 'L' or 'l' A is a lower triangular matrix. |
| [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:
TRANS = 'N' or 'n' A*x = b.
TRANS = 'T' or 't' A**T*x = b.
TRANS = 'C' or 'c' A**T*x = b. |
| [in] | DIAG | DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.
DIAG = 'N' or 'n' A is not assumed to be unit
triangular. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | AP | AP is DOUBLE PRECISION array of DIMENSION at least
( ( n*( n + 1 ) )/2 ).
Before entry with UPLO = 'U' or 'u', the array AP must
contain the upper triangular matrix packed sequentially,
column by column, so that AP( 1 ) contains a( 1, 1 ),
AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 )
respectively, and so on.
Before entry with UPLO = 'L' or 'l', the array AP must
contain the lower triangular matrix packed sequentially,
column by column, so that AP( 1 ) contains a( 1, 1 ),
AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 )
respectively, and so on.
Note that when DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity. |
| [in,out] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
Level 2 Blas routine.
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 145 of file dtpsv.f.
| subroutine dtrmv | ( | character | UPLO, |
| character | TRANS, | ||
| character | DIAG, | ||
| integer | N, | ||
| double precision, dimension(lda,*) | A, | ||
| integer | LDA, | ||
| double precision, dimension(*) | X, | ||
| integer | INCX | ||
| ) |
DTRMV
DTRMV performs one of the matrix-vector operations
x := A*x, or x := A**T*x,
where x is an n element vector and A is an n by n unit, or non-unit,
upper or lower triangular matrix. | [in] | UPLO | UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.
UPLO = 'L' or 'l' A is a lower triangular matrix. |
| [in] | TRANS | TRANS is CHARACTER*1
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' x := A*x.
TRANS = 'T' or 't' x := A**T*x.
TRANS = 'C' or 'c' x := A**T*x. |
| [in] | DIAG | DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.
DIAG = 'N' or 'n' A is not assumed to be unit
triangular. |
| [in] | N | N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero. |
| [in] | A | A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array A must contain the upper
triangular matrix and the strictly lower triangular part of
A is not referenced.
Before entry with UPLO = 'L' or 'l', the leading n by n
lower triangular part of the array A must contain the lower
triangular matrix and the strictly upper triangular part of
A is not referenced.
Note that when DIAG = 'U' or 'u', the diagonal elements of
A are not referenced either, but are assumed to be unity. |
| [in] | LDA | LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA must be at least
max( 1, n ). |
| [in,out] | X | X is DOUBLE PRECISION array of dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element vector x. On exit, X is overwritten with the
tranformed vector x. |
| [in] | INCX | INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero. |
Level 2 Blas routine.
The vector and matrix arguments are not referenced when N = 0, or M = 0
-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs. Definition at line 148 of file dtrmv.f.