{"title":"Jagged non-zero submatrix data structure","authors":"Giga Chalauri , Vakhtang Laluashvili , Koba Gelashvili","doi":"10.1016/j.trmi.2017.10.002","DOIUrl":null,"url":null,"abstract":"<div><p>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 <em>jnz-format</em>.</p><p>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: </p><ul><li><span>•</span><span><p>For what amount of zero-entries do we accept the rectangular matrix as sparse, with respect to used memory and speed;</p></span></li><li><span>•</span><span><p>What should the <em>jnz-format</em>’s interface look like.</p></span></li></ul>Determining the interface is comparatively laborious; <em>jnz-format</em> is compared to two approved formats—CRS and <em>Mapped Matrix</em>. In comparisons, CRS format is considered by using two different implementations, whilst <em>jnz</em> and <em>Mapped Matrix</em> —by using one. In comparisons, we use <em>jnz</em> and CRS formats with our own simple interface implementations and CRS and <em>Mapped Matrix</em> with <em>boost</em>’s library interfaces and implementations. Experiments’ results show <em>jnz</em> format’s prospect and visible advantage of the relatively easy interface.<p>All the material regarding experiments can be seen at <span>https://github.com/vakho10/Sparse-Storage-Formats</span><svg><path></path></svg>.</p></div>","PeriodicalId":43623,"journal":{"name":"Transactions of A Razmadze Mathematical Institute","volume":"172 1","pages":"Pages 7-14"},"PeriodicalIF":0.3000,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.trmi.2017.10.002","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Transactions of A Razmadze Mathematical Institute","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2346809217300727","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"MATHEMATICS","Score":null,"Total":0}
引用次数: 2
Abstract
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.