Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “Sparse matrix”

Sparse Matrix

Edward DongBo Cui · 2024

This chapter examines the seven variants of sparse matrices implemented in the Scipy library. These seven variants include: coordinate sparse matrix, compressed sparse column matrix, compressed sparse row matrix, block sparse row matrix, dictionary of keys sparse matrix, row-based list of list sparse matrix, and diagonal storage sparse matrix. The chapter considers several cases of sparse matrix broadcasting. These include: scalar broadcasting, row-wise broadcasting, and column-wise broadcasting. To help further advance our knowledge in practical machine learning implementations, the chapter looks briefly into the sparse data structure classes implemented by deep learning libraries such as Tensorflow and PyTorch. In addition to the sparse matrix implementations in Scipy, Tensorflow, and PyTorch, other Python libraries also have sparse data structure implemented. The chapter concludes with a case study on implementing matrix factorization with the alternating least square method using the sparse data structures.

Cited by 1Open access

Sparse Matrix Factorization

Behnam Neyshabur, Rina Panigrahy‎ · arXiv (Cornell University) · 2013

We investigate the problem of factorizing a matrix into several sparse matrices and propose an algorithm for this under randomness and sparsity assumptions. This problem can be viewed as a simplification of the deep learning problem where finding a factorization corresponds to finding edges in different layers and values of hidden units. We prove that under certain assumptions for a sparse linear deep network with $n$ nodes in each layer, our algorithm is able to recover the structure of the network and values of top layer hidden units for depths up to $\tilde O(n^{1/6})$. We further discuss the relation among sparse matrix factorization, deep learning, sparse recovery and dictionary learning.

Cited by 23Open access

Sparse matrix computations

Michael T. Heath · 1984

Numerical linear algebra plays a vital role in all parts of computational mathematics, such as differential equations and optimization, and in many application areas, such as control theory. Large systems in these areas generally lead to linear algebra problems involving large sparse matrices (i.e., matrices of large dimension, but whose entries are mostly zeros). Efficient use of computer resources in solving such sparse matrix problems requires special techniques which have a distinct flavor compared to those used for dense matrices. We survey the current state of the art in sparse matrix computations, including the solution of systems of linear algebraic equations, linear least squares problems, and eigenvalue problems. Emphasis is placed on direct methods, but iterative methods are also considered. We also emphasize the concrete and useful expression of algorithms in the form of computer software.

Cited by 9

spam: SPArse Matrix

Reinhard Furrer, Florian Gerber, Roman Flury · 2007

Set of functions for sparse matrix algebra. Differences with other sparse matrix packages are: (1) we only support (essentially) one sparse matrix format, (2) based on transparent and simple structure(s), (3) tailored for MCMC calculations within G(M)RF. (4) and it is fast and scalable (with the extension package spam64). Documentation about 'spam' is provided by vignettes included in this package, see also Furrer and Sain (2010) &lt;<a href="https://doi.org/10.18637%2Fjss.v036.i10" target="_top">doi:10.18637/jss.v036.i10</a>&gt;; see 'citation("spam")' for details.

Cited by 4Open access

Sparse matrix structure.

Saskia Haupt (10819045), Alexander Zeilmann (10819048), Aysel Ahadova (9668819) et al. · Figshare · 2021

&lt;p&gt;(A) The system matrix (&lt;i&gt;A&lt;/i&gt; + &lt;i&gt;B&lt;/i&gt; + &lt;i&gt;C&lt;/i&gt; + &lt;i&gt;D&lt;/i&gt; + &lt;i&gt;E&lt;/i&gt; + &lt;i&gt;F&lt;/i&gt;) of the linear model is a very sparse matrix, i.e., only a few entries are nonzero. These nonzero entries are colored red in the plot, which also illustrates the fact that (&lt;i&gt;A&lt;/i&gt; + &lt;i&gt;B&lt;/i&gt; + &lt;i&gt;C&lt;/i&gt; + &lt;i&gt;D&lt;/i&gt; + &lt;i&gt;E&lt;/i&gt; + &lt;i&gt;F&lt;/i&gt;) is an upper triangular matrix. (B) The sparsity structure of the matrix expm(&lt;i&gt;A&lt;/i&gt; + &lt;i&gt;B&lt;/i&gt; + &lt;i&gt;C&lt;/i&gt; + &lt;i&gt;D&lt;/i&gt; + &lt;i&gt;E&lt;/i&gt; + &lt;i&gt;F&lt;/i&gt;), which is reminiscent of a Sierpiński fractal, is due to the individual matrices being the Kronecker product and sum of matrices. The two plots also illustrate nicely how modeling sparse local interactions in the matrix (&lt;i&gt;A&lt;/i&gt; + &lt;i&gt;B&lt;/i&gt; + &lt;i&gt;C&lt;/i&gt; + &lt;i&gt;D&lt;/i&gt; + &lt;i&gt;E&lt;/i&gt; + &lt;i&gt;F&lt;/i&gt;) can have a more global effect in expm(&lt;i&gt;A&lt;/i&gt; + &lt;i&gt;B&lt;/i&gt; + &lt;i&gt;C&lt;/i&gt; + &lt;i&gt;D&lt;/i&gt; + &lt;i&gt;E&lt;/i&gt; + &lt;i&gt;F&lt;/i&gt;).&lt;/p&gt;

Cited by 0Open access

Sparse Matrix Methods

Esmond Ng · 2006

