[ English | Japanese ]
ASL Basic Functions Vol.1 (for C)
Chapter 1 INTRODUCTION
- 1.1
- OVERVIEW
- 1.1.1
- Introduction to The Advanced Scientific Library ASL C interface
- 1.1.2
- Distinctive Characteristics of ASL C interface
- 1.2
- KINDS OF LIBRARIES
- 1.3
- ORGANIZATION
- 1.3.1
- Introduction
- 1.3.2
- Organization of Function Description
- 1.3.3
- Contents of Each Item
- 1.4
- FUNCTION NAMES
- 1.5
- NOTES
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
- ASL_dabmcs, ASL_rabmcs
Storage Mode Conversion of a Real Band Matrix: from (Two-Dimensional Array Type) to (Band Type)- 2.2.2
- ASL_dabmel, ASL_rabmel
Storage Mode Conversion of a Real Band Matrix: from (Band Type) to (Two-Dimensional Array Type)- 2.2.3
- ASL_dasbcs, ASL_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
- ASL_dasbel, ASL_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
- ASL_darsjd, ASL_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
- ASL_dargjm, ASL_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
- ASL_zarsjd, ASL_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
- ASL_zargjm, ASL_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
- ASL_dxa005, ASL_rxa005
Storage Mode Conversion of the Sparse Matrix : from (One-Dimensional Column-Oriented List Format) to (ELLPACK Format)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
- ASL_dam1ad, ASL_ram1ad
Adding Real Matrices (Two-Dimensional Array Type)- 3.2.2
- ASL_dam1sb, ASL_ram1sb
Subtracting Real Matrices (Two-Dimensional Array Type)- 3.2.3
- ASL_dam1mu, ASL_ram1mu
Multiplying Real Matrices (Two-Dimensional Array Type)- 3.2.4
- ASL_dam1ms, ASL_ram1ms
Multiplying Real Matrices (Two-Dimensional Array Type) (Speed Priority Version)- 3.2.5
- ASL_damt1m, ASL_ramt1m
Multiplying a Real Matrix (Two-Dimensional Array Type) and Its Transpose Matrix- 3.2.6
- ASL_datm1m, ASL_ratm1m
Multiplying the Transpose Matrix of a Real Matrix (Two-Dimensional Array Type) and the Original Matrix- 3.2.7
- ASL_dam1mm, ASL_ram1mm
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± AB)- 3.2.8
- ASL_dam1mt, ASL_ram1mt
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ABT)- 3.2.9
- ASL_dam1tm, ASL_ram1tm
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATB)- 3.2.10
- ASL_dam1tt, ASL_ram1tt
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATBT)- 3.2.11
- ASL_zam1mm, ASL_cam1mm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB)- 3.2.12
- ASL_zam1mh, ASL_cam1mh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB*)- 3.2.13
- ASL_zam1hm, ASL_cam1hm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B)- 3.2.14
- ASL_zam1hh, ASL_cam1hh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B*)- 3.2.15
- ASL_zan1mm, ASL_can1mm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB)- 3.2.16
- ASL_zan1mh, ASL_can1mh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB*)- 3.2.17
- ASL_zan1hm, ASL_can1hm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B)- 3.2.18
- ASL_zan1hh, ASL_can1hh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B*)- 3.2.19
- ASL_dam1vm, ASL_ram1vm
Multiplying a Real Matrix (Two-Dimensional Array Type) and a Vector- 3.2.20
- ASL_dam3vm, ASL_ram3vm
Multiplying a Real Band Matrix (Band Type) and a Vector- 3.2.21
- ASL_dam4vm, ASL_ram4vm
Multiplying a Real Symmetric Band Matrix (Symmetric Band Type) and a Vector- 3.2.22
- ASL_dam1tp, ASL_ram1tp
Transposing a Real Matrix (Two-Dimensional Array Type)- 3.2.23
- ASL_dam3tp, ASL_ram3tp
Transposing a Real Band Matrix (Band Type)- 3.2.24
- ASL_damvj1, ASL_ramvj1
Matrix-Vector Product of a Real Random Sparse Matrix (JAD; Jagged Diagonals Storage Type) (y=βy+αAx)- 3.2.25
- ASL_damvj3, ASL_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
- ASL_damvj4, ASL_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
- ASL_zanvj1, ASL_canvj1
Matrix-Vector Product of a Complex Random Sparse Matrix (JAD; Jagged Diagonals Storage Type) (y=βy+αAx)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.3
- REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
(COMPLEX ARGUMENT TYPE)- 4.4
- COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (REAL ARGUMENT TYPE)
- 4.5
- COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (COMPLEX ARGUMENT TYPE)
- 4.6
- REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
- 4.6.1
- ASL_dcsmaa, ASL_rcsmaa
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix- 4.6.2
- ASL_dcsman, ASL_rcsman
All Eigenvalues of a Real Symmetric Matrix- 4.6.3
- ASL_dcsmss, ASL_rcsmss
Eigenvalues and Eigenvectors of a Real Symmetric Matrix- 4.6.4
- ASL_dcsmsn, ASL_rcsmsn
Eigenvalues of a Real Symmetric Matrix- 4.6.5
- ASL_dcsmee, ASL_rcsmee
Eigenvalues in an Interval and Their Eigenvectors of a Real Symmetric Matrix (Interval Specified)- 4.6.6
- ASL_dcsmen, ASL_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
- ASL_zchraa, ASL_cchraa
All Eigenvalues and All Eigenvectors of a Hermitian Matrix- 4.7.2
- ASL_zchran, ASL_cchran
All Eigenvalues of a Hermitian Matrix- 4.7.3
- ASL_zchrss, ASL_cchrss
Eigenvalues and Eigenvectors of a Hermitian Matrix- 4.7.4
- ASL_zchrsn, ASL_cchrsn
Eigenvalues of a Hermitian Matrix- 4.7.5
- ASL_zchree, ASL_cchree
Eigenvalues in an Interval and Their Eigenvectors of a Hermitian Matrix (Interval Specified)- 4.7.6
- ASL_zchren, ASL_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
- ASL_zcheaa, ASL_ccheaa
All Eigenvalues and All Eigenvectors of a Hermitian Matrix- 4.8.2
- ASL_zchean, ASL_cchean
All Eigenvalues of a Hermitian Matrix- 4.8.3
- ASL_zchess, ASL_cchess
Eigenvalues and Eigenvectors of a Hermitian Matrix- 4.8.4
- ASL_zchesn, ASL_cchesn
Eigenvalues of a Hermitian Matrix- 4.8.5
- ASL_zcheee, ASL_ccheee
Eigenvalues in an Interval and their Eigenvectors of a Hermitian Matrix (Interval Specified)- 4.8.6
- ASL_zcheen, ASL_ccheen
Eigenvalues in an Interval of a Hermitian Matrix (Interval Specified)- 4.9
- REAL SYMMETRIC BAND MATRIX (SYMMETRIC BAND TYPE)
- 4.9.1
- ASL_dcsbaa, ASL_rcsbaa
All Eigenvalues and All Eigenvectors of a Real Symmetric Band Matrix- 4.9.2
- ASL_dcsban, ASL_rcsban
All Eigenvalues of a Real Symmetric Band Matrix- 4.9.3
- ASL_dcsbss, ASL_rcsbss
Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix- 4.9.4
- ASL_dcsbsn, ASL_rcsbsn
Eigenvalues of a Real Symmetric Band Matrix- 4.9.5
- ASL_dcsbff, ASL_rcsbff
Eigenvalues and Eigenvectors of a Real Symmetric Band Matrix- 4.10
- REAL SYMMETRIC TRIDIAGONAL MATRIX (VECTOR TYPE)
- 4.10.1
- ASL_dcstaa, ASL_rcstaa
All Eigenvalues and All Eigenvectors Real Symmetric Tridiagonal Matrix- 4.10.2
- ASL_dcstan, ASL_rcstan
All Eigenvalues of a Real Symmetric Tridiagonal Matrix- 4.10.3
- ASL_dcstss, ASL_rcstss
Eigenvalues and Eigenvectors of a Real Symmetric Tridiagonal Matrix- 4.10.4
- ASL_dcstsn, ASL_rcstsn
Eigenvalues of a Real Symmetric Tridiagonal Matrix- 4.10.5
- ASL_dcstee, ASL_rcstee
Eigenvalues in an Interval and Their Eigenvectors of a Real Symmetric Tridiagonal Matrix (Interval Specified)- 4.10.6
- ASL_dcsten, ASL_rcsten
Eigenvalues in an Interval of a Real Symmetric Tridiagonal Matrix (Interval Specified)- 4.11
- REAL SYMMETRIC RANDOM SPARSE MATRIX
- 4.12
- COMPLEX HERMITIAN RANDOM SPARSE MATRIX
- 4.13
- GENERALIZED EIGENVALUE PROBLEM FOR A REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
- 4.14
- GENERALIZED EIGENVALUE PROBLEM (Ax = λBx) FOR A REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
- 4.14.1
- ASL_dcgsaa, ASL_rcgsaa
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)- 4.14.2
- ASL_dcgsan, ASL_rcgsan
All Eigenvalues of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)- 4.14.3
- ASL_dcgsss, ASL_rcgsss
Eigenvalues and Eigenvectors of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)- 4.14.4
- ASL_dcgssn, ASL_rcgssn
Eigenvalues of a Real Symmetric Matrix
(Generalized Eigenvalue Problem Ax = λBx, B: Positive)- 4.14.5
- ASL_dcgsee, ASL_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
- ASL_dcgsen, ASL_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.16
- GENERALIZED EIGENVALUE PROBLEM (BAx = λx) FOR REAL SYMMETRIC MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
- 4.17
- GENERALIZED EIGENVALUE PROBLEM (Az = λBz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
- 4.18
- GENERALIZED EIGENVALUE PROBLEM (Az = λBz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT TYPE)
- 4.19
- GENERALIZED EIGENVALUE PROBLEM (ABz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
- 4.20
- GENERALIZED EIGENVALUE PROBLEM (BAz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
- 4.21
- GENERALIZED EIGENVALUE PROBLEM FOR A REAL SYMMETRIC BAND MATRIX (SYMMETRIC BAND TYPE)
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 INTERFACE
- C.1
- Units for Determining Error
- C.2
- Maximum and Minimum Values of Floating Point Data