http://songshuhui.net/archives/50111(下同)
不确定性原理的前世今生 · 数学篇(一)Comments>>

木遥 发表于 2011-02-11 15:41| Tags 标签:不确定性原理, 原创

在现代数学中有一个很容易被外行误解的词汇:信号 (signal)。当数学家们说起「一个信号」的时候,他们脑海中想到的并不是交通指示灯所发出的闪烁光芒或者手机屏幕顶部的天线图案,而是一段可以具体数字化的信息,可以是声音,可以是图像,也可是遥感测量数据。简单地说,它是一个函数,定义在通常的一维或者多维空间之上。譬如一段声音就是一个定义在一维空间上的函数,自变量是时间,因变量是声音的强度,一幅图像是定义在二维空间上的函数,自变量是横轴和纵轴坐标,因变量是图像像素的色彩和明暗,如此等等。

在数学上,关于一个信号最基本的问题在于如何将它表示和描述出来。按照上面所说的办法,把一个信号理解成一个定义在时间或空间上的函数是一种自然而然的表示方式,但是它对理解这一信号的内容来说常常不够。例如一段声音,如果单纯按照定义在时间上的函数来表示,它画出来是这个样子的:

这通常被称为波形图。毫无疑问,它包含了关于这段声音的全部信息。但是同样毫无疑问的是,这些信息几乎没法从上面这个「函数」中直接看出来,事实上,它只不过是巴赫的小提琴无伴奏 Partita No.3 的序曲开头几个小节。下面是巴赫的手稿,从某种意义上说来,它也构成了对上面那段声音的一个「描述」:

这两种描述之间的关系是怎样的呢?第一种描述刻划的是具体的信号数值,第二种描述刻划的是声音的高低(即声音震动的频率)。人们直到十九世纪才渐渐意识到,在这两种描述之间,事实上存在着一种对偶的关系,而这一点并不显然。

1807 年,法国数学家傅立叶 (J. Fourier) 在一篇向巴黎科学院递交的革命性的论文 Mémoire sur la propagation de la chaleur dans les corps solides (《固体中的热传播》)中,提出了一个崭新的观念:任何一个函数都可以表达为一系列不同频率的简谐振动(即简单的三角函数)的叠加。有趣的是,这结论是他研究热传导问题的一个副产品。这篇论文经拉格朗日 (J. Lagrange)、拉普拉斯 (P-S. Laplace) 和勒让德 (A-M. Legendre) 等人审阅后被拒绝了,原因是他的思想过于粗糙且极不严密。1811 年傅立叶递交了修改后的论文,这一次论文获得了科学院的奖金,但是仍然因为缺乏严密性而被拒绝刊载在科学院的《报告》中。傅立叶对此耿耿于怀,直到 1824 年他本人成为了科学院的秘书,才得以把他 1811 年的论文原封不动地发表在《报告》里。

用今天的语言来描述,傅立叶的发现实际上是在说:任何一个信号都可以用两种方式来表达,一种就是通常意义上的表达,自变量是时间或者空间的坐标,因变量是信号在该处的强度,另一种则是把一个信号「展开」成不同频率的简单三角函数(简谐振动)的叠加,于是这就相当于把它看作是定义在所有频率所组成的空间(称为频域空间)上的另一个函数,自变量是不同的频率,因变量是该频率所对应的简谐振动的幅度。

这两个函数一个定义在时域(或空域)上,一个定义在频域上,看起来的样子通常截然不同,但是它们是在以完全不同的方式殊途同归地描述着同一个信号。它们就象是两种不同的语言,乍一听完全不相干,但是其实可以精确地互相翻译。在数学上,这种翻译的过程被称为「傅立叶变换」。

傅立叶变换是一个数学上极为精美的对象:

  • 它是完全可逆的,任何能量有限的时域或空域信号都存在唯一的频域表达,反之亦然。
  • 它完全不损伤信号的内在结构:任何两个信号之间有多少相关程度(即内积),它们的频域表达之间也一定有同样多的相关程度。
  • 它不改变信号之间的关联性:一组信号收敛到一个特定的极限,它们的频域表达也一定收敛到那个极限函数的频域表达。

傅立叶变换就象是把信号彻底打乱之后以最面目全非的方式复述出来,而一切信息都还原封不动的存在着。要是科幻小说作家了解这一点,他们本来可以多出多少有趣的素材啊。

在傅立叶变换的所有这些数学性质中,最不寻常的是这样一种特性:一个在时域或空域上看起来很复杂的信号(譬如一段声音或者一幅图像)通常在频域上的表达会很简单。这里「简单」的意思是说作为频域上的函数,它只集中在很小一块区域内,而很大一部分数值都接近于零。例如下图是一张人脸和它对应的傅立叶变换,可以看出,所有的频域信号差不多都分布在中心周围,而大部分周边区域都是黑色的(即零)。

这是一个意味深长的事实,它说明一个在空域中看起来占满全空间的信号,从频域中看起来很可能只不过占用了极小一块区域,而大部分频率是被浪费了的。这就导出了一个极为有用的结论:一个看起来信息量很大的信号,其实可以只用少得多的数据来加以描述。只要对它先做傅里叶变换,然后只记录那些不接近零的频域信息就可以了,这样数据量就可以大大减少。

