GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
TESTING/LIN/slavsy_rook.f(3) LAPACK TESTING/LIN/slavsy_rook.f(3)

TESTING/LIN/slavsy_rook.f


subroutine slavsy_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info)
SLAVSY_ROOK

SLAVSY_ROOK

Purpose:


SLAVSY_ROOK performs one of the matrix-vector operations
x := A*x or x := A'*x,
where x is an N element vector and A is one of the factors
from the block U*D*U' or L*D*L' factorization computed by SSYTRF_ROOK.
If TRANS = 'N', multiplies by U or U * D (or L or L * D)
If TRANS = 'T', multiplies by U' or D * U' (or L' or D * L')
If TRANS = 'C', multiplies by U' or D * U' (or L' or D * L')

Parameters

UPLO


UPLO is CHARACTER*1
Specifies whether the factor stored in A is upper or lower
triangular.
= 'U': Upper triangular
= 'L': Lower triangular

TRANS


TRANS is CHARACTER*1
Specifies the operation to be performed:
= 'N': x := A*x
= 'T': x := A'*x
= 'C': x := A'*x

DIAG


DIAG is CHARACTER*1
Specifies whether or not the diagonal blocks are unit
matrices. If the diagonal blocks are assumed to be unit,
then A = U or A = L, otherwise A = U*D or A = L*D.
= 'U': Diagonal blocks are assumed to be unit matrices.
= 'N': Diagonal blocks are assumed to be non-unit matrices.

N


N is INTEGER
The number of rows and columns of the matrix A. N >= 0.

NRHS


NRHS is INTEGER
The number of right hand sides, i.e., the number of vectors
x to be multiplied by A. NRHS >= 0.

A


A is REAL array, dimension (LDA,N)
The block diagonal matrix D and the multipliers used to
obtain the factor U or L as computed by SSYTRF_ROOK.
Stored as a 2-D triangular matrix.

LDA


LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).

IPIV


IPIV is INTEGER array, dimension (N)
Details of the interchanges and the block structure of D,
as determined by SSYTRF_ROOK.
If UPLO = 'U':
If IPIV(k) > 0, then rows and columns k and IPIV(k)
were interchanged and D(k,k) is a 1-by-1 diagonal block.
(If IPIV( k ) = k, no interchange was done).
If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and
columns k and -IPIV(k) were interchanged and rows and
columns k-1 and -IPIV(k-1) were inerchaged,
D(k-1:k,k-1:k) is a 2-by-2 diagonal block.
If UPLO = 'L':
If IPIV(k) > 0, then rows and columns k and IPIV(k)
were interchanged and D(k,k) is a 1-by-1 diagonal block.
(If IPIV( k ) = k, no interchange was done).
If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and
columns k and -IPIV(k) were interchanged and rows and
columns k+1 and -IPIV(k+1) were inerchaged,
D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

B


B is REAL array, dimension (LDB,NRHS)
On entry, B contains NRHS vectors of length N.
On exit, B is overwritten with the product A * B.

LDB


LDB is INTEGER
The leading dimension of the array B. LDB >= max(1,N).

INFO


INFO is INTEGER
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 155 of file slavsy_rook.f.

Generated automatically by Doxygen for LAPACK from the source code.

Sun Jan 12 2025 15:13:35 Version 3.12.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.