当前位置: X-MOL 学术SIAM Rev. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Survey and Review
SIAM Review ( IF 10.8 ) Pub Date : 2020-10-28 , DOI: 10.1137/20n975105
J. M. Sanz-Serna

SIAM Review, Volume 62, Issue 4, Page 741-741, January 2020.
Finding the convolution of two vectors is a ubiquitous task in applied mathematics. Signal processing, image processing, deep neural networks, the numerical solution of partial differential equations, and other current applications require the computation of convolutions, often on terabytes or petabytes of data. Convolution was incognito when it was first introduced to each of us. In grade school, we were taught how to multiply two (n)-digit numbers (a) and (b) by finding the (n^2) products (a_ib_j) of the individual digits and applying the convolution formula \beginalign* &\qquad\qquad \big(a_0+a_1 10^1+ḑots+a_n-1 10^n-1\big) \big(b_0+b_1 10^1+ḑots +b_n-1 10^n-1\big) &\qquad\qquad\qquad\qquad=(a_0b_0)+ (a_0b_1+a_1b_0)10^1+ḑots +(a_n-1b_n-1)10^2n-2. \endalign* Kolmogorov thought that the complexity of the grade school recipe was optimal: no other algorithm would compute the product \(ab\) using less than \(\mathcalO(n^2)\) one-digit products. However, he was proved to be wrong when in 1960 Anatoly Karatsuba formulated an algorithm that only requires \(\mathcalO(n^łog_2(3))\) one-digit products (\(łog_2(3)\approx 1.58\)). This was the first example of a fast algorithm to compute convolutions. The Survey and Review paper in this issue of SIAM Review, “Derivation and Analysis of Fast Bilinear Algorithms for Convolution,” by Caleb Ju and Edgar Solomonik, provides an overview of the many algorithms now available in this area. The authors systematize their exposition by using the formalism of bilinear algorithms: the different approaches are described by means of a unified linear algebra framework based on the observation that all algorithms proceed by first transforming linearly the input vectors, then computing a pointwise product of the transformed vectors, and then transforming the product (many readers will have seen this pattern at work when using Fourier and other transforms). The paper provides numerical experiments and compares the cost and stability of the different alternative techniques. It will be useful to different groups of readers. Applied mathematicians working on areas where convolutions are required will certainly benefit from reading this streamlined survey. In addition, the material connects seemingly unrelated concepts from elementary interpolation, linear algebra, polynomial algebra, Fourier transforms, etc., and it will be enlightening for SIAM readers who teach or study different applied mathematics undergraduate or graduate courses.


中文翻译:

调查和审查

SIAM评论,第62卷,第4期,第741-741页,2020年1月。
在应用数学中,找到两个向量的卷积是一项普遍的任务。信号处理,图像处理,深度神经网络,偏微分方程的数值解以及其他当前应用都需要对卷积进行计算,而卷积通常以TB或PB的数据为单位。卷积在首次引入我们每个人时都是隐身的。在小学阶段,我们学会了如何通过查找单个数字的(n ^ 2)个乘积(a_ib_j)并应用卷积公式\ beginalign *&\将两个(n)个数字(a)和(b)相乘。 qquad \ qquad \ big(a_0 + a_1 10 ^ 1 + ots + a_n-1 10 ^ n-1 \ big)\ big(b_0 + b_1 10 ^ 1 + ots + b_n-1 10 ^ n-1 \ big)& \ qquad \ qquad \ qquad \ qquad =(a_0b_0)+(a_0b_1 + a_1b_0)10 ^ 1 +点+(a_n-1b_n-1)10 ^ 2n-2。\ endalign * Kolmogorov认为,年级学校食谱的复杂性是最佳的:没有其他算法会使用少于\(\ mathcalO(n ^ 2)\)个一位的乘积来计算乘积\(ab \)。但是,在1960年Anatoly Karatsuba制定了仅需要\(\ mathcalO(n ^łog_2(3))\)一位数乘积(\(łog_2(3)\约1.58 \))的算法时,他被证明是错误的。 。这是计算卷积的快速算法的第一个示例。Caleb Ju和Edgar Solomonik撰写的本期SIAM评论中的“调查和评论”论文“卷积快速双线性算法的推导和分析”概述了该领域现在可用的许多算法。作者使用双线性算法的形式化系统化了他们的论述:基于以下观察结果,通过统一的线性代数框架描述了不同的方法:所有算法首先对输入向量进行线性变换,然后计算变换后的向量的点积,然后对乘积进行变换(许多读者将会看到使用傅里叶变换和其他变换时,这种模式有效。本文提供了数值实验,并比较了各种替代技术的成本和稳定性。这将对不同的读者群体有用。阅读此精简调查后,在需要卷积的领域工作的应用数学家肯定会从中受益。此外,材料还连接了看似无关的概念,包括基本插值,线性代数,多项式代数,傅立叶变换等,
更新日期:2020-12-05
down
wechat
bug