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 algebraic conditions for representing function composition and function application by data. This systematizes the techniques used by practitioners to parallelize recurrence calculations. We end the monograph with an extensive gallery of examples of interest to specialists in many fields. Throughout the monograph new algorithms are described with pseudo-code transcribed from functioning source code.
翻译:窗口化递推是一种滑动窗口计算,其中函数在数据窗口上迭代应用,在自然科学、社会科学和计算科学中无处不在。在本专著中,我们探讨了这些计算的计算方面,包括串行和并行计算,并发展了算法及其适用性的理论基础。我们介绍了一种新的低延迟高效串行算法,并开发了新技术来推导和分析现有串行算法的复杂度与有效域。对于并行计算,我们通过将窗口化递推与半直积的代数构造以及半群中幂运算的算法联系起来,推导出新的并行和向量算法。在专著的中间章节中,我们进一步发展了半结合性理论以及用数据表示函数复合与函数应用的代数条件。这系统化了实践者用于并行化递推计算的技术。我们在专著结尾提供了大量示例,涵盖多个领域的专家可能感兴趣的内容。整部专著中描述的新算法均附有从可运行源代码转录的伪代码。