设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
     
  木桩的博客
  我来自金星
我的名片
木桩
注册日期: 2014-11-04
访问总量: 558,812 次
点击查看我的个人资料
Calendar
我的公告栏
最新发布
· 一只小鸟的咏叹
· 爱吧!能爱就爱吧!—- 李斯特的
· 飞机安全吗?--- 分析几次重大空
· 谈谈世界顶尖科学家的排名榜
· 为生活在战争中的人们祈祷 !
· 天鹅的梦呓
· 深秋的祭念
友好链接
分类目录
【教育与学术-1】
· 格林威治 -- 国际标准时间
· 美国的福利保险费是怎样算出来的
· 美国的401(K)养老金
· 关于量子保密通讯
· 揭露中国学者在期刊上造假作弊
· 中国和美国教育学术界的若干比较
· 计算数学家在干些什么?
· 学术杂志的“影响因子”
· 有感中国人的高校情结
· 首尔-2014世界数学家大会
【教育与科学 - 2】
· 飞机安全吗?--- 分析几次重大空
· 谈谈世界顶尖科学家的排名榜
· 公益贴 --- 再谈疫苗
· 公益帖 --- 新冠疫苗的最新发展
· 公益贴 --- 谈谈疫苗
· 科学计算 (Scientific Computing
· 从三峡大坝想到水利工程
· 检测新冠病毒的3 种方法 --- 分
· 波音737- MAX8 出事原因在哪里?
· 介绍一个美国顶级应用数学系
【教育与学术 - 3】
【回国感想】
· 北京感想
· 2016 - 相会在上海
· 2015 回国见闻 - 爽爽贵阳
· 2015 回国见闻 - 贵州织金洞
· 2015 回国见闻-黄果树大瀑布
· 2015 回国见闻 -云南石林
· 回国见闻 -上海受骗上当记
· 回国见闻 -国内的几个有趣现象
【芸芸众生】
· 一只小鸟的咏叹
· 为生活在战争中的人们祈祷 !
· 深秋的祭念
· Memorial Day - 告慰全世界新冠
· 20世纪最大的艺术伪造案 -米格伦
· 先生已逝,精神长存 --- 怀念张
· “天鹅之死” -我的油画
· 庞氏骗局
· 从数学家纳什联想到 。。。
· 我的露露和咪咪
【茗香茶语】
· 天鹅的梦呓
· 母亲节,樱花又开了
· 礼轻情意重
【回忆录】
· 童年的回忆
· 西南联大逸闻轶事
· 魂萦上海滩(5)-文革中的那些邻居
· 魂萦上海滩(4)--我的母亲
· 魂萦上海滩(3)-妈妈给我的礼物
· 魂萦上海滩(2)–绿房子里的故事
· 魂萦上海滩(1)-万航渡路
· 童年旧事 -我的小提琴老师
· 父亲留下的传家宝
· 父亲的住房情结
【艺术-1】
· 艺术座谈 (2) - 艺术的两重性
· 艺术座谈 (1) --- 怎样理解音乐
· 艺术也能变戏法
· 我的艺术创作 --- 雕塑, 油画,
· 话说故宫
· 漫谈艺术——西方画 vs 中国画
· 装修设计 - 让电脑为人类服务
· 家庭住宅的装修和设计
· 浅谈人体雕塑
【艺术-2】
· 芭蕾舞 --- 四只小天鹅翩翩起舞
· 摄影练习 — 日本的风俗人情
【钢琴演奏】
· 爱吧!能爱就爱吧!—- 李斯特的
· 聆听古典音乐,欣赏现代建筑
· 肖邦夜曲,情愁凄美,孤独浪漫
· 介绍钢琴夜曲的祖宗 John Field
· 舒曼的钢琴曲--《异国陌人》
· 音乐和数学 - 十二平均律
· 2015 圣诞之夜-《少女的祈祷》
· 钢琴独奏 -《 梦幻》
【钢琴演奏 -2】
【世界各地】
· 伦敦白金汉宫皇家卫队换岗仪式
· 希腊罗德岛太阳神巨像失踪之谜
· 巴西--写在2016 夏季奥运会之前
· 西班牙的小偷和斗牛士
· 法国的香农舍 -女人的城堡
· 印度的硅谷
· 莫斯科之行
· 巴黎的墓地
【歌剧】
· 庚子年 --- 妈妈,生日快乐!
· 二首上海经典老歌给万维朋友拜年
· 祝万维朋友 平安夜好!圣诞快乐
· 歌剧中的咏叹调《我亲爱的爸爸》
· 歌剧欣赏 (2)-我听歌剧的体会
· 歌剧欣赏(1)- 什么是歌剧
· 一首日本民歌 —《爱的礼物》
【诗词歌赋】
· 七言绝句三首 -《春天的思念》
· 七言绝句二首 - 《访友》
· 枫叶又红了 ---- 七言 . 思君
· 名家诵读 --- 唐诗二首
【高山流水论坛年庆】
· 【金牛贺春】贝多芬钢琴奏鸣曲《
· 【金猪贺岁】上海怀旧老歌《月圆
· 【金狗旺旺】— 献给爱丽丝
· 【高山年庆】-- 向朋友们致敬!
【核桃树 --- 万维博客科学沙龙】
· 艺术也能变戏法
· 纪念切尔诺贝利核事故三十周年:
· 疯子数学家 -- 约翰.纳什
存档目录
04/01/2024 - 04/30/2024
04/01/2022 - 04/30/2022
03/01/2022 - 03/31/2022
01/01/2022 - 01/31/2022
12/01/2021 - 12/31/2021
04/01/2021 - 04/30/2021
03/01/2021 - 03/31/2021
02/01/2021 - 02/28/2021
12/01/2020 - 12/31/2020
11/01/2020 - 11/30/2020
10/01/2020 - 10/31/2020
09/01/2020 - 09/30/2020
08/01/2020 - 08/31/2020
06/01/2020 - 06/30/2020
05/01/2020 - 05/31/2020
04/01/2020 - 04/30/2020
03/01/2020 - 03/31/2020
02/01/2020 - 02/29/2020
01/01/2020 - 01/31/2020
12/01/2019 - 12/31/2019
11/01/2019 - 11/30/2019
10/01/2019 - 10/31/2019
07/01/2019 - 07/31/2019
03/01/2019 - 03/31/2019
02/01/2019 - 02/28/2019
12/01/2018 - 12/31/2018
11/01/2018 - 11/30/2018
10/01/2018 - 10/31/2018
08/01/2018 - 08/31/2018
07/01/2018 - 07/31/2018
02/01/2018 - 02/28/2018
12/01/2017 - 12/31/2017
11/01/2017 - 11/30/2017
10/01/2017 - 10/31/2017
09/01/2017 - 09/30/2017
08/01/2017 - 08/31/2017
05/01/2017 - 05/31/2017
04/01/2017 - 04/30/2017
03/01/2017 - 03/31/2017
02/01/2017 - 02/28/2017
12/01/2016 - 12/31/2016
11/01/2016 - 11/30/2016
10/01/2016 - 10/31/2016
09/01/2016 - 09/30/2016
07/01/2016 - 07/31/2016
06/01/2016 - 06/30/2016
05/01/2016 - 05/31/2016
04/01/2016 - 04/30/2016
03/01/2016 - 03/31/2016
02/01/2016 - 02/29/2016
01/01/2016 - 01/31/2016
12/01/2015 - 12/31/2015
11/01/2015 - 11/30/2015
10/01/2015 - 10/31/2015
09/01/2015 - 09/30/2015
08/01/2015 - 08/31/2015
07/01/2015 - 07/31/2015
06/01/2015 - 06/30/2015
05/01/2015 - 05/31/2015
04/01/2015 - 04/30/2015
03/01/2015 - 03/31/2015
02/01/2015 - 02/28/2015
01/01/2015 - 01/31/2015
12/01/2014 - 12/31/2014
发表评论
作者:
用户名: 密码: 您还不是博客/论坛用户?现在就注册!
     
评论:
科学计算 (Scientific Computing)
   

常常碰到网友问我,什么是计算数学?什么是科学计算?这篇文章企图阐明数学在“科学计算”里的作用。

首先,什么是科学计算?在这方面有着不同的定义。在我看来,这应该是用数学作为工具,设计有效的算法,然后在计算机上实现。的确,科学计算和计算机科学有着紧密的联系,但不是一回事。科学计算着重于数学的角色,强调数学的作用。通过数学,保证设计方法的有效性,有足够的精确度,足够的稳定性,而且提高效率。

还是通过几个有名的例子来说明问题吧。


例一:快速傅立叶变换 (Fast Fourier transform, FFT)

我想,这个方法大家都不陌生吧?在很多科学技术领域里,应用的那个部分里,都需要做傅立叶变换,事实上,当今世界上的计算机在运算的时侯,很多都在作快速傅立叶变换。这里,你就可以看到数学对它的贡献了。其实,这仅仅是初等数学,而且还是比较简单的数学。

一维空间:从  2π 之间,均匀地分布个点。

频谱空间:傅立叶级数展开。 

傅立叶级数的系数和点空间之间是有关系的。这样说吧,如果你知道了这些点值,就能算出这些系数,反之,知道了这些系数,也能算出那些点值。 

计算机在点值和系数的空间来回计算,这是要有代价的。如果已知系数要算一个点值,这是 N 数量级的工作量;把所有N个点值全算出来  则是 N2 数量级的工作量。反之,如果已知点值,要把所有N个系数全算出来,也  N2  数量级的工作量。当 N 很大时,这是相当大的计算量,这不,如果 N = 100000,再平方一下,这数字太可怕了,而且,计算机的大量运算会产生误差积累,导致算出的结果不够精确。

能不能把 N降下来?能快速傅立叶变换( FFT) 的思想其实很简单:仔细观察公式,发现有很多重复计算。在算点值时,打个比方(纯粹胡说):第一个点,第四个点,第七个点。。。有重复计算。FFT 把重复计算的部分,一次性算好,然后在第一个点,第四个点,第七个点。。。同时使用。就这么点简单的思想,你只要把它做到极致,一个 N2  数量级的工作量就降到了N log N 数量级了,相比于 Nlog N 是一个很小的数,几乎等同于常数。这,是一个革命性的创举。

可以这么说,如果没有得益于快速傅立叶变换( FFT)的应用,各种信号处理,电子工程,绝对不会变得像今天这么广泛。FFT 在数学上是一个很简单的东西,这件事情之所以做得非常飘亮,就是在数学上并没有做新的事情,也没有改变原来的公式,思路也是简单的,只是把傅立叶公式算得很快,多快好省干革命。

FFT的第一篇文章,1965年发表在Mathematics of Computation , 这是美国数学学会的顶级杂志,也是非常古老的计算数学杂志。这篇FFT 论文的影响力是巨大的。

 

例二:快速多极法 fast multi-pole method 

这种方法是用来快速计算 N 个粒子之间两两相互作用的效果。 比如,两两粒子间的引力作用。对一个固定的粒子来说,它的运动取决于它和其他所有粒子两两相互作用的效果之和。把这些相互作用都算清楚,需要 N 数量级的工作量。那么,要算好所有 N 个粒子的运动规律,则需要 N2  数量级的工作量。

这次运气不好,和 FFT 不同,我们似乎找不到明显的重复运算 (除了两两相互作用只需算一次,这只能减少一半运算量,没法在数量级上减少)。但这难不倒数学家。数学家们发现,一个粒子和距离它较远的一堆粒子的相互作用,不用两两算清楚,只需要算这个粒子和这一堆粒子(看成一个大粒子)的相互作用,也就八九不离十了。当然,误差是多少,一堆粒子到底可以多大,如何定义 “较远”,这些都要分析清楚。这次没有办法像 FFT 一样得到和原来公式一样的数学效果,但是,如果给定能容忍的误差,比如千分之一,则上述的办法只需要 N log N 数量级的工作量。实际上,如果把算法和分析再做得精细些,工作量能降到 N 数量级。这种方法叫做 “快速多极法”。 

快速多极法的发明,归功于 耶鲁大学的 V. Rokhlin L. Greengard1985 年,他们发表在 Journal of Computational Physics 的一篇文章中,首创性地提出和分析了快速多极法。和FFT 类似,这个方法也在科学和工程中得到广泛的应用。因为这个工作,这两位数学家得到了美国数学学会 2001 年的 一个重量级奖项 (the Leroy P. Steele Prize)。这项奖通常都是授予纯粹数学家的,应用数学家极少得到该奖,这也说明了快速多极法在数学和应用中的双重重要性。


例三:多重网格法 multigrid method

怎样解大型的线性方程组

                         Ax = b 

A N x N矩阵,是向量。这个问题看上去十分简单,用中学学到的Cramer’s Rule 就能得到解。不过,用Cramer’s Rule 的计算量是 N 的阶乘(N!)的数量级。当矩阵很大的时候,比如, N=1000 N! 是个非常庞大的数,不信你在计算器上摁一摁,会发现计算器都无法显示出这么庞大的结果。不管今天的计算机有多快,都无法在短时间内实现这样的计算。所以,Cramer’s Rule 在解大型的线性方程组时,只有理论上的意义,没有实际意义,纸上谈兵也。

用高斯消除法(Gaussian elimination)求解,可以将工作量从 N! 数量级降到N3数量级。这已经大大提高了计算效率。对一般的线性方程组,这经常是实际计算中唯一可行的方法。不过, N3  还是实在太大了,数学家希望再进一步降低工作量。对于一些实际应用中的矩阵,有些特殊的性质,比如对称正定矩阵,何不利用一下?应用数学知识可以设计 N 数量级的算法,如果能如愿以赏,的确是美事一桩,故而发明了“多重网格法”。要知道,不是所有的矩阵都能采用多重网格法,矩阵需要满足特殊的性质。因为哪怕A是对角矩阵,求解也需要 N 数量级的计算,再也没有油水可榨了,N数量级已经达到了极限。

多重网格法的主要贡献者是以色列数学家Achi Brandt , 为此,2005 年,他得到了美国工业与应用数学学会(SIAM)和美国计算机学会 (ACM) 共同授予的 “计算科学和工程奖”  (Prize in Computational Science and Engineering ) 这是个非常了不起的大奖。


向科学家们致以崇高的敬礼!


 


 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. Creaders.NET. All Rights Reserved.