[ English | Japanese ]

ASL Basic Functions Vol.1 (for Fortran)

Go to Top

Chapter 1  INTRODUCTION

1.1
OVERVIEW
1.1.1
Introduction to The Advanced Scientific Library ASL
1.1.2
Distinctive Characteristics of ASL
1.2
KINDS OF LIBRARIES
1.3
ORGANIZATION
1.3.1
Introduction
1.3.2
Organization of Subroutine Description
1.3.3
Contents of Each Item
1.4
SUBROUTINE NAMES
1.5
NOTES

Go to Top

Chapter 2  STORAGE MODE CONVERSION

2.1
INTRODUCTION
2.1.1
Algorithms Used
2.1.1.1
Real band matrix compression and restoration
2.1.1.2
Real symmetric band matrix compression and restoration
2.1.1.3
One-dimensional column-oriented list format storage of a sparse matrix
2.1.1.4
ELLPACK format of sparse matrix
2.2
STORAGE MODE CONVERSION
2.2.1
DABMCS, RABMCS
Storage Mode Conversion of a Real Band Matrix: from (Two-Dimensional Array Type) to (Band Type)
2.2.2
DABMEL, RABMEL
Storage Mode Conversion of a Real Band Matrix: from (Band Type) to (Two-Dimensional Array Type)
2.2.3
DASBCS, RASBCS
Storage Mode Conversion of a Real Symmetric Band Matrix: from (Two-Dimensional Array Type) (Upper Triangular Type) to (Symmetric Band Type)
2.2.4
DASBEL, RASBEL
Storage Mode Conversion of a Real Symmetric Band Matrix: from (Symmetric Band Type) to (Two-Dimensional Array Type) (Upper Triangular Type)
2.2.5
DARSJD, RARSJD
Storage Mode Conversion of a Real Symmetric Sparse Matrix: from (Real Symmetric One-Dimensional Row-Oriented List Type) (Upper Triangular Type) to (JAD)
2.2.6
DARGJM, RARGJM
Storage Mode Conversion of a Sparse Matrix: from (Real One-Dimensional Row-Oriented Block List Type) to (MJAD; Multiple Jagged Diagonals Storage Type)
2.2.7
ZARSJD, CARSJD
Storage Mode Conversion of a Hermitian Sparse Matrix: from (Hermitian One-Dimensional Row-Oriented List Type) (Upper Triangular Type) to (JAD; Jagged Diagonals Storage Type)
2.2.8
ZARGJM, CARGJM
Storage Mode Conversion of a Sparse Matrix: from (Complex One-Dimensional Row-Oriented Block List Type) to (MJAD; Multiple Jagged Diagonals Storage Type)
2.2.9
DXA005, RXA005
Storage Mode Conversion of the Sparse Matrix : from (One-Dimensional Column-Oriented List Format) to (ELLPACK Format)

Go to Top

Chapter 3  BASIC MATRIX ALGEBRA

