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.
翻译:窗口化递推是一种滑动窗口计算,其中函数在数据窗口上迭代应用,在自然科学、社会科学和计算科学中无处不在。本专著探讨了这些计算的计算方面,包括顺序和并行计算,并发展了算法及其适用性的理论基础。我们提出了一种新的低延迟高效顺序算法,并开发了新技术来推导和分析现有顺序算法的复杂度与有效域。对于并行计算,我们通过将窗口化递推与半直积的代数构造以及半群中的幂运算算法联系起来,推导出新的并行和向量算法。在专著的中间章节,我们进一步发展了半结合性理论以及用数据表示函数复合和函数应用的代数条件。这系统化了实践者用于并行化递推计算的技术。我们以大量面向多领域专家的示例图库结束本专著。全书中新算法均采用从可运行源代码转录的伪代码进行描述。