library.lapackeig
Submodule¶
Module Summary¶
Interfaces for the NAG Mark 30.3 lapackeig Chapter.
lapackeig
- Least Squares and Eigenvalue Problems (LAPACK)
This module provides functions for the solution of linear least squares problems, eigenvalue problems and singular value problems, as well as associated computations. It provides functions for:
solution of linear least squares problems;
solution of symmetric eigenvalue problems;
solution of nonsymmetric eigenvalue problems;
solution of singular value problems;
solution of generalized linear least squares problems;
solution of generalized symmetric-definite eigenvalue problems;
solution of generalized nonsymmetric eigenvalue problems;
solution of generalized singular value problems;
matrix factorizations associated with the above problems;
estimating condition numbers of eigenvalue and eigenvector problems;
estimating the numerical rank of a matrix;
solution of the Sylvester matrix equation.
Functions are provided for both real and complex data.
For a general introduction to the solution of linear least squares problems, you should turn first to submodule linsys
.
The decision trees, at the end of submodule linsys
, direct you to the most appropriate functions in submodule linsys
or submodule lapackeig
. Submodule linsys
and submodule lapackeig
contain Black Box (or driver) functions which enable standard linear least squares problems to be solved by a call to a single function.
For a general introduction to eigenvalue and singular value problems, you should turn first to submodule eigen
.
The decision trees, at the end of submodule eigen
, direct you to the most appropriate functions in submodule eigen
or submodule lapackeig
. Submodule eigen
and submodule lapackeig
contain Black Box (or driver) functions which enable standard types of problem to be solved by a call to a single function.
Often functions in submodule eigen
call submodule lapackeig
functions to perform the necessary computational tasks.
The functions in this module (submodule lapackeig
) handle only dense, band, tridiagonal and Hessenberg matrices (not matrices with more specialised structures, or general sparse matrices).
The tables in Available Functions and the decision trees in Decision Trees direct you to the most appropriate functions in submodule lapackeig
.
The functions in this module have all been derived from the LAPACK project (see Anderson et al. (1999)). They have been designed to be efficient on a wide range of high-performance computers, without compromising efficiency on conventional serial machines.
Functionality Index¶
Back transformation of eigenvectors from those of balanced forms
Back transformation of generalized eigenvectors from those of balanced forms
Balancing
Eigenvalue problems for condensed forms of matrices
complex Hermitian matrix
eigenvalues and eigenvectors
band matrix
general matrix
all/selected eigenvalues and eigenvectors by root-free algorithm:
zheevx()
all/selected eigenvalues and eigenvectors by root-free algorithm, using packed storage:
zhpevx()
all/selected eigenvalues and eigenvectors using Relatively Robust Representations:
zheevr()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm:
zheevd()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm, using packed storage:
zhpevd()
all eigenvalues and eigenvectors by root-free algorithm:
zheev()
all eigenvalues and eigenvectors by root-free algorithm, using packed storage:
zhpev()
eigenvalues only
band matrix
general matrix
all/selected eigenvalues by the Pal–Walker–Kahan variant of the or algorithm:
zheevx()
all/selected eigenvalues by the Pal–Walker–Kahan variant of the or algorithm, using packed storage:
zhpevx()
all eigenvalues by the Pal–Walker–Kahan variant of the or algorithm:
zheev()
all eigenvalues by the Pal–Walker–Kahan variant of the or algorithm, using packed storage:
zhpev()
complex upper Hessenberg matrix, reduced from complex general matrix
real bidiagonal matrix
real symmetric matrix
eigenvalues and eigenvectors
band matrix
general matrix
all/selected eigenvalues and eigenvectors by root-free algorithm:
dsyevx()
all/selected eigenvalues and eigenvectors by root-free algorithm, using packed storage:
dspevx()
all/selected eigenvalues and eigenvectors using Relatively Robust Representations:
dsyevr()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm:
dsyevd()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm, using packed storage:
dspevd()
all eigenvalues and eigenvectors by root-free algorithm:
dsyev()
all eigenvalues and eigenvectors by root-free algorithm, using packed storage:
dspev()
eigenvalues only
band matrix
general matrix
all/selected eigenvalues by the Pal–Walker–Kahan variant of the or algorithm:
dsyevx()
all/selected eigenvalues by the Pal–Walker–Kahan variant of the or algorithm, using packed storage:
dspevx()
all eigenvalues by the Pal–Walker–Kahan variant of the or algorithm:
dsyev()
all eigenvalues by the Pal–Walker–Kahan variant of the or algorithm, using packed storage:
dspev()
real symmetric tridiagonal matrix
eigenvalues and eigenvectors
after reduction from complex Hermitian matrix
all/selected eigenvalues and eigenvectors, using Relatively Robust Representations:
zstegr()
all eigenvalues and eigenvectors:
zsteqr()
all eigenvalues and eigenvectors, positive definite matrix:
zpteqr()
all eigenvalues and eigenvectors, using divide-and-conquer:
zstedc()
selected eigenvectors by inverse iteration:
zstein()
all/selected eigenvalues and eigenvectors, using Relatively Robust Representations:
dstegr()
all/selected eigenvalues and eigenvectors by root-free algorithm:
dstevx()
all/selected eigenvalues and eigenvectors using Relatively Robust Representations:
dstevr()
all eigenvalues and eigenvectors:
dsteqr()
all eigenvalues and eigenvectors, by divide-and-conquer:
dstedc()
all eigenvalues and eigenvectors, positive definite matrix:
dpteqr()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm:
dstevd()
all eigenvalues and eigenvectors by root-free algorithm:
dstev()
selected eigenvectors by inverse iteration:
dstein()
eigenvalues only
selected eigenvalues only:
dstebz()
real upper Hessenberg matrix, reduced from real general matrix
Eigenvalue problems for nonsymmetric matrices
complex matrix
all eigenvalues, Schur form, Schur vectors and reciprocal condition numbers:
zgeesx()
all eigenvalues, Schur form and Schur vectors:
zgees()
all eigenvalues and left/right eigenvectors:
zgeev()
all eigenvalues and left/right eigenvectors, plus balancing transformation and reciprocal condition numbers:
zgeevx()
real matrix
all eigenvalues, real Schur form, Schur vectors and reciprocal condition numbers:
dgeesx()
all eigenvalues, real Schur form and Schur vectors:
dgees()
all eigenvalues and left/right eigenvectors:
dgeev()
all eigenvalues and left/right eigenvectors, plus balancing transformation and reciprocal condition numbers:
dgeevx()
Eigenvalues and generalized Schur factorization
General Gauss–Markov linear model
Generalized eigenvalue problems for condensed forms of matrices
complex Hermitian-definite eigenproblems
banded matrices
general matrices
all eigenvalues and eigenvectors by a divide-and-conquer algorithm:
zhegvd()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm, packed storage format:
zhpgvd()
all eigenvalues and eigenvectors by reduction to tridiagonal form:
zhegv()
all eigenvalues and eigenvectors by reduction to tridiagonal form, packed storage format:
zhpgv()
selected eigenvalues and eigenvectors by reduction to tridiagonal form:
zhegvx()
selected eigenvalues and eigenvectors by reduction to tridiagonal form, packed storage format:
zhpgvx()
real symmetric-definite eigenproblems
banded matrices
general matrices
all eigenvalues and eigenvectors by a divide-and-conquer algorithm:
dsygvd()
all eigenvalues and eigenvectors by a divide-and-conquer algorithm, packed storage format:
dspgvd()
all eigenvalues and eigenvectors by reduction to tridiagonal form:
dsygv()
all eigenvalues and eigenvectors by reduction to tridiagonal form, packed storage format:
dspgv()
selected eigenvalues and eigenvectors by reduction to tridiagonal form:
dsygvx()
selected eigenvalues and eigenvectors by reduction to tridiagonal form, packed storage format:
dspgvx()
Generalized eigenvalue problems for nonsymmetric matrix pairs
complex nonsymmetric matrix pairs
all eigenvalues, generalized Schur form, Schur vectors and reciprocal condition numbers:
zggesx()
all eigenvalues, generalized Schur form and Schur vectors, deprecated:
zgges()
all eigenvalues, generalized Schur form and Schur vectors, using level 3 BLAS:
zgges3()
all eigenvalues and left/right eigenvectors, deprecated:
zggev()
all eigenvalues and left/right eigenvectors, plus the balancing transformation and reciprocal condition numbers:
zggevx()
all eigenvalues and left/right eigenvectors, using level 3 BLAS:
zggev3()
real nonsymmetric matrix pairs
all eigenvalues, generalized real Schur form and left/right Schur vectors, deprecated:
dgges()
all eigenvalues, generalized real Schur form and left/right Schur vectors, plus reciprocal condition numbers:
dggesx()
all eigenvalues, generalized real Schur form and left/right Schur vectors, using level 3 BLAS:
dgges3()
all eigenvalues and left/right eigenvectors, deprecated:
dggev()
all eigenvalues and left/right eigenvectors, plus the balancing transformation and reciprocal condition numbers:
dggevx()
all eigenvalues and left/right eigenvectors, using level 3 BLAS:
dggev3()
Generalized factorization
Generalized factorization
Generalized singular value decomposition
after reduction from complex general matrix
complex triangular or trapezoidal matrix pair:
ztgsja()
after reduction from real general matrix
real triangular or trapezoidal matrix pair:
dtgsja()
complex matrix pair, deprecated:
zggsvd()
complex matrix pair, using level 3 BLAS:
zggsvd3()
partitioned orthogonal matrix (CS decomposition):
dorcsd()
partitioned unitary matrix (CS decomposition):
zuncsd()
real matrix pair, deprecated:
dggsvd()
real matrix pair, using level 3 BLAS:
dggsvd3()
reduction of a pair of general matrices to triangular or trapezoidal form
least squares problems
complex matrices
apply orthogonal matrix:
zunmrz()
minimum norm solution using a complete orthogonal factorization:
zgelsy()
minimum norm solution using the singular value decomposition:
zgelss()
minimum norm solution using the singular value decomposition (divide-and-conquer):
zgelsd()
reduction of upper trapezoidal matrix to upper triangular form:
ztzrzf()
real matrices
apply orthogonal matrix:
dormrz()
minimum norm solution using a complete orthogonal factorization:
dgelsy()
minimum norm solution using the singular value decomposition:
dgelss()
minimum norm solution using the singular value decomposition (divide-and-conquer):
dgelsd()
reduction of upper trapezoidal matrix to upper triangular form:
dtzrzf()
least squares problems with linear equality constraints
Left and right eigenvectors of a pair of matrices
factorization and related operations
Operations on eigenvectors of a real symmetric or complex Hermitian matrix, or singular vectors of a general matrix
estimate condition numbers:
ddisna()
Operations on generalized Schur factorization of a general matrix pair
complex matrix
real matrix
Operations on Schur factorization of a general matrix
complex matrix
real matrix
Overdetermined and underdetermined linear systems
Performs a reduction of eigenvalue problems to condensed forms, and related operations
real rectangular band matrix to upper bidiagonal form:
dgbbrd()
factorization and related operations
factorization and related operations
complex matrices
general matrices
triangular-pentagonal matrices
real matrices
general matrices
apply orthogonal matrix:
dormqr()
apply orthogonal matrix, explicitly blocked:
dgemqrt()
factorization
with column pivoting, using BLAS-3:
dgeqp3()
factorization, orthogonal matrix:
dgeqrf()
factorization, with column pivoting, deprecated:
dgeqpf()
factorization, with explicit blocking:
dgeqrt()
form all or part of orthogonal matrix:
dorgqr()
triangular-pentagonal matrices
Reduction of a pair of general matrices to generalized upper Hessenberg form
Reduction of eigenvalue problems to condensed forms, and related operations
complex general matrix to upper Hessenberg form
complex Hermitian band matrix to real symmetric tridiagonal form:
zhbtrd()
complex Hermitian matrix to real symmetric tridiagonal form
complex rectangular band matrix to real upper bidiagonal form:
zgbbrd()
complex rectangular matrix to real bidiagonal form
real general matrix to upper Hessenberg form
real rectangular matrix to bidiagonal form
real symmetric band matrix to symmetric tridiagonal form:
dsbtrd()
real symmetric matrix to symmetric tridiagonal form
Reduction of generalized eigenproblems to standard eigenproblems
complex Hermitian-definite banded generalized eigenproblem :
zhbgst()
complex Hermitian-definite generalized eigenproblem , or :
zhegst()
complex Hermitian-definite generalized eigenproblem , or , packed storage:
zhpgst()
real symmetric-definite banded generalized eigenproblem :
dsbgst()
real symmetric-definite generalized eigenproblem , or :
dsygst()
real symmetric-definite generalized eigenproblem , or , packed storage:
dspgst()
factorization and related operations
Singular value decomposition
complex matrix
all/selected singular values and, optionally, the corresponding singular vectors:
zgesvdx()
preconditioned Jacobi SVD using fast scaled rotations and de Rijks pivoting:
zgejsv()
using a divide-and-conquer algorithm:
zgesdd()
using bidiagonal iteration:
zgesvd()
using fast scaled rotation and de Rijks pivoting:
zgesvj()
real matrix
all/selected singular values and, optionally, the corresponding singular vectors:
dgesvdx()
preconditioned Jacobi SVD using fast scaled rotations and de Rijks pivoting:
dgejsv()
using a divide-and-conquer algorithm:
dgesdd()
using bidiagonal iteration:
dgesvd()
using fast scaled rotation and de Rijks pivoting:
dgesvj()
real square bidiagonal matrix
all/selected singular values and, optionally, the corresponding singular vectors:
dbdsvdx()
Solve generalized Sylvester equation
Solve reduced form of Sylvester matrix equation
Split Cholesky factorization
For full information please refer to the NAG Library document
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f08/f08intro.html