3.1
INTRODUCTION
3.1.1
Algorithms Used
3.1.1.1
Real matrix multiplication (speed priority version)
3.2
BASIC CALCULATIONS
3.2.1
DAM1AD, RAM1AD
Adding Real Matrices (Two-Dimensional Array Type)
3.2.2
DAM1SB, RAM1SB
Subtracting Real Matrices (Two-Dimensional Array Type)
3.2.3
DAM1MU, RAM1MU
Multiplying Real Matrices (Two-Dimensional Array Type)
3.2.4
DAM1MS, RAM1MS
Multiplying Real Matrices (Two-Dimensional Array Type) (Speed Priority Version)
3.2.5
DAMT1M, RAMT1M
Multiplying a Real Matrix (Two-Dimensional Array Type) and Its Transpose Matrix
3.2.6
DATM1M, RATM1M
Multiplying the Transpose Matrix of a Real Matrix (Two-Dimensional Array Type) and the Original Matrix
3.2.7
DAM1MM, RAM1MM
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± AB)
3.2.8
DAM1MT, RAM1MT
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ABT)
3.2.9
DAM1TM, RAM1TM
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATB)
3.2.10
DAM1TT, RAM1TT
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATBT)
3.2.11
ZAM1MM, CAM1MM
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB)
3.2.12
ZAM1MH, CAM1MH
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB*)
3.2.13
ZAM1HM, CAM1HM
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B)
3.2.14
ZAM1HH, CAM1HH
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B*)
3.2.15
ZAN1MM, CAN1MM
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB)
3.2.16
ZAN1MH, CAN1MH
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB*)
3.2.17
ZAN1HM, CAN1HM
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B)
3.2.18
ZAN1HH, CAN1HH
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B*)
3.2.19
DAM1VM, RAM1VM
Multiplying a Real Matrix (Two-Dimensional Array Type) and a Vector
3.2.20
DAM3VM, RAM3VM
Multiplying a Real Band Matrix (Band Type) and a Vector
3.2.21
DAM4VM, RAM4VM
Multiplying a Real Symmetric Band Matrix (Symmetric Band Type) and a Vector
3.2.22
DAM1TP, RAM1TP
Transposing a Real Matrix (Two-Dimensional Array Type)
3.2.23
DAM3TP, RAM3TP
Transposing a Real Band Matrix (Band Type)
3.2.24
DAMVJ1, RAMVJ1
Matrix-Vector Product of a Real Random Sparse Matrix (JAD; Jagged Diagonals Storage Type) (y=βy+αAx)
3.2.25
DAMVJ3, RAMVJ3
Matrix-Vector Product of a Real Random Sparse Matrix (MJAD; Multiple Jagged Diagonals Storage Type: 3 x 3 Block Matrix) (y=βy+αAx)
3.2.26
DAMVJ4, RAMVJ4
Matrix-Vector Product of a Real Random Sparse Matrix (MJAD; Multiple Jagged Diagonals Storage Type: 4 x 4 Block Matrix) (y=βy+αAx)
3.2.27
ZANVJ1, CANVJ1
Matrix-Vector Product of a Complex Random Sparse Matrix (JAD; Jagged Diagonals Storage Type) (y=βy+αAx)

Go to Top

Chapter 4  EIGENVALUES AND EIGENVECTORS

