SMG2S
SMG2S (Sparse Matrix Generator with Given Spectrum) is able to generate large-scale non-Hermitian and non-Symmetric matrices in parallel with the spectral distribution functions or eigenvalues given by users, and the spectrum of generated matrix is the same as the one specified by the users.
Description
What is SMG2S?
SMG2S is able to generate large-scale non-Hermitian and non-Symmetric matrices in parallel with the spectral distribution functions or eigenvalues given by users, and the spectrum of generated matrix is the same as the one specified by the users. SMG2S can be used to benchmark the iterative solvers for both linear systems and eigenvalue problems on supercomputers using the generated very large test matrices with customized spectral properties.
As a matrix generator, SMG2S provides:
-
generating of both Non-Hermitian and Non-Symmetric sparse matrix
-
generated matrices are naturally sparse with non-trivial sparsity pattern
-
Given Spectrum: the spectrum of generated matrix is the same as the one specified by the users
-
Sparsity patterns are diverse and controllable
As a software, SMG2S provides:
- a collection of C++ header only files
- C++ templated implementation for different data type
- parallel implementation based on MPI which is able to efficiently generate very large sparse matrices in parallel on supercomputers
- an easy-to-use C interface
- a verification module based on Python for the sparsity pattern plotting and spectrum verification of small size of generated matrix.
- Efficient parallel IO to store the generated matrix into MatrixMarket format
Cite SMG2S
If you find SMG2S useful in your project, we kindly request that you cite the following paper:
Wu, Xinzhe, Serge G. Petiton, and Yutong Lu. "A Parallel Generator of Non-Hermitian Matrices computed from Given Spectra." Concurrency and Computation: Practice and Experience, 32(20), e5710, 2020. [DOI] [PDF].
- MIT