Revisiting Sparse Matrix Coloring and Bicoloring
Alexis Montoison, Guillaume Dalle, Assefaw Gebremedhin

TL;DR
This paper introduces a new bicoloring strategy for sparse matrices that reduces the number of colors needed, improving efficiency in automatic differentiation, and provides a Julia package with advanced algorithms.
Contribution
A novel bicoloring approach reformulating it as star and acyclic colorings, with a post-processing routine and an open-source Julia package implementing these methods.
Findings
Reduces color count in sparse matrix bicoloring.
Extends neutral colors concept to symmetric colorings.
Provides enhanced algorithms in the Julia package SparseMatrixColorings.
Abstract
Sparse matrix coloring and bicoloring are fundamental building blocks of sparse automatic differentiation. Bicoloring is particularly advantageous for rectangular Jacobian matrices with at least one dense row and column. Indeed, in such cases, unidirectional row or column coloring demands a number of colors equal to the number of rows or columns. We introduce a new strategy for bicoloring that encompasses both direct and substitution-based decompression approaches. Our method reformulates the two variants of bicoloring as star and acyclic colorings of an augmented symmetric matrix. We extend the concept of neutral colors, previously exclusive to bicoloring, to symmetric colorings, and we propose a post-processing routine that neutralizes colors to further reduce the overall color count. We also present the Julia package SparseMatrixColorings, which includes these new bicoloring…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMatrix Theory and Algorithms · Parallel Computing and Optimization Techniques · Advanced Optimization Algorithms Research
