[ English | Japanese ]

ASL Shared Memory Parallel Functions (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
ASL C INTERFACE SHARED MEMORY PARALLEL FUNCTIONS
1.5.1
Overview of Shared Memory Parallel Functions
1.5.2
Performance Improvement Due to Parallel Functions
1.5.3
General Notes Concerning the Use of shared memory Parallel Functions
1.6
NOTES

Go to Top

Chapter 2  BASIC MATRIX ALGEBRA

2.1
INTRODUCTION
2.1.1
Notes
2.1.2
Algorithms Used
2.1.2.1
Matrix Multiplication
2.2
BASIC MATRIX ALGEBRA
2.2.1
ASL_qam1mu, ASL_pam1mu
Multiplying Real Matrices (Two-Dimensional Array Type)
2.2.2
ASL_qam1mm, ASL_pam1mm
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± AB)
2.2.3
ASL_qam1mt, ASL_pam1mt
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ABT)
2.2.4
ASL_qam1tm, ASL_pam1tm
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATB)
2.2.5
ASL_qam1tt, ASL_pam1tt
Multiplying Real Matrices (Two-Dimensional Array Type) (C=C± ATBT)
2.2.6
ASL_ham1mm, ASL_gam1mm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB)
2.2.7
ASL_ham1mh, ASL_gam1mh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± AB*)
2.2.8
ASL_ham1hm, ASL_gam1hm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B)
2.2.9
ASL_ham1hh, ASL_gam1hh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Real Argument Type) (C=C± A*B*)
2.2.10
ASL_han1mm, ASL_gan1mm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB)
2.2.11
ASL_han1mh, ASL_gan1mh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± AB*)
2.2.12
ASL_han1hm, ASL_gan1hm
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B)
2.2.13
ASL_han1hh, ASL_gan1hh
Multiplying Complex Matrices (Two-Dimensional Array Type) (Complex Argument Type) (C=C± A*B*)

Go to Top

Chapter 3  SIMULTANEOUS LINEAR EQUATIONS (DIRECT METHOD)

3.1
INTRODUCTION
3.1.1
Methods of using functions
3.1.2
Notes
3.1.3
Algorithms Used
3.1.3.1
Solution of Simultaneous Linear Equations
3.1.3.2
LU Decomposition (Gauss Method)
3.1.4
Reference Bibliography
3.2
REAL MATRIX (TWO-DIMENSIONAL ARRAY TYPE)
3.2.1
ASL_qbgmsm
Simultaneous Linear Equations with Multiple Right-Hand Sides (Real Matrix)
3.2.2
ASL_qbgmsl
Simultaneous Linear Equations (Real Matrix)
3.2.3
ASL_qbgmlu
LU Decomposition of a Real Matrix
3.2.4
ASL_qbgmlc
LU Decomposition and Condition Number of a Real Matrix
3.3
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (REAL ARGUMENT TYPE)
3.3.1
ASL_hbgmsm
Simultaneous Linear Equations with Multiple Right-Hand Sides (Complex Matrix)
3.3.2
ASL_hbgmsl
Simultaneous Linear Equation (Complex Matrix)
3.3.3
ASL_hbgmlu
LU Decomposition of a Complex Matrix
3.3.4
ASL_hbgmlc
LU Decomposition and Condition Number of a Complex Matrix
3.4
COMPLEX MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (COMPLEX ARGUMENT TYPE)
3.4.1
ASL_hbgnsm
Simultaneous Linear Equations with Multiple Right-Hand Sides (Complex Matrix)
3.4.2
ASL_hbgnsl
Simultaneous Linear Equations (Complex Matrix)
3.4.3
ASL_hbgnlu
LU Decomposition of a Complex Matrix
3.4.4
ASL_hbgnlc
LU Decomposition and Condition Number of a Complex Matrix
3.5
REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
3.5.1
ASL_qbspsl, ASL_pbspsl
Simultaneous Linear Equations (Real Symmetric Matrix)
3.5.2
ASL_qbspud, ASL_pbspud
LDLT Decomposition of a Real Symmetric Matrix
3.6
REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE, LOWER TRIANGULAR TYPE) (NO PIVOTING)
3.6.1
ASL_qbsnsl, ASL_pbsnsl
Simultaneous Linear Equations (Real Symmetric Matrix) (No Pivoting)
3.6.2
ASL_qbsnud, ASL_pbsnud
UTDU Decomposition of a Real Symmetric Matrix (No Pivoting)
3.7
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
3.7.1
ASL_hbhpsl, ASL_gbhpsl
Simultaneous Linear Equations (Hermitian Matrix)
3.7.2
ASL_hbhpud, ASL_gbhpud
LDL* Decomposition of a Hermitian Matrix
3.8
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE) (NO PIVOTING)
3.8.1
ASL_hbhrsl, ASL_gbhrsl
Simultaneous Linear Equations (Hermitian Matrix) (No Pivoting)
3.8.2
ASL_hbhrud, ASL_gbhrud
LDL* Decomposition of a Hermitian Matrix (No Pivoting)
3.9
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT
TYPE)
3.9.1
ASL_hbhfsl, ASL_gbhfsl
Simultaneous Linear Equations (Hermitian Matrix)
3.9.2
ASL_hbhfud, ASL_gbhfud
LDL* Decomposition of a Hermitian Matrix
3.10
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT TYPE) (NO PIVOTING)
3.10.1
ASL_hbhesl, ASL_gbhesl
Simultaneous Linear Equations (Hermitian Matrix) (No Pivoting)
3.10.2
ASL_hbheud, ASL_gbheud
LDL* Decomposition of a Hermitian Matrix (No Pivoting)

