ZT: 木桩 blog 2015-11-07 http://blog.creaders.net/u/9037/201511/239623.html 随着当代科技的高速发展, 在科学研究和工程设计领域里,离不开计算机的模拟。实行这种模拟,通常需要将非常复杂的微分方程化简到能够在计算机上编程实现。在这个化简的过程中,仍然要求所得到的结果能充分地逼近原始复杂问题的解。在应用数学上,实现和证明这个过程的方法,叫做“科学计算”- Scientific Computing。
这样说来,“科学计算”和计算机是紧密联系在一起的。没有计算机,也就谈不上“科学计算”。但它又和计算机科学不一样。计算机就是一个可以用来算题的机器。然而,“科学计算”,是把一个完全无法计算的东西,比如一个无穷维的微分方程,变换和简化成可以在计算机上演算的东西。也就是说,一个复杂而神秘的东西,用一个简单的算法来做为它的替身,放到计算机去求解。应用数学家就是寻找和创造这些“替身”的伯乐。
我们知道,宇宙空间,球体之间的引力和它们之间的距离有关。计算每一对星球之间的引力,整个银河系统里的运动规律。。。,模拟这个庞大的系统,计算量可怕,计算机不知道要算到猴年马月,科学家只能望洋兴叹。再看看设计宇宙飞船,飞机导弹,和设计汽车的领域里,飞行物质的周围,被一层流体气层包围着,如何设计流线型的飞行物体,那是航天航空,和汽车制造业的关键之关键。当然,还有在我们周围的电磁场波。。。等等,总之,大到宇宙,小到电子,无处不存在科学家想探索的奥秘。
计算数学家在这探索自然界奥秘的过程中,扮演了什么角色?
首先,应用数学家为上面的自然现象写出微分方程,这叫建立模型。他们认为,这些微分方程能够准确地描述我们想要知道的物理现象。但是,这些微分方程都是无穷维的,非常复杂, 大部分的微分方程都是无法显式求解的。
当代的计算机,无论有多先进,它只能够对付有限多个数的运算,我们想要在计算机上运算无穷维的微分方程,得到它得解,办不到。也就是说,在计算机上做无穷多个加减乘除的运算,无法实现。
既然这般,科学家说了,我们不需要模型的准确解,如果能得到一个相对误差不超过1% 的近似解,我们就满足了。“科学计算”要做的事,就是找一个算法 (algorithm),设计一个编程,来代替那个可怕的微分方程,这个编程是可以在计算机上运算的。这样还不够,还要证明,得到的解符合相对误差不超过1% 。有了这样的证明,确保了精确度,科学家方才心服口服。
“替身”找到了,科学家却又改变了主意,得寸进尺了。他们说现在要求精确度达到 0.1%,0.01%,0.001%。。。计算数学家可以用同样一个方法,达到这些要求,只不过要增加计算量。比如,增加网格点的个数。只要你给出要求,精确度ε,我总能找到网格N,来满足你的要求,在数学上,这叫收敛性。
那么,是不是总是可以用增加计算量来达到精确度?这不好讲。毫无疑问,增加计算量肯定会带来更高的精度,但是,如果代价太大,或者效率太低,都是不聪明的办法。
这里存在一个数学家很关心的问题:如果有两个算法,一个 A, 一个 B, 都能达到误差不超过 1% 的要求,但在同一台机器上,A要花两天才能算出结果,然而, B只要两小时就能给出同样的结果。你喜欢谁呢?当然是B,这是傻子都能回答的问题。这是计算方法中不可忽视的问题,叫做算法的效率。
最后谈一下“科学计算”中的 稳定性。
计算机是不能准确表达所有的数的。比如,1/3,存在计算机里的是0.3333333333333。。。
到底给出多少个小数点,那就看你的计算机是怎么设计的。现在的计算机,一般可以保留十几位有效数字。被截断的部分,就是“截断误差”。
当今的计算机里,“截断误差”通常可以小到 10-15 ,似乎微不足道。但是问题在于,很多算法,都要在计算机上运算成千上万步。我们假设有一个算法,它在计算机上的每一步运算,都把误差放大 1%。这一点点放大,似乎微不足道,但是运算一万步后,误差就被放大了1043 倍,原来微不足道的10-15 的截断误差,现在被放大成了1028,这可是个天文数字啊!这样的误差,把所有真解的影子全都埋没了,那还了得!
计算数学需要研究稳定的格式,确保“截断误差”控制在某一范围内,不准误差每部放大。这就是所谓的“稳定性”。
以上所说,是“科学计算”的基本常识,属于中学生的科普。1978年,徐迟的一篇报告文学《哥德巴哈猜想》,使得高考志愿选数学系的大门挤破了头,人人争先恐后地想当陈景润。陈景润是搞数论的,属于纯数学,所以大家都认为只有纯数学才是数学,应用数学不是数学。这是一个误导。纯数学和应用数学确实有区别,我这里不往深里去解释它们之间的区别,但有一点是大家一听就懂的,那就是应用数学可以混,纯数学没法混。此话怎讲?学纯数学,懂就懂,不懂就不懂,证明不出来就是证明不出来,没法不懂装懂。然而,学应用数学,有些数学功底不咋的人,跟在人家已经设计好的东西后面,这里算算,那里改改,总归可以的,这叫滥竽充数。但这不等于说应用数学就比纯数学容易。能够设计出巧妙的算法,绝对需要 扎实的数学功底和智慧。有几个经典的算法,都有冠名。设计出这些算法的人,都是牛人。应用数学的牛人和纯数学的牛人没有区别,都是非常智慧的人。
浏览(1770) (4) 评论(43)
发表评论
腾讯微博
文章评论
作者:杭州阿立 留言时间:2015-11-08 04:53:29
搬个板凳好好坐着,慢慢看。
木桩周末愉快!
作者:杭州阿立 留言时间:2015-11-08 05:29:29
木桩这个题目,有点挠到了阿立的痒处。
先声明,阿立既不是搞数学模型的,也不是搞计算机和算法啥的。(虽不明,但觉厉)
但我们行业的一个问题,严重与数学/物理模型有关,又严重赶脚一代不如一代,有点怀念伽利略呢。
计算机技术的日新月异,有一个副作用是,当模型与实际应用不符合时(不是小误差),人们容易倾向于从精度考虑:比如物理/数学模型里,本来忽略的高阶量不应该忽略,模型本身简化太多,总之是往更复杂,更包容万象的方向前进。。。而不是停下来想一想,可能模型本身有问题,需要被审视?
作者:木桩 留言时间:2015-11-08 17:41:07
阿立兄:建立模型又是另一门学问了。有专门一帮人在那里搞这东东的。这不属于计算科学的范围。
有些模型已经没有争议了,比如,NASA 航天航空的模型,这些模型已经用了几百年了。空气动力中的流体力学模型,其中最重要的两个元素,一个是“举力”, 一个是“阻力”。每年修改模型时,也就在这两个参数上改,并且越改越好。现在美国生产的飞机,越来越省油,飞得越来越快,阿立兄,你尽管放心大胆地去做。
计算机,半导体,交通流量。。。这些都是近代崭新的科学,建立模型的年历不长。而且,很多部分都是工程师,物理学家们自己在搞。所以也没什么奇怪,为什么模型和实际计算会有误差。你的思考是对的,这些模型有问题。事实上,他们每年在开这样那样的会议,讨论改进模型,改了算,算了不准再改。。。没有法子的事,只好遭阿立骂了。
以上这些,都是我道听途说的,现买现卖给阿立兄。你若再问下去,那我就要交白卷了,请刀下留情!
作者:0+1 留言时间:2015-11-08 18:22:36
我认识一个牛人,本人不懂任何算法语言,却主持过许多著名模拟试验,其中包括世界上第一次水分子相变试验。能猜出是谁吗?
作者:杭州阿立 留言时间:2015-11-08 18:23:17
木桩:阿立木有刀的,只有南豆腐。而且这豆腐也是烧鱼头豆腐的,不砸人的。
当然偶尔自己买块豆腐撞一下。木桩只要小心地上的豆腐渣就可以了。
或者让草兄在前面带路,也安全的。只是要小心草兄一个回马枪,给你上点眼药。:-)
作者:木桩 留言时间:2015-11-08 18:32:58
阿立兄,什么叫“上眼药” ?能不能解释一下?
作者:木桩 留言时间:2015-11-08 22:04:35
回 0+1博友:你的博名很有意思,两进位,我猜你是在计算机行业里的人了,是不是?你提到的那位“水分子相变”的建模大牛,我不知道。不是大牛不够大,是小巴辣子太小。以后不敢写科普文章了,再写下去,人家以为我是方舟子呢!
作者:土人走江湖 留言时间:2015-11-08 23:30:03
All models are wrong. Some are useful.
G E P Box
作者:beiqian 留言时间:2015-11-09 03:37:25
木桩博主,你好!我已经十几年不做数学了;但你的博文又勾起了我的回忆;我点击了好几次,看了好几遍......
同你分享个picture:
http://ad-assets.nytimes.com/paidpost/ge/biomimicry/images/gfx-twin-dsk-ie.jpg
图里的东西大概也是缺不了“simulation 和 computation”的
作者:杭州阿立 留言时间:2015-11-09 04:19:06
木桩:“上眼药”是芨芨草的专利(不知道有木有版权?)。
草兄在你这里留言提到阿立,然后会在自己园子里或者阿立园子里,留句话:
“阿立学长,我在木桩那里给你上了点眼药。。。”
神马意思呢,还是让草兄自己交待?
作者:杭州阿立 留言时间:2015-11-09 04:20:34
“土人走江湖”说的这句话,也是阿立常听到,偶尔自己也说的。严重附议!:-)))
作者:溪谷闲人 留言时间:2015-11-09 07:08:50
半瓶子醋、半吊子油,不懂装懂瞎忽悠。
作者:msc 留言时间:2015-11-09 10:07:08
I had been in scientific computing business for many years:
http://www.mscsoftware.com/product/adams
and had been dealing with algorithm and modeling in daily bussiess. My experience with large scale scientific computing tells me that several criteria such as 收敛性, 稳定性 and ACCURACY are closely related to each other. If right algorithms and techniques are employed, the programs works beautifully. For implicit programs, the NR iterations should not exceeds 3 times before reaching the error tolerance less than 1e-10.
作者:钱村牛 留言时间:2015-11-09 11:54:12
我在中国没学懂《线性代数》。什么“高斯消元法”,“迭代法”都是到了美国才听说了一点。中国的数学课本根本不教你数学,他们要故作神秘让你们崇拜数学家。
作者:钱村牛 留言时间:2015-11-09 11:56:29
好像中国做不了喷气发动机就是因为不会解偏微分方程。同样的叶片放中国做的燃烧室里几下就烧坏了。
作者:溪谷闲人 留言时间:2015-11-09 13:25:06
扯什么计算数学?
知道富里哀级数、拉普赖斯方程、泊松方程、矢量分析、矩阵变换……知道二分法、有限元法、智能网格剖分……吗?
至于计算机语言、计算机结构、计算机算方法、模型转换,那都是基础知识。
都是一知半解,以此蒙外行、胡吹乱侃,跟那些党国科学家一个德行。
作者:小树 留言时间:2015-11-09 13:40:03
我很欣赏你有数学恩赐. 我是医疗系毕业,80年入学时没开高数,老师说,数学学了不用也会忘记.由于学医要去农村,我为了逃分配, 应届考上研究生. 后来,在研究当中感觉力不从心,只会照猫画虎.
作者:木桩 留言时间:2015-11-09 19:30:54
回 beiqian 网友:谢谢你提供的图案,这些数字化的内燃机确实应该用到了计算几何的工具,离不开计算和模拟。
作者:木桩 留言时间:2015-11-09 19:38:19
回 msc 网友: 谢谢你提供的网页。好的算法确实需要好的软件实现,才能充分显示出它的优点。这个网页上的软件看上去挺先进的,应该在工业上有很好的应用吧?
作者:木桩 留言时间:2015-11-09 19:45:13
回 钱村牛 网友:你大概是指国内的工科数学教学吧?国内理科的数学教学,包括计算数学的教学,一般还是挺扎实的。至于发动机的设计,牵扯到从计算模拟到材料和工艺方方面面,比较复杂,国内在这方面确实还有一定的差距。
作者:木桩 留言时间:2015-11-09 19:52:55
回小树网友:隔行如隔山,如果要我去学医学知识,恐怕连照猫花虎都不会呢!
作者:青灯苦禅师 留言时间:2015-11-09 20:41:38
写的很简明易懂。这要是三十年前看到这样的文章,就可以节省我好多的脑细胞了。
我不是学数学的,不知道计算数学家都做什么。比方说,建模,一般都是领域专家在做,写出描述物理系统的微分方程组。而微分方程的离散化,也是领域专家做的,把微分方程组转化为代数方程组,再由计算机求解。
而求解代数方程,似乎非线性代数方程组求解的办法不多,进展几乎没有,也不知道有多少数学家在这方面化功夫。一般现在都是利用Newton-Raphson办法把非线性代数方程组转化为线性方程组。
进入到线性方程组求解,似乎是计算机专家的领域,也几乎看不到计算数学家的影子。
所以真的不知道他们在干什么?
作者:佛陀 留言时间:2015-11-09 21:12:20
觅れ嘉ゅ睲硄虏Τ兵Τ瞶琵иぃ来莱ノ计厩碞フ辨竒盽硂妓炊ゅ彻
作者:佛陀 留言时间:2015-11-09 21:19:27
赞木桩好文,清通简明,有条有理,让我们不懂应用数学的人,一看就明白了。希望能经常看到这样的科普。
作者:杭州阿立 留言时间:2015-11-10 03:50:11
中国的理论教学很早就不错的,个人看法。
阿立是工科,但数值计算等大学也学了点的。国内读硕士的时候,有限元除了上课,真的编程解决实际问题(当然是简化问题)。还在国际会议上(好像在西安)宣读论文的。
边界元也在国内就开始做了。
作者:msc 留言时间:2015-11-10 12:53:56
Between the subject matter expert(SME) and application engineers, defintely there are positions for computational mathematcians who study the modeling, convergence, efficiency and stability. Though the simualtion techniques come first by engineers and/or SME, it should eventually be blessed by the mathematicians or the engineers equipped with mathematical minds.
My career has been greatly benefited with my aptiude in applied math and interest in real problems of engineering. We have done soem poineer work in engineering simulations which benefits the industry a great deal.
作者:芨芨草 留言时间:2015-11-10 18:29:25
木姐姐写的东东像教科书似的,得慢慢看,边看边琢磨。
先解答“眼药”问题。我估计阿立学长也不甚明白。阿立学长四处出击,什么都懂。对什么都懂的人不能问太多,问多了就露馅了。哈哈。一句话,上眼药就是使点儿小坏,不伤筋动骨。
我的数学水平只到小学,1加1还行。所以对“科学计算”的定义还是没明白。是不是可以这样理解:科学家根据需要想出了一个模型或数学公式,为了表明自己水平高深,这个模型或公式谁都看不懂,而且这个模型或公式还不能有解,如果有解,和实际不符合,岂不坏了一世英名。这时候科学计算家就出来拍胸脯了:这点儿事,小菜一碟,交给我了!然后根据模型或公式,或根据科学家的解释,做出一个能够用计算机运算的简单的模型或公式去趋近科学家的预想。如果计算结果和预想不相符,再修改运算模型。如果是可见的预想,如天气,交通,则可根据实测结果将运算模型修改至接近实际。如果是虚无缥缈的东西,如宇宙演变,则修改至科学家满意为止。如何?
作者:芨芨草 留言时间:2015-11-10 18:40:29
如果“建立模型又是另一门学问了。有专门一帮人在那里搞这东东的。这不属于计算科学的范围。”那也就是说,有人把科学家的模型简化成能在计算机上运算的模型,然后科学计算家再根据这个简化模型写出能在计算机上运算的运算步骤。再交给编程工程师编写计算程序,再放到计算机上运算。对吗?也就是说,科学计算家是把一个计算模型具体化。
作者:芨芨草 留言时间:2015-11-10 18:52:21
海天博主在《学术杂志的“影响因子”》里的跟贴应该说得比较形象,“为了进行一个价值判断或比较,人们不得不想办法,对模糊性质进行指标量化,还必须简便易行。这样出来的指标,到底是不是很好的判断依据,往往很难说清楚。”
木姐姐,科学计算家就是干量化的活,对吗?
作者:木桩 留言时间:2015-11-10 19:45:38
回青灯苦禅师网友:我逐条回答你的问题如下:
1 一般讲来,建模确实是领域专家在做。但必须有应用数学家研究这些微分方程的性质。比如说:解的存在性,唯一性和适定性,等等。没有这些性质,所得到的微分方程是不好使用的。
2 微分方程的离散化,应该由计算数学家提出方法,或者由领域专家提出方法,然后由计算数学家分析和改进这些方法。
3 求解代数方程,包括非线性方程和线性方程,在方法上,最近几十年来,其实发展是很大的。一些在二,三十年前很难求的方程,现在有一些很快很好的方法能够求解。在这方面,计算数学家做出了很大的贡献。
作者:木桩 留言时间:2015-11-10 19:52:51
回佛陀网友:上有青灯苦禅师保驾,下有佛陀师傅引路,这是天意还是巧合?会有一天,木桩洗尽红颜,返归朴真。青灯菩提,勤拂心中尘埃!
作者:木桩 留言时间:2015-11-10 20:32:36
回阿立兄:你平日里吟诗作赋,偶而也PK一下达芬奇,即兴时“杀鸡杀鸭”,一曲“二泉映月”。好一个江南才子!今日才知,阿立兄还曾经在国际学术会上宣读论文。要是唐伯虎还活到今天,还不羞死他!
作者:木桩 留言时间:2015-11-10 20:44:52
回mcs网友:如你所说,很多计算方法,确实是由工程师和领域专家首先提出的。比如,著名的“有限元”方法,就是这样的。计算数学家在这里起的作用是分析和改进这些方法。在美国的很多工程师,他们的数学功底都不错的,可以同时兼任工程师和计算数学家的角色(我相信你就是其中之一)。这样的话,设计,分析和应用计算方法就能得心应手了。
作者:木桩 留言时间:2015-11-10 21:38:40
回芨弟:看了你的跟贴,让我哭笑不得。你这么个聪敏人,一直是最相信你的,怎么写出如此逻辑混乱的东东呢?你看到吗?楼上那两位佛家道家圣人都说看懂了呢!还说什么“科学计算就是干量化的活”,海天真的是很聪敏,得要领。你都还不如人家海天呢!
看来我没有把科普文章写好,失败,失败!
而且,你好像也没搞懂“影响因子”,好吧,我现在编了一个题目,让你解答,你就回答我一个字,“是”,或“否”。看你是真懂还是假懂。
题目如下:
假设 木桩在 2010 年 12 月 的时候,在A杂志 上发表了一篇文章。
假设 芨芨 在2011年1月的时候,看到了这篇文章,有了些思路,准备开始写文章。
o 2011年12月开始 写 。。。。。
o 2012年 6月完成文章,其中引用了木桩 在A杂志上的文章
o 2012年6月 提交 B杂志
从构思 =》完成文章 =》呈交,一共用了 一年半的时间。
再看杂志B,从接受文章,到送出去让评委专家评估,退回来修改,再送回去,然后接受发表,其中来来回回,至少要一年的时间。
假设,芨芨 的文章在 2014年2月正式发表。
SCI 把B的文章收入进数据库时,同时更新了木桩的文章的被引用次数 (增加 1)
计算2014 年A杂志的影响因子:
• 假设,2012 和2013 年,杂志A一共发表了 200 篇文章。
• 假设,这200 篇文章在2014 年被引用了300 次
2014 杂志A的影响因子 = 300 / 200 = 1.5
试问,木桩的文章被芨芨引用1次有可能进入2014“影响因子”公式的分子里吗?
作者:芨芨草 留言时间:2015-11-10 23:34:08
因为是2014年发表。否!
人家青灯苦禅师说了,“所以真的不知道他们在干什么?”
木姐姐不要把在学会演说时用的语言放在这里,就用最通俗易懂的语言说科学计算家在干什么就行了,举个具体例子会帮助理解。隔行如隔山哟!
作者:木桩 留言时间:2015-11-11 00:31:55
芨弟:你答对了。换句话说,你是白引了我。看来你是真懂了。现在你可以理解,为什么我当时说,在分子上,把两年换成五年会好些。如果是五年的话,那我的文章的杂志A就会被计算在分子里了,是不是?
要注意的是,五年中,分母也同时增加了数量,分子分母同时在增加,不大好说这个值是怎么一回事。基于杂志这个特例,数值应该是往上升的(影响因子会变高)。把两年增加到五年,不是精确了,而是比较合理了。
作者:杭州阿立 留言时间:2015-11-11 03:52:37
木桩啊:
草兄在给你解释“上眼药”是神马意思呢。直接给木桩上了一点,比较温和的。肯定是南豆腐派的眼药。
草兄,可以开始给人工智能和围棋上点眼药了。
作者:钱村牛 留言时间:2015-11-11 13:14:35
工程师计算前不必作数学证明,因为算完会做个模型实测一下。牛顿就没证明过微积分。
作者:芨芨草 留言时间:2015-11-11 17:18:25
木姐姐,你还没告诉我科学计算家是干什么的。要不你就告诉我你每天都在干什么吧,除了吃喝拉撒睡以外。
你这道题出的意思不明。这一年不能算,下一年可以算进去嘛,也没吃亏。大概数学论文发表的周期长。我送的论文一般是半年后发。如果拖到一年,我就不再向那个杂志投稿了。
提醒木姐姐一下,你要小心那个从杭州来的阿立啊,他总是手持一块豆腐,不知是南豆腐还是北豆腐,见谁就抹谁一脸。如果不让他抹,他就自己往豆腐上撞,嘴里还唠叨:“我就一头撞在豆腐上撞死算啦!”
木姐姐听过国内的“碰瓷”吗?就是故意往车上撞,然后讹车主给钱。阿立这叫“碰豆腐”。这是个新行为,还没申请专利。而且这个阿立是狮子大张口,不光要钱,什么都要!就像刁小三,“我要了包袱还要人呐!”
作者:msc 留言时间:2015-11-11 17:53:35
有限元是1940年左右美国几个工程师对桁架结构受力分析的一种直观直接。 当应用到连续体(固体, 流体)上时, 直观的局限就显出了。 数学家出来救场了: 有限元无非是变分法的一种表达方式。
作者:溪谷闲人 留言时间:2015-11-11 19:10:30
跟学文学的人讲数学,跟学数学的人讲物理,跟学物理的人讲化学,跟学化学的人讲生物学,跟学生物学的人讲人类学、跟学人类学的人讲社会学、跟学社会学的人讲政治学,跟学政治学的人讲文学。转了一圈儿又回来啦。
总之都是中国特色的科学,根据马克思主义理论,科学是人创造滴。………基本上都是放屁。
作者:木桩 留言时间:2015-11-11 22:35:11
回芨弟:我刚刚表扬了你,你又犯错误了。什么“这一年不算,下一年可以算进去”,概念不清嘛!下一年就更进不去啦!我知道问题出在那里了,你还在想着杂志B是不是?忘掉它,这里和杂志B已经没有任何关系了。只要杂志B在2014 年发表,这是关键。我们现在关心的是杂志A,然而,”木桩的文章发表在A是在2010年12月”。公式里要的是2012和2013,差了两年。如果是下一年,2015年,那就差了三年呐!
我写这篇文章,目的就是要科普你上面提出的问题。加上那么多的跟贴,其中不乏有几位专家。文章加上我和专家们的互动,你怎么也该琢磨出个名堂吧?
我的博龄不长,今年一月开始的。当我写到《浅谈人体雕塑》时,“五味斋》论坛有个叫老帽的网友,号召大家都来批判我(好在没人响应),想不到过了一两天,他竟然专为我写了一篇文章,内容和上次攻击一样,说我不学无术,不懂装懂之类的。这么小的华人圈子,尚会这样复杂,我还能说什么呢?希望芨弟谅解!
作者:木桩 留言时间:2015-11-11 22:40:33
回msc: 我知道你是这方面的专家。看了你的网站后,Very impressive! 谢谢你提供的信息,向你致敬!
- See more at: http://blog.creaders.net/u/9037/201511/239623.html#sthash.y2iDKWN6.dpuf
|