4.1
INTRODUCTION
4.1.1
Notes
4.1.2
Algorithms Used
4.1.2.1
Transforming a real matrix to a Hessenberg matrix
4.1.2.2
Transforming a complex matrix to a Hessenberg matrix
4.1.2.3
Balancing real and complex matrices
4.1.2.4
QR method and double QR method
4.1.2.5
Transforming a real symmetric matrix to a real symmetric tridiagonal matrix
4.1.2.6
Transforming a Hermitian matrix to a real symmetric tridiagonal matrix
4.1.2.7
The Householder transformation by block algorithm
4.1.2.8
Transforming a real symmetric band matrix to a real symmetric tridiagonal matrix
4.1.2.9
QR method
4.1.2.10
Root-free QR method
4.1.2.11
Bisection method
4.1.2.12
Accumulation of similarity (unitary) transformation by block algorithm
4.1.2.13
Inverse iteration method
4.1.2.14
Generalized eigenvalue problem
4.1.2.15
QZ method and the combination shift QZ method
4.1.2.16
Subspace method
4.1.2.17
Sturm sequence check
4.1.2.18
Jacobi-Davidson method
4.1.2.19
Preconditioning for Jacobi-Davidson method
4.1.3
Reference Bibliography
4.2
REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
(REAL ARGUMENT TYPE)
4.2.1
DCGEAA, RCGEAA
All Eigenvalues and All Eigenvectors of a Real Matrix
4.2.2
DCGEAN, RCGEAN
All Eigenvalues of a Real Matrix
4.3
REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
(COMPLEX ARGUMENT TYPE)
4.3.1
DCGNAA, RCGNAA
All Eigenvalues and All Eigenvectors of a Real Matrix
4.3.2
DCGNAN, RCGNAN
All Eigenvalues of a Real Matrix
4.4
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (REAL ARGUMENT TYPE)
4.4.1
ZCGEAA, CCGEAA
All Eigenvalues and All Eigenvectors of a Complex Matrix
4.4.2
ZCGEAN, CCGEAN
All Eigenvalues of a Complex Matrix
4.5
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (COMPLEX ARGUMENT TYPE)
4.5.1
ZCGNAA, CCGNAA
All Eigenvalues and All Eigenvectors of a Complex Matrix
4.5.2
ZCGNAN, CCGNAN
All Eigenvalues of a Complex Matrix
4.6
REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
4.6.1
DCSMAA, RCSMAA
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix
4.6.2
DCSMAN, RCSMAN
All Eigenvalues of a Real Symmetric Matrix
4.6.3
DCSMSS, RCSMSS
Eigenvalues and Eigenvectors of a Real Symmetric Matrix
4.6.4
DCSMSN, RCSMSN
Eigenvalues of a Real Symmetric Matrix
4.6.5
DCSMEE, RCSMEE
Eigenvalues in an Interval and Their Eigenvectors of a Real Symmetric Matrix (Interval Specified)
4.6.6
DCSMEN, RCSMEN
Eigenvalues in an Interval of a Real Symmetric Matrix (Interval Specified)
4.7
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
4.7.1
ZCHRAA, CCHRAA
All Eigenvalues and All Eigenvectors of a Hermitian Matrix
4.7.2
ZCHRAN, CCHRAN
All Eigenvalues of a Hermitian Matrix
4.7.3
ZCHRSS, CCHRSS
Eigenvalues and Eigenvectors of a Hermitian Matrix
4.7.4
ZCHRSN, CCHRSN
Eigenvalues of a Hermitian Matrix
4.7.5
ZCHREE, CCHREE
Eigenvalues in an Interval and Their Eigenvectors of a Hermitian Matrix (Interval Specified)
4.7.6
ZCHREN, CCHREN
Eigenvalues in an Interval of a Hermitian Matrix (Interval Specified)
4.8
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT TYPE)
4.8.1
ZCHEAA, CCHEAA
All Eigenvalues and All Eigenvectors of a Hermitian Matrix
4.8.2
ZCHEAN, CCHEAN
All Eigenvalues of a Hermitian Matrix
4.8.3
ZCHESS, CCHESS
Eigenvalues and Eigenvectors of a Hermitian Matrix
4.8.4
ZCHESN, CCHESN
Eigenvalues of a Hermitian Matrix
4.8.5
ZCHEEE, CCHEEE
Eigenvalues in an Interval and their Eigenvectors of a Hermitian Matrix (Interval Specified)
4.8.6
ZCHEEN, CCHEEN
Eigenvalues in an Interval of a Hermitian Matrix (Interval Specified)
4.9
REAL SYMMETRIC BAND MATRIX (SYMMETRIC BAND TYPE)
4.9.1
DCSBAA, RCSBAA
All Eigenvalues and All Eigenvectors of a Real Symmetric Band Matrix
4.9.2
DCSBAN, RCSBAN
All Eigenvalues of a Real Symmetric Band Matrix
4.9.3
DCSBSS, RCSBSS
Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix
4.9.4
DCSBSN, RCSBSN
Eigenvalues of a Real Symmetric Band Matrix
4.9.5
DCSBFF, RCSBFF
Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix
4.10
REAL SYMMETRIC TRIDIAGONAL MATRIX (VECTOR TYPE)
4.10.1
DCSTAA, RCSTAA
All Eigenvalues and All Eigenvectors Real Symmetric Tridiagonal Matrix
4.10.2
DCSTAN, RCSTAN
All Eigenvalues of a Real Symmetric Tridiagonal Matrix
4.10.3
DCSTSS, RCSTSS
Eigenvalues and Eigenvectors of a Real Symmetric Tridiagonal Matrix
4.10.4
DCSTSN, RCSTSN
Eigenvalues of a Real Symmetric Tridiagonal Matrix
4.10.5
DCSTEE, RCSTEE
Eigenvalues in an Interval and Their Eigenvectors of a Real Symmetric Tridiagonal Matrix (Interval Specified)
4.10.6
DCSTEN, RCSTEN
Eigenvalues in an Interval of a Real Symmetric Tridiagonal Matrix (Interval Specified)
4.11
REAL SYMMETRIC RANDOM SPARSE MATRIX
4.11.1
DCSRSS, RCSRSS
Eigenvalues and Eigenvectors of a Real Symmetric Sparse Matrix (Symmetric One-Dimensional Row-Oriented List Type) (Upper Triangular Type)
4.11.2
DCSJSS, RCSJSS
Eigenvalues and Eigenvectors of a Real Symmetric Sparse Matrix (Jagged Diagonals Storage Type)
4.12
COMPLEX HERMITIAN RANDOM SPARSE MATRIX
4.12.1
ZCHJSS, CCHJSS
Eigenvalues and Eigenvectors of a Complex Hermitian Sparse Matrix (JAD; Jagged Diagonals Storage Type)
4.13
GENERALIZED EIGENVALUE PROBLEM FOR A REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
4.13.1
DCGGAA, RCGGAA
All Eigenvalues and All Eigenvectors of a Real Matrix (Generalized Eigenvalue Problem)
4.13.2
DCGGAN, RCGGAN
All Eigenvalues of a Real Matrix (Generalized Eigenvalue Problem)
4.14
GENERALIZED EIGENVALUE PROBLEM (Ax = λBx) FOR A REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
4.14.1
DCGSAA, RCGSAA
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.14.2
DCGSAN, RCGSAN
All Eigenvalues of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.14.3
DCGSSS, RCGSSS
Eigenvalues and Eigenvectors of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.14.4
DCGSSN, RCGSSN
Eigenvalues of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.14.5
DCGSEE, RCGSEE
Eigenvalues in an Interval and Their Eigenvectors of a Real Symmetric Matrix (Interval Specified) (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.14.6
DCGSEN, RCGSEN
Eigenvalues in an Interval of a Real Symmetric Matrix
(Interval Specified) (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
4.15
GENERALIZED EIGENVALUE PROBLEM (ABx = λx) FOR REAL SYMMETRIC MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
4.15.1
DCGJAA, RCGJAA
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices
(Generalized Eigenvalue Problem ABx = λx, B: Positive)
4.15.2
DCGJAN, RCGJAN
All Eigenvalues of Real Symmetric Matrices
(Generalized Eigenvalue Problem ABx = λx, B: Positive)
4.16
GENERALIZED EIGENVALUE PROBLEM (BAx = λx) FOR REAL SYMMETRIC MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
4.16.1
DCGKAA, RCGKAA
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices
(Generalized Eigenvalue Problem BAx = λx, B: Positive)
4.16.2
DCGKAN, RCGKAN
All Eigenvalues of Real Symmetric Matrices
(Generalized Eigenvalue Problem BAx = λx, B: Positive)
4.17
GENERALIZED EIGENVALUE PROBLEM (Az = λBz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
4.17.1
ZCGRAA, CCGRAA
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem Az = λBz, B: Positive)
4.17.2
ZCGRAN, CCGRAN
All Eigenvalues of Hermitian Matrices
(Generalized Eigenvalue Problem Az = λBz, B: Positive)
4.18
GENERALIZED EIGENVALUE PROBLEM (Az = λBz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT TYPE)
4.18.1
ZCGHAA, CCGHAA
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem Az = Bλz, B: Positive)
4.18.2
ZCGHAN, CCGHAN
All Eigenvalues of Hermitian Matrices
(Generalized Eigenvalue Problem Az = Bλz, B: Positive)
4.19
GENERALIZED EIGENVALUE PROBLEM (ABz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
4.19.1
ZCGJAA, CCGJAA
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem ABz = λz, B: Positive)
4.19.2
ZCGJAN, CCGJAN
All Eigenvalues of Hermitian Matrices
(Generalized Eigenvalue Problem ABz = λz, B: Positive)
4.20
GENERALIZED EIGENVALUE PROBLEM (BAz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
4.20.1
ZCGKAA, CCGKAA
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem BAz = λz, B: Positive)
4.20.2
ZCGKAN, CCGKAN
All Eigenvalues of Hermitian Matrices
(Generalized Eigenvalue Problem BAz = λz, B: Positive)
4.21
GENERALIZED EIGENVALUE PROBLEM FOR A REAL SYMMETRIC BAND MATRIX (SYMMETRIC BAND TYPE)
4.21.1
DCGBFF, RCGBFF
Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix
(Generalized Eigenvalue Problem)

Go to Top

Appendix

Appendix A
GLOSSARY
Appendix B
METHODS OF HANDLING ARRAY DATA
B.1
Methods of handling array data corresponding to matrix
B.2
Data storage modes
B.2.1
Real matrix (two-dimensional array type)
B.2.2
Complex matrix
B.2.3
Real symmetric matrix and positive symmetric matrix
B.2.4
Hermitian matrix
B.2.5
Real band matrix
B.2.6
Real symmetric band matrix and positive symmetric matrix (symmetric band type)
B.2.7
Real symmetric tridiagonal matrix and positive symmetric tridiagonal matrix (vector type)
B.2.8
Triangular matrix
B.2.9
Random sparse matrix (For symmetric matrix only)
B.2.10
Random sparse matrix
B.2.11
Hermitian sparse matrix (Hermitian one-dimensional row-oriented list type) (upper triangular type)
Appendix C
MACHINE CONSTANTS USED IN ASL
C.1
Units for Determining Error
C.2
Maximum and Minimum Values of Floating Point Data