dlatm6.f3
Usage
Functions/Subroutines
subroutine dlatm6 (type, n, a, lda, b, x, ldx, y, ldy, alpha, beta, wx, wy, s, dif)
DLATM6
Function/Subroutine Documentation
subroutine dlatm6 (integer type, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( lda, * ) b, double precision, dimension( ldx, * ) x, integer ldx, double precision, dimension( ldy, * ) y, integer ldy, double precision alpha, double precision beta, double precision wx, double precision wy, double precision, dimension( * ) s, double precision, dimension( * ) dif)
DLATM6
Purpose:
!> !> DLATM6 generates test matrices for the generalized eigenvalue !> problem, their corresponding right and left eigenvector matrices, !> and also reciprocal condition numbers for all eigenvalues and !> the reciprocal condition numbers of eigenvectors corresponding to !> the 1th and 5th eigenvalues. !> !> Test Matrices !> ============= !> !> Two kinds of test matrix pairs !> !> (A, B) = inverse(YH) * (Da, Db) * inverse(X) !> !> are used in the tests: !> !> Type 1: !> Da = 1+a 0 0 0 0 Db = 1 0 0 0 0 !> 0 2+a 0 0 0 0 1 0 0 0 !> 0 0 3+a 0 0 0 0 1 0 0 !> 0 0 0 4+a 0 0 0 0 1 0 !> 0 0 0 0 5+a , 0 0 0 0 1 , and !> !> Type 2: !> Da = 1 -1 0 0 0 Db = 1 0 0 0 0 !> 1 1 0 0 0 0 1 0 0 0 !> 0 0 1 0 0 0 0 1 0 0 !> 0 0 0 1+a 1+b 0 0 0 1 0 !> 0 0 0 -1-b 1+a , 0 0 0 0 1 . !> !> In both cases the same inverse(YH) and inverse(X) are used to compute !> (A, B), giving the exact eigenvectors to (A,B) as (YH, X): !> !> YH: = 1 0 -y y -y X = 1 0 -x -x x !> 0 1 -y y -y 0 1 x -x -x !> 0 0 1 0 0 0 0 1 0 0 !> 0 0 0 1 0 0 0 0 1 0 !> 0 0 0 0 1, 0 0 0 0 1 , !> !> where a, b, x and y will have all values independently of each other. !>
Parameters
TYPE
!> TYPE is INTEGER !> Specifies the problem type (see further details). !>
N
!> N is INTEGER !> Size of the matrices A and B. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA, N). !> On exit A N-by-N is initialized according to TYPE. !>
LDA
!> LDA is INTEGER !> The leading dimension of A and of B. !>
B
!> B is DOUBLE PRECISION array, dimension (LDA, N). !> On exit B N-by-N is initialized according to TYPE. !>
X
!> X is DOUBLE PRECISION array, dimension (LDX, N). !> On exit X is the N-by-N matrix of right eigenvectors. !>
LDX
!> LDX is INTEGER !> The leading dimension of X. !>
Y
!> Y is DOUBLE PRECISION array, dimension (LDY, N). !> On exit Y is the N-by-N matrix of left eigenvectors. !>
LDY
!> LDY is INTEGER !> The leading dimension of Y. !>
ALPHA
!> ALPHA is DOUBLE PRECISION !>
BETA
!> BETA is DOUBLE PRECISION !> !> Weighting constants for matrix A. !>
WX
!> WX is DOUBLE PRECISION !> Constant for right eigenvector matrix. !>
WY
!> WY is DOUBLE PRECISION !> Constant for left eigenvector matrix. !>
S
!> S is DOUBLE PRECISION array, dimension (N) !> S(i) is the reciprocal condition number for eigenvalue i. !>
DIF
!> DIF is DOUBLE PRECISION array, dimension (N) !> DIF(i) is the reciprocal condition number for eigenvector i. !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 174 of file dlatm6.f.