Go to Top

Chapter 4  SIMULTANEOUS LINEAR EQUATIONS (ITERATIVE METHOD)

4.1
INTRODUCTION
4.1.1
Notes
4.1.2
Algorithms Used
4.1.2.1
Nonstationary iterative method (for Symmetric Matrix only)
4.1.2.2
Nonstationary iterative method (for Asymmetric Matrix)
4.1.2.3
Preconditioned Iterative Method
4.1.2.4
Preconditioning Methods
4.1.2.5
Advanced Techniques for Improving Performance
4.1.3
Reference Bibliography
4.2
SPARSE MATRIX--NONSTATIONARY ITERATIVE METHODS (BASIC ITERATION METHOD FUNCTIONS)
4.2.1
ASL_qxe010, ASL_pxe010
Positive Definite Symmetric Sparse Matrix (ELLPACK Format) (CG method)
4.2.2
ASL_qxe020, ASL_pxe020
Asymmetric Sparse Matrix (ELLPACK Format) (CGS method)
4.2.3
ASL_qxe030, ASL_pxe030
Asymmetric Sparse Matrix (ELLPACK Format) (BiCGSTAB method)
4.2.4
ASL_qxe040, ASL_pxe040
Asymmetric Sparse Matrix (ELLPACK Format) (GMRES (m) method)

Go to Top

Chapter 5  EIGENVALUES AND EIGENVECTORS

