各门科学中,物理与数学关系最亲,可以说,数学是物理学最铁的铁哥们。其它科学,如:生物学、化学、医学等等,如果没有数学帮忙,还都能大差不差的过得去,唯独物理学,如果没有数学的话,那简直一天日子都过不下去。当初,要不是牛顿发明了微积分,他的三大力学定律和万有引力定律,就很难唱得出精彩的戏来。
尽管,数学家不是一心想去物理学家去攀亲戚,他们多半时间象是山里的隐士,让自己的头脑在逻辑天空中尽情翱翔,对凡尘的事置之度外。
然而,物理学家的日子可没有那样潇洒,他们必须在第一线打拼。有时实在没辙,就去求教数学家,犹如当年三顾茅庐的刘玄德。你还别说,数学家家手头还往往有现成的锦囊妙计。
当年,爱因斯坦一心想根据惯性质量与引力质量相等的原理,搞一个引力理论,然而,一连苦思冥想了好多年,都毫无进展。让他苦恼的是,在引力作用下,空间会发生扭曲,而欧几里得几何学却对此毫无办法。后来,幸好他的好友格罗斯曼告诉他,法国数学家黎曼研究出的一套几何学,应该能帮他解决烦恼。果然,爱因斯坦有了黎曼几何这一有力武器后,就顺顺当当的建立了广义相对论。
另一件有趣的事是发生在量子力学建立的初期。当时,德国青年科学家海森堡为了解决微观问题,独创了一种代数。在这门代数中,乘法交换律不再成立,也就是说, A乘B不等于B乘A。初看起来似乎有点匪夷所思。然而,数学家一眼就看出,不过是早已有之的矩阵代数而已。于是,海森堡把自己的力学称为矩阵力学,与此同时,奥地利科学家薛定谔开发了一套波动力学。后来,薛定谔证明了,矩阵力学和波动力学数学上是同一回事。今天,就都被称为量子力学了。
而今天,物理学家们高度重视对称性问题,而研究对称性的群论,早就在数学家手中盘得滚瓜烂熟了。
随着物理学的进展,概念越来越抽象,一天天向数学靠拢。
当年,拉格朗日出版了一本力学专著,从第一页到最后一页,没有一张插图,从头到底都是数学公式。书中唱大戏的是一个被称为“作用量”的量。任何第一次接触到作用量的人都会满脸疑惑,这作用量究竟是什么玩意儿:
能量吗?——否也;
质量?——否也;
力量?——否也。
那究竟是什么?——动能减势能也。
依然疑问重重,动能减势能又算是什么玩意儿?
答曰,动能减势能即为作用量。
总之,你休想用任何具体生动的概念去描画它,作用量者,作用量也。尽管如此,它却是一条再硬不过的死规定:任何物体在空间移动时,必定循着作用量改变最小的路径走。这又是为什么?没有道理可讲,理解得执行,不理解也得执行,在执行中理解,在执行中增加感情。捧起数学书去啃吧,到时候,理解和感情自然会产生。
热力学同样又是一门高度抽象的物理学分支。热力学里的那些熵、焓、自由能等等玩意儿,要多抽象有多抽象。难怪一位热力学的教授说,“女孩子学这门课,常常会哭鼻子。”热力学以三大定律为基础,用状态函数全微分、麦克斯韦尔偏微分关系,和可逆过程的路线积分等一连串数学,让未来的工程师们头晕目眩,却建立起一座宏伟的大厦,严谨程度不亚于欧几里得几何学。难怪,当初波尔兹曼企图把分子统计理论引进热力学时,遭到当时热力学权威的顽固抵制。在他们眼里,波尔兹曼是在往美丽宏伟的热力学宫殿里乱撒灰尘,这还了得!
而电动力学里的电磁波,电场和磁场纵横交错波动,而且,在没有载体的真空里照样能兴风作浪。王安石曾解释汉字的“波”为“水之皮”。显然,他眼里反过来的意思就是,水乃波之肉也。按此方式思考,电磁波成了不附肉之皮了。个中之玄机,除了用数学公式,很难把握得了。
量子力学里,粒子既有微粒性又有波动性,更是日常生活难以想象的,也只有数学函数能说得清楚。
所以,今天的许多基础物理概念,常必须依靠数学来加以诠释。或许,世界正如毕达哥拉斯所想象的那样,是由数构成的。
但是,也别以为,物理学家的一切苦恼,数学家都能帮忙解决,事实远非如此。
与物理学关系最密切的数学分支是微分方程,几乎所有的物理学分支都与微分方程结下不解之缘。
同一个微分方程可以解答许多物理问题,也可以有无数多个解。有人会有疑问了,那么多的解,该选哪个好?其实,这倒不用担心的,一旦把这个方程的初始条件和边界条件拿准了,这个方程的解也就定了下来。然而,当今的数学家们往往只有在在十分理想的条件下,才能提供微分方程的严格解。对于边界简单的状况,如:圆形、矩形等等,有时还能对付得过去。而实际情况往往要复杂得多,比如,建筑师会想出各种各样的建筑外形来,越是怪异,他就越能出名。例如,澳大利亚的悉尼歌剧院的屋顶,真是要多就多美,可是,要想求得屋顶各处的受力情况,即使再等上一百年也未必能得到严格解。正如俗话说的,“文官动动嘴,武官跑断腿。”出名的是建筑师,累死的是结构师。这种情况下,要是没有大型计算机,结构师即使活活累死还是没辙。实际山,计算机用的是一种求近似解的方法:将无穷小的微分用有限小的差分,如:0.1,0.001或0.0001 等来替代,然后一步步算过去。至于有限小差分到底选多小,就看你的计算耐心和每次计算的误差了。今天,有了大型计算机,虽然都是近似值,但对于许多实际问题,精度完全是能做到的。建筑师尽管出难题,计算机和软件都是现成的,方案一输进去,一会儿答案就会出来。许多其它科学和工程问题也同样依靠这样的方法来解决。
但是,也别以为有了计算机就万事大吉了。有许多事,你即使把全世界巨型计算机都搬来都不顶用。比如,在研究高能物理的量子场论中,任何一个粒子都把自己的场一直延伸到无穷远处。计算机神通再大,也没法从无穷远处一路算过来,再算过去。
不过,数学家还有别的招术来求近似解,最常用的一种,是所谓的逐次迭代法。具体说来是这样的,对于如下形式的这个方程:
X=f(X) …………………….. (1)
先假设一个X0放进方程(1)右边,顶替X,于是就有:
X1=f(X0)
如果,X1恰好等于X0,那就万事大吉,说明我们已经求得了方程的解,那就是X=X0=X1,然而,天底下很少有这样好的运气。那怎么办?那就一步步如法炮制的替代下去:
X2=f(X1)
X3=f(X2)
……
Xn=f(Xn-1)
如果一次次计算的差距都在不断缩小,当Xn-Xn-1小到能够满足我们的精度要求时,我们就可以说,X基本上等于 Xn或Xn-1,任务算是功德圆满了。
这一套手法是研究量子场论的科学家最称手的杀手锏,时时刻刻都拿在手里使用的,他们对每次迭代都作了相应的物理解释(注1)。物理学家费曼还画出力的传递粒子的路线图,来代表每次迭代过程,这些图被称为费曼图。
话说到这里,一定有人来责问了,“您怎么能保证一次次代下去,差距越来越小,而不会越来越大?”
一点不假,差距变得越来越大的例子多得数不过来。这里,不妨举一个最普通的代数问题为例:
X*X -- 10X = 0
只要学过初中一年级代数,都知道这个代数式通过因式分解,就成为:
X(X--10)= 0
于是,一眼就可以看出,这个方程有两个根,一个是X=0,另一个是X=10。现在,我们把这个方程式转换成(1)的形式:
X=X*X/10 …………… (2)
现在,来看看逐次迭代能得到什么结果。
我们随便取一个数作为X0,例如,令X0=1,代入方程(2)的右边,于是,可以一连串得到:
X1= 0.1
X2=0.001
X3=0.000001
显然,以非常快的速度,一路向根X=0 奔去,我们应该对此感到非常满意。可是,问题又来了,还有一个根X=10 呀,那又该咋办?是不是我们一开头取的X0=1离它太远了点?好,我们重新取X0=9,看看情况又会如何。迭代的几次结果是:
X1= 8.1
X2=6.56
X3=4.3
…….
同样是一路向X=0那个根奔,却对X=10毫不理会。
或许,我们把X0取小了,取大一点的,比如X0=11,又会怎么样呢?情况如下:
X1= 12.1
X2=14.6
X3=21.3
…….
好家伙,居然把根X=10抛在脑后,一路往无穷大狂飙了,X=10在这里似乎成了讨厌鬼,大家都不愿跟它沾边。看来,逐次迭代法并不是招招都灵。其实,什么时候逐次迭代法可以一展身手,什么时候行不通,数学家们是早就有了判断的办法了(注2)。
可是,高能物理学家们对这个问题似乎不太放在心上,他们的场方程在第一次迭代后效果很好,可是,才进行第二次迭代,就出现了无穷大,于是,他们想方设法搞了个无穷大减无穷大,居然也能得到令人满意的结果。他们把这个过程称为重整化。数学家们看了只能直摇头。可是,既然效果那么好,还管那么多干吗呢。
让数学家最头疼的是所谓的“非线性”问题。何谓非线性呢?简而言之,如果变量X在方程里只以一次式出现,那就是线性的,反之,如出现X2或1/X等项目,那就是非线性的了。
一旦遇到非线性问题,数学家在绝大多数情况下没法可想,物理学家也只能绞尽脑汁提出一些简化模型来对付。
其实,量子场论力的方程还只能算是半线性的,广义相对论的引力方程是百分百的非线性。当初,爱因斯坦把它搞出来后,不由得愁上心头,这样一个非线性方程,何年哪月能找到它的一个严格解啊?可是,前苏联的数学家弗里德曼没让爱因斯坦愁太久,就找到了一个解,以后,宇宙大爆炸、黑洞…等等一系列热闹问题登场了。
引力方程毕竟是研究宇宙的,与我们老百姓日常生活几乎毫无关系。但是,有一个与我们天天密切相关的问题,却也是百分百的非线性,这就是被称为,奈维—斯托克斯方程的流体力学方程。
非线性方程不仅难以求得严格解,另一个难缠的是,它往往有不止一个解,还会象泥鳅似的在不同解之间游来荡去。我们日常看到的不断变化的流水波纹,或无风时的袅袅青烟,都反映了这种情况。
绝大多数流体力学问题,指望不上数学家,只能硬拼实验。于是,一座座大规模风洞建立起来。可是,风洞再大也没法把整架空客或波音这样巨型客机塞进去。流体力学家们想到了一些经验放大的办法。他们引入了一些被称为“无因次数”的量,这些量都没有任何计量单位。第一个这样的无因次量叫做雷诺数,计算式子很简单:
雷诺数=特征长度*流体速度*流体密度/黏度
(这里的特征长度根据具体情况而定,可以是管子的直径,也可以是机翼的宽度)。
参与雷诺数里各个量的单位会全部抵消,于是,雷诺数就没了单位。不管你用什么单位制计算,得出数值都是一样的,比如,你用国际标准的厘米.克.秒制,算出的雷诺数是1000,你用英制的英尺.磅.秒来计算的话,得到的雷诺数同样也是1000(注3)。
同样的雷诺数,即使其它状况大不相同,往往会出现同样的现象。例如,无论管子直径多粗或多细,也不管是液体还是气体,只要雷诺数小于2300时,管子里的流体都会规规矩矩的作平行流动,而当雷诺数大于10000时,管子里的流体就呈紊乱流动状态,在2300至10000之间,则是过渡状态。这样一来,就可以作为依据,把实验数据进行放大了。谢天谢地,否则,要建造大型水电站或巨型油轮时,我们需要做多大规模的实验哪!
可是,如果你仔细注意一下雷诺数的公式的话,会发现一个很奇怪的现象,流体力学模型的实验不是按比例缩小的。譬如,为了研究一根直径巨大管道里流体流动的概况,建一个1/10大小的小管子模型,然而,实验时不是让小管子里的流速等于大管子里流速的1/10,而是,必须等于大管子里流速的10倍!
很让人奇怪吧?似乎一点道理都没有。可是,雷诺数等无因次数适用范围非常广,不但包括各种各样的液体,同样还包括各种各样的气体。在航空、航海、水文、石油化工,热工等各个领域得到广泛应用。这些行业里的工程师们无不知道大名鼎鼎的雷诺数,而没几个人能回忆得起那个奈维—斯托克斯方程来,尽管,大学时代老师或许曾经略略提起过。
莫斯科不相信眼泪,流体力学不需要数学。
注解:
(注1) 量子场论方程左端常是些线性算子,而右端是一些非线性组合。进行逐次迭代时,先找到与左端线性算子及其边值条件相应的格林函数,然后,将原来的微分方程转换成等价的积分方程。这个积分方程具有方程(1)的形式,于是,就可以进行逐次迭代了。
(注2) 数学中有一个称为列普希兹条件的判断式。满足了这个条件,方程就存在唯一的解,可以,用逐次迭代法不断逼近。
(注3) 黏度指不同流动速度的流体之间的拖动力量,其单位是克/(厘米*秒)。从平时生活中常遇到的一些现象,可以得到比较直观的概念。例如,水的黏度比较小,而液体胶水的黏度就很大。
雷诺数=长度*速度*密度/黏度,相应的单位是:
(Cm * cm/sec * g/cm3)/(g/ cm*sec)
结果,单位全部抵销。
接手维护Blogbus搬家项目后经常会被一些灵异问题纠结住。不光要经常的修改匹配模板还要随时应付竞争对手的封杀行为,而且时不时会遇到奇怪的问题。有一次遇到过sina博客在get请求中使用不同的user agent会hit到squid不同日期的缓存结果(日期差别了好几个月),这种很诡异的现象由于没有异常输出,所以实在很难发现。昨天在维护网易搬家的时候又遇到一个PHP的小问题,一段60k的dwr回调js,语法很简单,preg_match始终不能正常的匹配出所有结果。
于是我把http请求结果保存到文本中,写了几行测试代码,对其进行分析,最终锁定在preg_match函数上。pattern非常简单,而待匹配的string在重构为最简的样式后仍然不能正常匹配。最后通过试验,确定了preg_match在常规情况下的匹配结果具有长度限制,不妨试试下面的代码:
<?php
$string1='"a"';
$string2='"aaaaa.....a"';//重复99996个a,utf8下即99996byte
$string3='"aaaaa.....aa"';//重复99997个a;
$pattern='/"(.*?)"/';
var_dump(preg_match($pattern,$string1));
var_dump(preg_match($pattern,$string2));
var_dump(preg_match($pattern,$string3));
?>
结论:preg_match匹配结果的长度在10wbyte上下会出现问题。据估计此原因跟PCRE有一定原因,有空的时候查阅下相关资料。由此看来,在preg_match一个可能具有很长的结果的字符串时,优先考虑strpos和substr来处理吧。
Percona has a new Chief Operating Officer! It is Tom Basil, who was Employee #11 at MySQL and led the Support organization there for almost eight years. He was the founding Director of Support at MySQL, and built it into a team of about 60 people all across the world. Tom was legendary as a manager at MySQL, and we’re really looking forward to his experience at Percona.
It sure is funny how things work out. When Peter and Vadim were at MySQL, Tom was their boss for 4 years. Now, Tom works for them! And Tom actively recruited me for a position at MySQL Support almost exactly a year ago, but I joined Percona instead. Perhaps we were meant to work together.
So, why did he resign from Sun/MySQL and come join us? In his own words, slightly paraphrased,
I could probably find some more words starting with V, but that seems to sum up what Tom has told me. His main regret is leaving behind friends at MySQL Support, which has been a close-knit team.
Tom works from his home, just like the rest of us. He lives in the Baltimore area with Kathleen, his wife of 22 years and their six children. And on a side note, he’s pretty near me, so I am looking forward to getting together with him and brainstorming on a more regular basis than I do with people in Novosibirsk or Japan!
Tom, from all of us in Percona, the warmest possible welcome! Here’s to a great future together. And here’s to our clients, who are certain to benefit from your wisdom as Percona keeps growing!
Entry posted by Baron Schwartz | One comment
是的,你不用顾及人间的千般烦恼.不用考虑国事家事,不用担心前途命运人情世故,不用今天头疼小三入侵明天烦恼喝了毒奶粉后天看了中国足球.你要考虑的,只是给自己填饱肚子,保住小命就好.
也许你转念一想,这不是个好混饭的营生.你没有大象的体格,没有老鼠的灵巧.鹰击长空鱼翔浅底,此类的本事你都没有,甚至你都没有蟑螂那么顽强.那种叫人类的动物嘛,他们传说还有比较好的大脑.你怎么办?
还好,上帝赋予你身体里的丝腺,或者达尔文大叔说是亿万年来进化得的,于是你能吐丝.(我把话都说全了,所以无论是基督教徒还是科学家或者是信奉Intelligent design的美国人们,请都不要来找我算帐.)
你吐丝当然不是为了做服装秀,你有很多任务要靠着它来完成.这丝线需要能捕捉住空中乱舞的飞虫,就像人类拿肉体凡胎去拦住一辆失控的汽车.这丝线需要能支撑住你自己,不至于你一不小心从屋角树顶上摔下来粉身碎骨.这丝线需要能连接搭起一个网,而这个网不能轻易被风雨摧毁,花自飘零水自流,你还要大好年华要过.不然辛辛苦苦多少天,一夜就得回到解放前了.
每个圈子都有自己的规矩,自然界讲究的是能量守恒.你想制造丝线,就需要付出自己的能量心血.如果你干狠了没日没夜成天加班,不过劳死也得跳楼.那么,如何有效节约地进行生产呢?国家讲究宏观调控,你也自己心算了一下,物尽其用自然是最好的选择.于是你决定生产个七八种丝线,有的用来搭网,有的用来粘住猎物,有的用来储存食品,有的用来保护后代.其乐融融,多么和谐!
你可以纺出一根生命线,生物学家管它叫牵引丝.它可以让你倒挂在空中荡秋千或者织网工作,蜘蛛侠也就靠着这个行侠仗义走江湖的.也就是这根丝线,使你开始扬名.这根丝多细呀,细于人类的头发,它只有100纳米,人类千辛万苦纺出来的纳米纤维不过如此.这根丝多轻呀,如果有一根足够长的丝可以环绕地球赤道,这根丝的重量还不足450g,相当于4包方便面.这根丝多强呀,是相同细度的高规格钢筋强度的5倍,一根铅笔细度的丝可以拉住一架满载乘客的波音747.这根丝多韧啊,可以伸长40%而没有损害,比人类辛苦做出,并引以为自豪称为”现代纤维生产技术的路标”的芳纶纤维还要坚韧.
我知道你很低调,从不张扬.但人类是喜欢高调的动物,当他们发现你的优秀作品后,便蠢蠢欲动了.他们想找你要,但知道你做的产品太少了,肯定供不应求.所以他们也想学你做出这样的纤维.工程师们是很自信的,他们做的飞机能压死小鸟,他们做的房屋可以摧毁树木,那他们肯定能做出比柔弱的蜘蛛丝更优秀的纤维.于是”人造蜘蛛丝”风靡一时.
2001年,加拿大一个叫Nexia的公司宣称他们可以通过转基因技术,把蜘蛛丝的基因转移到山羊奶中,再通过山羊奶纺出人造蜘蛛丝.应该说他们家的marketing做得不错.至今百度下”蜘蛛丝”,出来的都是他家的新闻.但时至今日,也没见他们宣布他们生产的纤维性能跟蜘蛛丝一样优秀,也不见其产品长度,强力,韧性等的论文.用山羊奶转基因纺蜘蛛丝,就像让人类转基因去生鸟蛋.也许蛋能生出来,但那已经不是鸟蛋了.
又有日本人宣称他们可以通过转基因,让蚕吐蜘蛛丝.乍一想仿佛可行,蚕宝宝与蜘蛛一样拥有丝腺.但事实上,蚕宝宝体内丝纤维的原材料虽然与蜘蛛的非常相似,可它的喷丝口的结构决定了它的丝只适合用以构造房屋.它做不出性能如此优异的蜘蛛丝.当然这也是上帝或者进化论决定的.蚕宝宝作为和平主义者,从不招惹苍蝇蚊子等飞虫,也从不上窜下跳作威一方,自然不需要坚实的丝纤维.
生物学家在角落里偷笑.自然界有最优秀的工程设计师,我早说过了.
恭喜你是一只人类无法企越的蜘蛛.
Reference
1. Vollrath, F., and Knight, D. P., Nature (2001) 410,541
2. Vollrath, F., and Porter, D., Softmatter (2006) 2,377
3. Vollrath, F., and Porter, D., J. Phys. A (2005) 82,205
4. Porter, D., et al., Eur. Phys. J. E (2005) 16, 199
5. Holland, C., et al., Nat. Mater. (2006) 5, 870
十二月 2008 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |