[ English | Japanese ]

ASL Basic Functions Vol.1 (for C)

Go to Top

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

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
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)

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
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)

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
ASL_dcgeaa, ASL_rcgeaa
All Eigenvalues and All Eigenvectors of a Real Matrix
4.2.2
ASL_dcgean, ASL_rcgean
All Eigenvalues of a Real Matrix
4.3
REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
(COMPLEX ARGUMENT TYPE)
4.3.1
ASL_dcgnaa, ASL_rcgnaa
All Eigenvalues and All Eigenvectors of a Real Matrix
4.3.2
ASL_dcgnan, ASL_rcgnan
All Eigenvalues of a Real Matrix
4.4
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (REAL ARGUMENT TYPE)
4.4.1
ASL_zcgeaa, ASL_ccgeaa
All Eigenvalues and All Eigenvectors of a Complex Matrix
4.4.2
ASL_zcgean, ASL_ccgean
All Eigenvalues of a Complex Matrix
4.5
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (COMPLEX ARGUMENT TYPE)
4.5.1
ASL_zcgnaa, ASL_ccgnaa
All Eigenvalues and All Eigenvectors of a Complex Matrix
4.5.2
ASL_zcgnan, ASL_ccgnan
All Eigenvalues of a Complex Matrix
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.11.1
ASL_dcsrss, ASL_rcsrss
Eigenvalues and Eigenvectors of a Real Symmetric Sparse Matrix (Symmetric One-Dimensional Row-Oriented List Type) (Upper Triangular Type)
4.11.2
ASL_dcsjss, ASL_rcsjss
Eigenvalues and Eigenvectors of a Real Symmetric Sparse Matrix (Jagged Diagonals Storage Type)
4.12
COMPLEX HERMITIAN RANDOM SPARSE MATRIX
4.12.1
ASL_zchjss, ASL_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
ASL_dcggaa, ASL_rcggaa
All Eigenvalues and All Eigenvectors of a Real Matrix (Generalized Eigenvalue Problem)
4.13.2
ASL_dcggan, ASL_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
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.15.1
ASL_dcgjaa, ASL_rcgjaa
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices
(Generalized Eigenvalue Problem ABx = λx, B: Positive)
4.15.2
ASL_dcgjan, ASL_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
ASL_dcgkaa, ASL_rcgkaa
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices
(Generalized Eigenvalue Problem BAx = λx, B: Positive)
4.16.2
ASL_dcgkan, ASL_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
ASL_zcgraa, ASL_ccgraa
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem Az = λBz, B: Positive)
4.17.2
ASL_zcgran, ASL_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
ASL_zcghaa, ASL_ccghaa
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem Az = Bλz, B: Positive)
4.18.2
ASL_zcghan, ASL_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
ASL_zcgjaa, ASL_ccgjaa
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem ABz = λz, B: Positive)
4.19.2
ASL_zcgjan, ASL_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
ASL_zcgkaa, ASL_ccgkaa
All Eigenvalues and All Eigenvectors of Hermitian Matrices
(Generalized Eigenvalue Problem BAz = λz, B: Positive)
4.20.2
ASL_zcgkan, ASL_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
ASL_dcgbff, ASL_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 INTERFACE
C.1
Units for Determining Error
C.2
Maximum and Minimum Values of Floating Point Data