基本上,这正是今天大多数数据压缩方法的基础思想。在互联网时代,大量的多媒体信息需要在尽量节省带宽和时间的前提下被传输,所以数据压缩从来都是最核心的问题之一。而今天几乎所有流行的数据压缩格式,无论是声音的 mp3 格式还是图像的 jpg 格式,都是利用傅立叶变换才得以发明的。从这个意义上说来,几乎全部现代信息社会都建立在傅立叶的理论的基础之上。

这当然是傅立叶本人也始料未及的。

(待续)

不确定性原理的前世今生 · 数学篇(一)相关推荐

  1. 干货丨不确定性原理——人工智能的哲学基础

    科学大体可以分为三层,从下往上依次是:基础科学.应用科学.前沿科学. 人工智能(及其近亲人工生命.机器人学)属于前沿科学的范畴,相对于已经发展了几百年的成熟的基础科学和应用科学,人工智能仅有几十年历史 ...

  2. Gilbreath原理中的数学与魔术(九)——Max Maven作品选

    早点关注我,精彩不迷路! 在前面的文章中,我们已经基本完成了Gilbreath Principle两条原理的数学讲解和魔术应用的全部内容,相关内容请戳: Gilbreath原理中的数学与魔术(八)-- ...

  3. 海森堡不确定性原理实验

    德国物理学家海森堡1927年提出的不确定性原理是量子力学的一个基本原则 .这项原则陈述了精确确定一个粒子,例如对原子周围的电子的位置和动量的测量精度是有限制. 关于本条目的更具体的介绍见前文 不确定关 ...

  4. 再寄小读者之数学篇[2014.07.01-2014.12.31]

    [再寄小读者之数学篇](2014-12-24 乘积型不等式) [再寄小读者之数学篇](2014-12-04 $\left(1+\frac{1}{x}\right)^x>\frac{2ex}{2x ...

  5. Gilbreath原理中的数学与魔术(二)——Ultimate Gilbreath 原理 Mandelbrot 集合

    早点关注我,精彩不错过! 上期Gilbreath Principle开篇我们介绍了几个基本概念:Gilbreath Shuffle,Gilbreath Permutation以及Gilbreath F ...

  6. Go 接口实现原理【高阶篇】: type _interface struct

    Go 接口实现原理[高阶篇]: type _interface struct The Internal Definition Of Interface Types https://www.tapirg ...

  7. 如果有人问你数据库的原理,看这篇文章。(超长预警)

    长文,相当的通透.以下为scrat进行总结后的删减版. 下面假定你已经知道时间复杂度 关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata .但很少有文章讲解数据 ...

  8. softmax函数的正推原理——softmax前世今生系列(1)

    导读: softmax的前世今生系列是作者在学习NLP神经网络时,以softmax层为何能对文本进行分类.预测等问题为入手点,顺藤摸瓜梳理了整个神经网络工作的基本原理.其中包含: 1.softmax函 ...

  9. Android10.0 Binder通信原理(二)-Binder入门篇

    摘要:本节主要来讲解Android10.0 Binder的设计原理,如何设计一个Binder通信 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分 ...

  10. matlab用regress方法求ln函数_数学篇|高中数学48条秒杀型公式与方法,一定要掌握!...

    「 致于学教育 」 高中数学48条秒杀型公式 1.适用条件:[直线过焦点],必有ecosA=(x-1)/(x+1),其中A为直线与焦点所在轴夹角,是锐角.x为分离比,必须大于1. 注上述公式适合一切圆 ...

最新文章

  1. +7白盒测试与黑盒测试的定义与区别
  2. python3super用法_Python3中的super()函数详解
  3. why my cloudDatabaseconfig bean Initialization failed
  4. 能使用html/css解决的问题就不要使用JS
  5. JS面向对象(二)——构造函数的继承
  6. 表面上在帮女朋友拍照,其实镜头瞄准的是......
  7. Hbase Shell 介绍
  8. 信息系统开发平台OpenExpressApp:【OpenTest】 之 语法及其使用介绍
  9. 实现.NET Core配置Provider之EF
  10. java 订单编号_生成订单编号 用java怎么处理
  11. ERROR ITMS-90096: Your binary is not optimized for iPhone 5 错误
  12. LOJ.2863.[IOI2018]组合动作(交互)
  13. 通过经纬度计算两点直线距离的计算方法
  14. ZYNQ7010 CAN的官方例程改为XCANPS_MODE_NORMAL模式,程序没跑通
  15. uni-app转小程序遇到的问题 (组件使用插槽的问题)(跨端兼容、条件编译)(小程序自定义胶囊按钮封装)(uni-app挂载原型链)
  16. 交互式裁剪系统--2006-Gaze-Based Interaction for Semi-Automatic Photo Cropping
  17. UITableView顶部多出一截空白问题
  18. 在PictureBox上显示gif动态图(winform)
  19. 微软浏览器Edge在虚拟机(WIN11)中打开标签栏泛白
  20. Random 随机数

热门文章

  1. SharePoint自动化系列——创建MMS terms
  2. OPENCV与OPENCL
  3. LoadRunner场景参数文件部分参数说明
  4. log4j 配置文件参数说明
  5. wkhtmltox html快速转成image或pdf
  6. js中0.1+0.2 与0.3的对比
  7. jieba库初识与运用
  8. EL表达式获取对象属性的原理
  9. loj #6122. 「网络流 24 题」航空路线问题
  10. Excel文件输出到浏览器