Let A be an n by n nonsingular matrix and b be an n-vector. As discussed in Chapter 38, Matrix Factorizations and Direct Solution of Linear Systems, the solution of the system of linear equations A x = b using Gaussian elimination requires O(n 3) operations, which typically include additions, subtractions, multiplications, and divisions. The solution also requires O(n 2) words of storage. The computational complexity is based on the assumption that every element of the matrix has to be stored and operated on. However, linear systems that arise in many scientific and engineering applications can be large; that is, n can be large. It is not uncommon for n to be over hundreds of thousands or even millions. Fortunately, for these linear systems, it is often the case that most of the elements in the matrix A will be zero.

Cited by 0

Is Sparse Matrix Reordering Effective for Sparse Matrix-Vector Multiplication?

Omid Asudeh, Sina Mahdipour Saravani, Gerald Sabin et al. · ArXiv.org · 2025

This work evaluates the impact of sparse matrix reordering on the performance of sparse matrix-vector multiplication across different multicore CPU platforms. Reordering can significantly enhance performance by optimizing the non-zero element patterns to reduce total data movement and improve the load-balancing. We examine how these gains vary over different CPUs for different reordering strategies, focusing on both sequential and parallel execution. We address multiple aspects, including appropriate measurement methodology, comparison across different kinds of reordering strategies, consistency across machines, and impact of load imbalance.

Cited by 0Open access

Highly Parallel Sparse Matrix-Matrix Multiplication

John, R. Gilbert · 2010

Abstract. Generalized sparse matrix-matrix multiplication (or SpGEMM) is a key primitive for many high performance graph algorithms as well as for some linear solvers, such as algebraic multi-grid. Here we show that SpGEMM also yields efficient algorithms for general sparse-matrix indexing in distributed memory, provided that the underlying SpGEMM implementation is sufficiently flexible and scalable. We demonstrate that our parallel SpGEMM methods, which use two-dimensional block data distributions with serial hypersparse kernels, are indeed highly flexible, scalable, and memory-efficient in the general case. This algorithm is the first to yield increasing speedup on an unbounded number of processors; our experiments show scaling up to thousands of processors in a variety of test scenarios. Key words. parallel computing, numerical linear algebra, sparse matrix-matrix multiplication, SpGEMM, sparse matrix indexing, sparse matrix assignment, two-dimensional data decomposition, hypersparsity, graph algorithms, sparse SUMMA, subgraph extraction, graph contraction, graph batch update

Cited by 0

The Ubiquitous Sparse Matrix-Matrix Products

Buluç, Aydın · ArXiv.org · 2025

Multiplication of a sparse matrix with another (dense or sparse) matrix is a fundamental operation that captures the computational patterns of many data science applications, including but not limited to graph algorithms, sparsely connected neural networks, graph neural networks, clustering, and many-to-many comparisons of biological sequencing data. In many application scenarios, the matrix multiplication takes places on an arbitrary algebraic semiring where the scalar operations are overloaded with user-defined functions with certain properties or a more general heterogenous algebra where even the domains of the input matrices can be different. Here, we provide a unifying treatment of the sparse matrix-matrix operation and its rich application space including machine learning, computational biology and chemistry, graph algorithms, and scientific computing.

Cited by 0Open access

Adaptive sparse tiling for sparse matrix multiplication

Changwan Hong, Aravind Sukumaran-Rajam, Israt Nisa et al. · 2019

Tiling is a key technique for data locality optimization and is widely used in high-performance implementations of dense matrix-matrix multiplication for multicore/manycore CPUs and GPUs. However, the irregular and matrix-dependent data access pattern of sparse matrix multiplication makes it challenging to use tiling to enhance data reuse. In this paper, we devise an adaptive tiling strategy and apply it to enhance the performance of two primitives: SpMM (product of sparse matrix and dense matrix) and SDDMM (sampled dense-dense matrix multiplication). In contrast to studies that have resorted to non-standard sparse-matrix representations to enhance performance, we use the standard Compressed Sparse Row (CSR) representation, within which intra-row reordering is performed to enable adaptive tiling. Experimental evaluation using an extensive set of matrices from the Sparse Suite collection demonstrates significant performance improvement over currently available state-of-the-art alternatives.

Cited by 156Open access

Symbolic Matrix Multiplication for Multithreaded Sparse GEMM Utilizing Sparse Matrix Formats

Marcel K. Richter, Gudula Rünger · 2018

Sparse matrices are exploited in many problems from scientific computing and, thus, their efficient implementation is crucial for the overall performance of the problems. Three sparse matrix formats, such as Compressed Sparse Row Storage, Block Sparse Row Storage and Ellpack-Itpack, have been proposed to support an efficient storage and access to sparse matrices. A specific challenge is to implement sparse matrices on parallel platforms and to support efficient access within parallel algorithms. This article is a contribution towards the efficient parallel execution of a multi-threaded general matrix-matrix multiplication (GEMM) using sparse matrices. Major considerations are based on the benefit and overhead of a symbolic GEMM prior to the sparse GEMM operation to obtain information about the result matrix structure. Hence, overhead regarding sorting, merging of data structures and memory allocation routines can be minimized to improve the runtime performance. Multi-threaded GEMM implementations are studied for different storage formats and their performance is investigated for a broad range of sparse test matrices on recent multicore architectures. A constraint of our approach is that the sparse GEMM should be performed such that the sparse matrix format is an invariant property and the result matrix of the GEMM operation is provided in the same format without matrix format changes.

Cited by 2