How to Compute a Moving Sum
David K. Maslen, Daniel N. Rockmore

TL;DR
This paper explores the computational methods for windowed recurrences, introducing new sequential and parallel algorithms, and providing a comprehensive algebraic framework for efficient calculation of moving sums across various scientific fields.
Contribution
It presents novel algorithms for sequential and parallel computation of windowed recurrences, grounded in algebraic theory, with detailed analysis and practical pseudo-code implementations.
Findings
Developed a low-latency sequential algorithm.
Derived new parallel and vector algorithms using algebraic structures.
Provided extensive examples and pseudo-code for practical implementation.
Abstract
Windowed recurrences are sliding window calculations where a function is applied iteratively across the window of data, and are ubiquitous throughout the natural, social, and computational sciences. In this monograph we explore the computational aspects of these calculations, including sequential and parallel computation, and develop the theory underlying the algorithms and their applicability. We introduce an efficient new sequential algorithm with low latency, and develop new techniques to derive and analyze the complexity and domain of validity of existing sequential algorithms. For parallel computation we derive new parallel and vector algorithms by relating windowed recurrences to the algebraic construction of semidirect products, and to algorithms for exponentiation in semigroups. In the middle chapters of the monograph we further develop the theory of semi-associativity and the…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsPolynomial and algebraic computation · semigroups and automata theory · Logic, programming, and type systems