5.1
INTRODUCTION
5.1.1
Notes
5.1.2
Algorithms Used
5.1.2.1
Transforming a real symmetric matrix to a real symmetric tridiagonal matrix
5.1.2.2
Transforming a Hermitian matrix to a real symmetric tridiagonal matrix
5.1.2.3
The Householder transformation by block algorithm
5.1.2.4
QR method
5.1.2.5
root-free QR method
5.1.2.6
Bisection method
5.1.2.7
Accumulation of similarity (unitary) transformation by block algorithm
5.1.2.8
Inverse iteration method
5.1.2.9
Generalized eigenvalue problem
5.1.3
Reference Bibliography
5.2
REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE)
5.2.1
ASL_qcsmaa, ASL_pcsmaa
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix
5.2.2
ASL_qcsman, ASL_pcsman
All Eigenvalues of a Real Symmetric Matrix
5.2.3
ASL_qcsmss, ASL_pcsmss
Eigenvalues and Eigenvectors of a Real Symmetric Matrix
5.2.4
ASL_qcsmsn, ASL_pcsmsn
Eigenvalues of a Real Symmetric Matrix
5.3
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
5.3.1
ASL_hchraa, ASL_gchraa
All Eigenvalues and All Eigenvectors of a Hermitian Matrix
5.3.2
ASL_hchran, ASL_gchran
All Eigenvalues of a Hermitian Matrix
5.3.3
ASL_hchrss, ASL_gchrss
Eigenvalues and Eigenvectors of a Hermitian Matrix
5.3.4
ASL_hchrsn, ASL_gchrsn
Eigenvalues of a Hermitian Matrix
5.4
HERMITIAN MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (COMPLEX ARGUMENT TYPE)
5.4.1
ASL_hcheaa, ASL_gcheaa
All Eigenvalues and All Eigenvectors of a Hermitian Matrix
5.4.2
ASL_hchean, ASL_gchean
All Eigenvalues of a Hermitian Matrix
5.4.3
ASL_hchess, ASL_gchess
Eigenvalues and Eigenvectors of a Hermitian Matrix
5.4.4
ASL_hchesn, ASL_gchesn
Eigenvalues of a Hermitian Matrix
5.5
GENERALIZED EIGENVALUE PROBLEM FOR A REAL SYMMETRIC MATRIX (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (Ax = λBx)
5.5.1
ASL_qcgsaa, ASL_pcgsaa
All Eigenvalues and All Eigenvectors of a Real Symmetric Matrix (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
5.5.2
ASL_qcgsan, ASL_pcgsan
All Eigenvalues of a Real Symmetric Matrix (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
5.5.3
ASL_qcgsss, ASL_pcgsss
Eigenvalues and Eigenvectors of a Real Symmetric Matrix (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
5.5.4
ASL_qcgssn, ASL_pcgssn
Eigenvalues of a Real Symmetric Matrix (Generalized Eigenvalue Problem Ax = λBx, B: Positive)
5.6
GENERALIZED EIGENVALUE PROBLEM FOR REAL SYMMETRIC MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (ABx = λx)
5.6.1
ASL_qcgjaa, ASL_pcgjaa
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices (Generalized Eigenvalue Problem ABx = λx, B: Positive)
5.6.2
ASL_qcgjan, ASL_pcgjan
All Eigenvalues of Real Symmetric Matrices (Generalized Eigenvalue Problem ABx = λx, B: Positive)
5.7
GENERALIZED EIGENVALUE PROBLEM FOR REAL SYMMETRIC MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (BAx = λx)
5.7.1
ASL_qcgkaa, ASL_pcgkaa
All Eigenvalues and All Eigenvectors of Real Symmetric Matrices (Generalized Eigenvalue Problem BAx = λx, B: Positive)
5.7.2
ASL_qcgkan, ASL_pcgkan
All Eigenvalues of Real Symmetric Matrices (Generalized Eigenvalue Problem BAx = λx, B: Positive)
5.8
GENERALIZED EIGENVALUE PROBLEM (Az = λBz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
5.8.1
ASL_hcgraa, ASL_gcgraa
All Eigenvalues and All Eigenvectors of Hermitian Matrices (Generalized Eigenvalue Problem Az = λBz, B: Positive)
5.8.2
ASL_hcgran, ASL_gcgran
All Eigenvalues of Hermitian Matrices (Generalized Eigenvalue Problem Az = λBz, B: Positive)
5.9
GENERALIZED EIGENVALUE PROBLEM (ABz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
5.9.1
ASL_hcgjaa, ASL_gcgjaa
All Eigenvalues and All Eigenvectors of Hermitian Matrices (Generalized Eigenvalue Problem ABz = λz, B: Positive)
5.9.2
ASL_hcgjan, ASL_gcgjan
All Eigenvalues of Hermitian Matrices
(Generalized Eigenvalue Problem ABz = λz, B: Positive)
5.10
GENERALIZED EIGENVALUE PROBLEM (BAz = λz) FOR HERMITIAN MATRICES (TWO-DIMENSIONAL ARRAY TYPE) (UPPER TRIANGULAR TYPE) (REAL ARGUMENT TYPE)
5.10.1
ASL_hcgkaa, ASL_gcgkaa
All Eigenvalues and All Eigenvectors of Hermitian Matrices (Generalized Eigenvalue Problem BAz = λz, B: Positive)
5.10.2
ASL_hcgkan, ASL_gcgkan
All Eigenvalues of Hermitian Matrices (Generalized Eigenvalue Problem BAz = λz, B: Positive)

Go to Top

Chapter 6  FOURIER TRANSFORMS AND THEIR APPLICATIONS

6.1
INTRODUCTION
6.1.1
Notes
6.1.2
Algorithms Used
6.1.2.1
Two-dimensional complex Fourier transform
6.1.2.2
Two-dimensional real Fourier transform
6.1.2.3
Three-dimensional complex Fourier transform
6.1.2.4
Three-dimensional real Fourier transform
6.1.3
Reference Bibliography
6.2
MULTIPLE ONE-DIMENSIONAL COMPLEX FOURIER TRANSFORM (REAL ARGUMENT TYPE)
6.2.1
[DEPRECATED]ASL_qfcmfb, ASL_pfcmfb
Multiple One-Dimensional Complex Fourier Transforms (Include Initialization)
6.2.2
[DEPRECATED]ASL_qfcmbf, ASL_pfcmbf
Multiple One-Dimensional Complex Fourier Transforms (After Initialization)
6.3
MULTIPLE ONE-DIMENSIONAL COMPLEX FOURIER TRANSFORM (COMPLEX ARGUMENT TYPE)
6.3.1
[DEPRECATED]ASL_hfcmfb, ASL_gfcmfb
Multiple One-Dimensional Complex Fourier Transforms (Include Initialization)
6.3.2
[DEPRECATED]ASL_hfcmbf, ASL_gfcmbf
Multiple One-Dimensional Complex Fourier Transforms (After Initialization)
6.4
MULTIPLE ONE-DIMENSIONAL REAL FOURIER TRANSFORM
6.4.1
[DEPRECATED]ASL_qfrmfb, ASL_pfrmfb
Multiple One-Dimensional Real Fourier Transforms (Including Initialization)
6.4.2
[DEPRECATED]ASL_qfrmbf, ASL_pfrmbf
Multiple One-Dimensional Real Fourier Transforms (After Initialization)
6.5
TWO-DIMENSIONAL COMPLEX FOURIER TRANSFORM (REAL ARGUMENT TYPE)
6.5.1
[DEPRECATED]ASL_qfc2fb, ASL_pfc2fb
Two-Dimensional Complex Fourier Transform (Including Initialization)
6.5.2
[DEPRECATED]ASL_qfc2bf, ASL_pfc2bf
Two-Dimensional Complex Fourier Transform (After Initialization)
6.6
TWO-DIMENSIONAL COMPLEX FOURIER TRANSFORM (COMPLEX ARGUMENT TYPE)
6.6.1
[DEPRECATED]ASL_hfc2fb, ASL_gfc2fb
Two-Dimensional Complex Fourier Transform (Including Initialization)
6.6.2
[DEPRECATED]ASL_hfc2bf, ASL_gfc2bf
Two-Dimensional Complex Fourier Transform (After Initialization)
6.7
TWO-DIMENSIONAL REAL FOURIER TRANSFORM
6.7.1
[DEPRECATED]ASL_qfr2fb, ASL_pfr2fb
Two-Dimensional Real Fourier Transform (Including Initialization)
6.7.2
[DEPRECATED]ASL_qfr2bf, ASL_pfr2bf
Two-Dimensional Real Fourier Transform (After Initialization)
6.8
THREE-DIMENSIONAL COMPLEX FOURIER TRANSFORM (REAL ARGUMENT TYPE)
6.8.1
[DEPRECATED]ASL_qfc3fb, ASL_pfc3fb
Three-Dimensional Complex Fourier Transform (Including Initialization)
6.8.2
[DEPRECATED]ASL_qfc3bf, ASL_pfc3bf
Three-Dimensional Complex Fourier Transform (After Initialization)
6.9
THREE-DIMENSIONAL COMPLEX FOURIER TRANSFORM (COMPLEX ARGUMENT TYPE)
6.9.1
[DEPRECATED]ASL_hfc3fb, ASL_gfc3fb
Three-Dimensional Complex Fourier Transform (Including Initialization)
6.9.2
[DEPRECATED]ASL_hfc3bf, ASL_gfc3bf
Three-Dimensional Complex Fourier Transform (After Initialization)
6.10
THREE-DIMENSIONAL REAL FOURIER TRANSFORM
6.10.1
[DEPRECATED]ASL_qfr3fb, ASL_pfr3fb
Three-Dimensional Real Fourier Transform (Including Initialization)
6.10.2
[DEPRECATED]ASL_qfr3bf, ASL_pfr3bf
Three-Dimensional Real Fourier Transform (After Initialization)
6.11
CONVOLUTIONS
6.11.1
ASL_qfcn2d, ASL_pfcn2d
Two-Dimensional Convolutions
6.11.2
ASL_qfcn3d, ASL_pfcn3d
Three-Dimensional Convolutions
6.12
CORRELATIONS
6.12.1
ASL_qfcr2d, ASL_pfcr2d
Two-Dimensional Correlations
6.12.2
ASL_qfcr3d, ASL_pfcr3d
Three-Dimensional Correlations
6.13
POWER SPECTRUM ANALYSIS
6.13.1
ASL_qfps2d, ASL_pfps2d
Two-Dimensional Fourier Periodograms
6.13.2
ASL_qfps3d, ASL_pfps3d
Three-Dimensional Fourier Periodograms

Go to Top

Chapter 7  SORTING


Go to Top

Appendix

Appendix A
METHODS OF HANDLING ARRAY DATA
A.1
Methods of handling array data corresponding to matrix
A.2
Data storage modes
A.2.1
Real matrix (two-dimensional array type)
A.2.2
Complex matrix
A.2.3
Real symmetric matrix and positive symmetric matrix
A.2.4
Hermitian matrix
A.2.5
Random sparse matrix (For symmetric matrix only)
A.2.6
Random sparse matrix
Appendix B
MACHINE CONSTANTS USED IN ASL C INTERFACE
B.1
Units for Determining Error
B.2
Maximum and Minimum Values of Floating Point Data