TGSEN: reorders the generalized Schur decomposition of a complex matrix pair (A, B) (in terms of an unitary equivalence trans- formation Q**H * (A, B) * Z), so that a selected cluster of eigenvalues appears in the leading diagonal blocks of the pair (A,B). The leading columns of Q and Z form unitary bases of the corresponding left and right eigenspaces (deflating subspaces). (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular. TGSEN also computes the generalized eigenvalues w(j)= ALPHA(j) / BETA(j) of the reordered matrix pair (A, B). Optionally, the routine computes estimates of reciprocal condition numbers for eigenvalues and eigenspaces. These are Difu[(A11,B11), (A22,B22)] and Difl[(A11,B11), (A22,B22)], i.e. the separation(s) between the matrix pairs (A11, B11) and (A22,B22) that correspond to the selected cluster and the eigenvalues outside the cluster, resp., and norms of "projections" onto left and right eigenspaces w.r.t. the selected cluster in the (1,1)-block.
More...
|
pure subroutine | ctgsen (ijob, wantq, wantz, select, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) |
|
| la_ctgsen |
|
pure subroutine | dtgsen (ijob, wantq, wantz, select, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) |
|
| la_dtgsen |
|
| la_qtgsen |
|
pure subroutine | stgsen (ijob, wantq, wantz, select, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) |
|
| la_stgsen |
|
| la_wtgsen |
|
pure subroutine | ztgsen (ijob, wantq, wantz, select, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info) |
|
| la_ztgsen |
|
TGSEN: reorders the generalized Schur decomposition of a complex matrix pair (A, B) (in terms of an unitary equivalence trans- formation Q**H * (A, B) * Z), so that a selected cluster of eigenvalues appears in the leading diagonal blocks of the pair (A,B). The leading columns of Q and Z form unitary bases of the corresponding left and right eigenspaces (deflating subspaces). (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular. TGSEN also computes the generalized eigenvalues w(j)= ALPHA(j) / BETA(j) of the reordered matrix pair (A, B). Optionally, the routine computes estimates of reciprocal condition numbers for eigenvalues and eigenspaces. These are Difu[(A11,B11), (A22,B22)] and Difl[(A11,B11), (A22,B22)], i.e. the separation(s) between the matrix pairs (A11, B11) and (A22,B22) that correspond to the selected cluster and the eigenvalues outside the cluster, resp., and norms of "projections" onto left and right eigenspaces w.r.t. the selected cluster in the (1,1)-block.
◆ ctgsen()
pure subroutine la_lapack::tgsen::ctgsen |
( |
integer(ilp), intent(in) |
ijob, |
|
|
logical(lk), intent(in) |
wantq, |
|
|
logical(lk), intent(in) |
wantz, |
|
|
logical(lk), dimension(*), intent(in) |
select, |
|
|
integer(ilp), intent(in) |
n, |
|
|
complex(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
complex(sp), dimension(*), intent(out) |
alpha, |
|
|
complex(sp), dimension(*), intent(out) |
beta, |
|
|
complex(sp), dimension(ldq,*), intent(inout) |
q, |
|
|
integer(ilp), intent(in) |
ldq, |
|
|
complex(sp), dimension(ldz,*), intent(inout) |
z, |
|
|
integer(ilp), intent(in) |
ldz, |
|
|
integer(ilp), intent(out) |
m, |
|
|
real(sp), intent(out) |
pl, |
|
|
real(sp), intent(out) |
pr, |
|
|
real(sp), dimension(*), intent(out) |
dif, |
|
|
complex(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(in) |
liwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ dtgsen()
pure subroutine la_lapack::tgsen::dtgsen |
( |
integer(ilp), intent(in) |
ijob, |
|
|
logical(lk), intent(in) |
wantq, |
|
|
logical(lk), intent(in) |
wantz, |
|
|
logical(lk), dimension(*), intent(in) |
select, |
|
|
integer(ilp), intent(in) |
n, |
|
|
real(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(dp), dimension(*), intent(out) |
alphar, |
|
|
real(dp), dimension(*), intent(out) |
alphai, |
|
|
real(dp), dimension(*), intent(out) |
beta, |
|
|
real(dp), dimension(ldq,*), intent(inout) |
q, |
|
|
integer(ilp), intent(in) |
ldq, |
|
|
real(dp), dimension(ldz,*), intent(inout) |
z, |
|
|
integer(ilp), intent(in) |
ldz, |
|
|
integer(ilp), intent(out) |
m, |
|
|
real(dp), intent(out) |
pl, |
|
|
real(dp), intent(out) |
pr, |
|
|
real(dp), dimension(*), intent(out) |
dif, |
|
|
real(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(in) |
liwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_ctgsen()
la_lapack::tgsen::la_ctgsen |
◆ la_dtgsen()
la_lapack::tgsen::la_dtgsen |
◆ la_qtgsen()
la_lapack::tgsen::la_qtgsen |
◆ la_stgsen()
la_lapack::tgsen::la_stgsen |
◆ la_wtgsen()
la_lapack::tgsen::la_wtgsen |
◆ la_ztgsen()
la_lapack::tgsen::la_ztgsen |
◆ stgsen()
pure subroutine la_lapack::tgsen::stgsen |
( |
integer(ilp), intent(in) |
ijob, |
|
|
logical(lk), intent(in) |
wantq, |
|
|
logical(lk), intent(in) |
wantz, |
|
|
logical(lk), dimension(*), intent(in) |
select, |
|
|
integer(ilp), intent(in) |
n, |
|
|
real(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(sp), dimension(*), intent(out) |
alphar, |
|
|
real(sp), dimension(*), intent(out) |
alphai, |
|
|
real(sp), dimension(*), intent(out) |
beta, |
|
|
real(sp), dimension(ldq,*), intent(inout) |
q, |
|
|
integer(ilp), intent(in) |
ldq, |
|
|
real(sp), dimension(ldz,*), intent(inout) |
z, |
|
|
integer(ilp), intent(in) |
ldz, |
|
|
integer(ilp), intent(out) |
m, |
|
|
real(sp), intent(out) |
pl, |
|
|
real(sp), intent(out) |
pr, |
|
|
real(sp), dimension(*), intent(out) |
dif, |
|
|
real(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(in) |
liwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ ztgsen()
pure subroutine la_lapack::tgsen::ztgsen |
( |
integer(ilp), intent(in) |
ijob, |
|
|
logical(lk), intent(in) |
wantq, |
|
|
logical(lk), intent(in) |
wantz, |
|
|
logical(lk), dimension(*), intent(in) |
select, |
|
|
integer(ilp), intent(in) |
n, |
|
|
complex(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
complex(dp), dimension(*), intent(out) |
alpha, |
|
|
complex(dp), dimension(*), intent(out) |
beta, |
|
|
complex(dp), dimension(ldq,*), intent(inout) |
q, |
|
|
integer(ilp), intent(in) |
ldq, |
|
|
complex(dp), dimension(ldz,*), intent(inout) |
z, |
|
|
integer(ilp), intent(in) |
ldz, |
|
|
integer(ilp), intent(out) |
m, |
|
|
real(dp), intent(out) |
pl, |
|
|
real(dp), intent(out) |
pr, |
|
|
real(dp), dimension(*), intent(out) |
dif, |
|
|
complex(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(in) |
liwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: