Unifying Matrix Data Structures: Simplifying and Speeding up Iterative Algorithms

10/26/2020
by   Jan van den Brand, et al.
0

Many algorithms use data structures that maintain properties of matrices undergoing some changes. The applications are wide-ranging and include for example matchings, shortest paths, linear programming, semi-definite programming, convex hull and volume computation. Given the wide range of applications, the exact property these data structures must maintain varies from one application to another, forcing algorithm designers to invent them from scratch or modify existing ones. Thus it is not surprising that these data structures and their proofs are usually tailor-made for their specific application and that maintaining more complicated properties results in more complicated proofs. In this paper we present a unifying framework that captures a wide range of these data structures. The simplicity of this framework allows us to give short proofs for many existing data structures regardless of how complicated the to be maintained property is. We also show how the framework can be used to speed up existing iterative algorithms, such as the simplex algorithm. More formally, consider any rational function f(A_1,...,A_d) with input matrices A_1,...,A_d. We show that the task of maintaining f(A_1,...,A_d) under updates to A_1,...,A_d can be reduced to the much simpler problem of maintaining some matrix inverse M^-1 under updates to M. The latter is a well studied problem called dynamic matrix inverse. By applying our reduction and using known algorithms for dynamic matrix inverse we can obtain fast data structures and iterative algorithms for much more general problems.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/07/2022

Speeding Up Sparsification using Inner Product Search Data Structures

We present a general framework that utilizes different efficient data st...
research
04/16/2020

Faster Dynamic Matrix Inverse for Faster LPs

Motivated by recent Linear Programming solvers, we design dynamic data s...
research
12/02/2021

Dynamic Sparse Tensor Algebra Compilation

This paper shows how to generate efficient tensor algebra code that comp...
research
02/03/2023

Qubit-Efficient Randomized Quantum Algorithms for Linear Algebra

We propose a class of randomized quantum algorithms for the task of samp...
research
10/20/2022

Sketching Meets Differential Privacy: Fast Algorithm for Dynamic Kronecker Projection Maintenance

Projection maintenance is one of the core data structure tasks. Efficien...
research
06/02/2023

Auditable data structures: theory and applications

Every digital process needs to consume some data in order to work proper...
research
02/22/2023

Integrating Data Structures and Algorithms in K-12 Education using Block-based Programming

This paper describes the design and evaluation of DSAScratch, an extensi...

Please sign up or login with your details

Forgot password? Click here to reset