The presented FORTRAN codes are built on the LAPACK and BLAS libraries, containing a collection of highly performant and numerically
reliable basic linear algebra subroutines. These packages can be obtained via Netlib.
# ---------------------------------
# Driver routines
# ---------------------------------
file dhaesu.f dhaesu.f plus dependencies
Computes the eigenvalues and the symplectic URV/periodic Schur
decomposition of a Hamiltonian matrix.
Test routine: tdhaesu.f tdhaesu.f plus dependencies
Test data: dhaesu.dat dhaesu.res
file dhasub.f dhasub.f plus dependencies
Computes stable and unstable invariant subspaces of a Hamiltonian
matrix from the output of DHAESU.
Test routine: tdhasub.f tdhasub.f plus dependencies
Test data: dhasub.dat dhasub.res
file dshes.f dshes.f plus dependencies
Computes the eigenvalues and the skew-Hamiltonian Schur decomposition of
a skew-Hamiltonian matrix.
Test routine: tdshes.f tdshes.f plus dependencies
Test data: dshes.dat dshes.res
file dshevx.f dshevx.f plus dependencies
Computes the eigenvalues and eigenvectors of a skew-Hamiltonian
matrix, with preliminary balancing of the matrix, and computes
reciprocal condition numbers for the eigenvalues and some eigenvectors.
Test routine: tdshevx.f tdshevx.f plus dependencies
Test data: dshevx.dat dshevx.res
# ---------------------------------
# Computational routines
# ---------------------------------
file dgesqb.f dgesqb.f plus dependencies
Symplectic QR decomposition of a general matrix. Blocked version.
Test routine: tdgesqb.f tdgesqb.f plus dependencies
Test data: dgesqb.dat dgesqb.res
file dgesqr.f
Symplectic QR decomposition of a general matrix. Unblocked version.
Test routine: tdgesqr.f tdgesqr.f plus dependencies
Test data: dgesqr.dat dgesqr.res
file dgesub.f dgesub.f plus dependencies
Symplectic URV decomposition of a general matrix. Blocked version.
Test routine: tdgesub.f tdgesub.f plus dependencies
Test data: dgesub.dat dgesub.res
file dgesuv.f
Symplectic URV decomposition of a general matrix. Unblocked version.
Test routine: tdgesuv.f tdgesuv.f plus dependencies
Test data: dgesuv.dat dgesuv.res
file dhabak.f
Applies the inverse of a balancing transformation, computed by the
routines DHABAL or DSHBAL.
file dhabal.f
Symplectic balancing of a Hamiltonian matrix.
Test routine: tdhabal.f tdhabal.f plus dependencies
Test data: dhabal.dat dhabal.res
file dhaord.f dhaord.f plus dependencies
Reorder the (skew-)Hamiltonian Schur decomposition of a (skew-)
Hamiltonian matrix.
Test routine: tdhaord.f tdhaord.f plus dependencies
Test data: dhaord.dat dhaord.res
file dhapvb.f dhapvb.f plus dependencies
PVL reduction of a Hamiltonian matrix. Blocked version.
Test routine: tdhapvb.f tdhapvb.f plus dependencies
Test data: dhapvb.dat dhapvb.res
file dhapvl.f
PVL reduction of a Hamiltonian matrix. Unblocked version.
Test routine: tdhapvl.f tdhapvl.f plus dependencies
Test data: dhapvl.dat dhapvl.res
file dhgpqr.f dhgpqr.f plus dependencies
Periodic Schur decomposition of a product of two matrices.
Test routine: tdhgpqr.f tdhgpqr.f plus dependencies
Test data: dhgpqr.dat dhapvl.res
file dosgpv.f dosgpv.f plus dependencies
Generates the orthogonal symplectic matrix U from a PVL decomposition
determined by DHAPVL or DSHPVL.
file dosgsb.f dosgsb.f plus dependencies
Generates all or part of the orthogonal symplectic matrix Q from
a symplectic QR decomposition determined by DGEQRB or DGEQRS.
Blocked version.
file dosgsq.f
Generates all or part of the orthogonal symplectic matrix Q from
a symplectic QR decomposition determined by DGEQRB or DGEQRS.
Unblocked version.
file dosgsu.f dosgsu.f plus dependencies
Generates the orthogonal symplectic matrices U and V from a
symplectic URV decomposition determined by DGESUB or DGESUV.
file dosmpv.f dosmpv.f plus dependencies
Applies the orthogonal symplectic matrix U from a PVL decomposition
determined by DHAPVL or DSHPVL to a general matrix.
file dosmsb.f dosmsb.f plus dependencies
Applies all or part of the orthogonal symplectic matrix Q from a
symplectic QR decomposition determined by DGEQRB or DGEQRS to a general
matrix. Blocked version.
file dosmsq.f
Applies all or part of the orthogonal symplectic matrix Q from a
symplectic QR decomposition determined by DGEQRB or DGEQRS to a general
matrix. Unblocked version.
file dshbal.f
Symplectic balancing of a skew-Hamiltonian matrix.
Test routine: tdshbal.f tdshbal.f plus dependencies
Test data: dshbal.dat dshbal.res
file dshevc.f dshevc.f plus dependencies
Eigenvectors of a skew-Hamiltonian matrix in skew-Hamiltonian Schur form.
file dshpvb.f dshpvb.f plus dependencies
PVL reduction of a skew-Hamiltonian matrix. Blocked version.
Test routine: tdshpvb.f tdshpvb.f plus dependencies
Test data: dshpvb.dat dshpvb.res
file dshpvl.f
PVL reduction of a skew-Hamiltonian matrix. Unblocked version.
Test routine: tdshpvl.f tdshpvl.f plus dependencies
Test data: dshpvl.dat dshpvl.res
file dshsna.f dshsna.f plus dependencies
Computes reciprocal condition numbers for the eigenvalues and some
eigenvectors of a skew-Hamiltonian matrix in skew-Hamiltonian Schur
form.
# ---------------------------------
# Auxiliary routines
# ---------------------------------
file dcroot.f
Complex square root in real arithmetic.
file dhaex2.f dhaex2.f plus dependencies
Swaps adjacent diagonal blocks in a (skew-)Hamiltonian Schur
decomposition.
file dlabmx.f dlabmx.f plus dependencies
Auxiliary routine for DHASUB.
file dlabtr.f
Solution of a certain triangular block system.
file dlaesb.f
Applies a block symplectic orthogonal transformation.
file dlaest.f
Triangular factors of a block symplectic orthogonal transformation.
file dlanha.f
Norm of a (skew-)Hamiltonian matrix.
file dlapqr.f dlapqr.f plus dependencies
Periodic Schur decomposition of a product of two small matrices.
file dlapv2.f
Periodic Schur decomposition of a product of two 2-by-2 matrices.
file dlapvb.f
Panel reduction for PVL reduction.
file dlasub.f
Panel reduction for symplectic URV decomposition.
file dskmv.f
Skew-symmetric matrix-vector product.
file dskr2.f
Skew-symmetric rank 2 update.
file dskr2k.f
Skew-symmetric rank 2k update.
file dskrkb.f
Computes alpha*C + beta*A*B*A' for skew-symmetric matrices B and C.
file dskupd.f
Computes Z*A*Z' for a skew-symmetric matrix A.
file dtgpx2.f dtgpx2.f plus dependencies
Swaps adjacent diagonal blocks in a periodic Schur decomposition.
file dtgpy2.f
Solution of a small periodic Sylvester equation.
file dtrqml.f
Computes matrix-matrix products involving a quasi-triangular matrix.
file ilahap.f
Problem-dependent parameters for the local environment.