Jagged non-zero submatrix data structure

On the basis of C language matrix having rows of different length, we havedeveloped a new storage format for rectangular matrix. It stores non-zero entries, their column indices and is called jagged non-zero sub-matrix data structure or simply jnz-format.In case of simple applications, when the only...

Full description

Bibliographic Details
Main Authors: Giga Chalauri, Vakhtang Laluashvili, Koba Gelashvili
Format: Article
Language:English
Published: Elsevier 2018-04-01
Series:Transactions of A. Razmadze Mathematical Institute
Online Access:http://www.sciencedirect.com/science/article/pii/S2346809217300727
Description
Summary:On the basis of C language matrix having rows of different length, we havedeveloped a new storage format for rectangular matrix. It stores non-zero entries, their column indices and is called jagged non-zero sub-matrix data structure or simply jnz-format.In case of simple applications, when the only requirement from the format is to ensure the serial algorithm of multiplying matrix by vector (e.g. conjugate gradient (CG) method), two following issues are experimentally studied: • For what amount of zero-entries do we accept the rectangular matrix as sparse, with respect to used memory and speed; • What should the jnz-format’s interface look like. Determining the interface is comparatively laborious; jnz-format is compared to two approved formats—CRS and Mapped Matrix. In comparisons, CRS format is considered by using two different implementations, whilst jnz and Mapped Matrix —by using one. In comparisons, we use jnz and CRS formats with our own simple interface implementations and CRS and Mapped Matrix with boost’s library interfaces and implementations. Experiments’ results show jnz format’s prospect and visible advantage of the relatively easy interface.All the material regarding experiments can be seen at https://github.com/vakho10/Sparse-Storage-Formats. Keywords: Sparse matrix, Mapped matrix, Compressed matrix, Compressed sparse row, Java sparse array, jnz-format, GitHub, Boost library, Conjugate gradient method
ISSN:2346-8092