$ sudo yum install libgtextutils-devel
will solve the problem on Fedora.
This problem arises when using the fastx tools from http://hannonlab.cshl.edu/fastx_toolkit/. Even I installed the libgtextutils manually, the error "No package 'gtextutils' found" persists.
After installation, I found this set of tools doesn't help much. For example for quality filters, I have a c++ program adopting the criteria in http://www.1000bullgenomes.com/doco/Sequence%20alignment%20guidelines%20for%201000%20bull%20genomes%20project-20130715.docx. Similar results can be obtained. My program is faster and can deal with pair end reads.
星期四, 一月 30, 2014
星期三, 一月 29, 2014
一次羽毛球比赛
上周六我带领儿子们开车100多公里去打羽毛球比赛。等我们到时,我的第一场比赛马上要开始。我赶紧换衣服上场,结果第一局很快输了下来。而且直到第一局快结束我才知道,因为比赛人多,比赛采用17分制。第二局我稍稍缓过劲来,结果仍然15:17落败。第二场对二号种子,这时候我已经热得差不多了,气势打法完全把对方压制住。虽然第一局落败,但最终我以2:1获胜。不幸的是第三局我把右腿骨四头肌给拉伤了。当时我想二号都给干掉了,剩下的比赛应该不难,冰敷一下应该没事。
然而屋漏偏逢连阴雨,同行的一个小孩家长糊涂,忘记给孩子带鞋。然后他又傻乎乎地跑到城里给孩子买鞋,不知道比赛的时候往往有装备卖。进城时间长,比赛马上就要开始,孩子早就哭成了小泪人。我于是带他买鞋,哄他比赛。
这一折腾,冰敷就来不及了。第三场比赛开始,虽然很轻松地赢了第一局,但后面两局右腿实在顶不住了。对方关键球还耍了一次赖,我一个压线好球他非要说出界,最后那个球只好重赛。
我小组赛最后一场的对手水平更低,但因腿伤,勉强胜之。即使如此,小组出线也没了戏。
两个儿子则很享受比赛。尽管他们都只是从去年下半年才开始打球的,老大还打到了半决赛。小孩子们处在发育期,身体状况差别非常大,孩子们输的球大都情有可原。
看孩子们打球的另外一个很有意思的事情是孩子们的情绪波动很大。初次参加比赛的孩子有时候遇上稍微强硬一些的对手心理就会垮掉,连带着比赛也会轻松输掉。比赛稍多一些,控制情绪的能力就会加强。有的小孩子能够边哭边打,打得还有模有样。和我家老大半决赛的那位第一局被干掉,情绪立即崩溃,哭得不成样子。然而在家长、领队劝导几句后,他能很快调整情绪,并且紧紧抓住我家老大的技术弱点,最终赢得了比赛。这种素质十分了得。
然而屋漏偏逢连阴雨,同行的一个小孩家长糊涂,忘记给孩子带鞋。然后他又傻乎乎地跑到城里给孩子买鞋,不知道比赛的时候往往有装备卖。进城时间长,比赛马上就要开始,孩子早就哭成了小泪人。我于是带他买鞋,哄他比赛。
这一折腾,冰敷就来不及了。第三场比赛开始,虽然很轻松地赢了第一局,但后面两局右腿实在顶不住了。对方关键球还耍了一次赖,我一个压线好球他非要说出界,最后那个球只好重赛。
我小组赛最后一场的对手水平更低,但因腿伤,勉强胜之。即使如此,小组出线也没了戏。
两个儿子则很享受比赛。尽管他们都只是从去年下半年才开始打球的,老大还打到了半决赛。小孩子们处在发育期,身体状况差别非常大,孩子们输的球大都情有可原。
看孩子们打球的另外一个很有意思的事情是孩子们的情绪波动很大。初次参加比赛的孩子有时候遇上稍微强硬一些的对手心理就会垮掉,连带着比赛也会轻松输掉。比赛稍多一些,控制情绪的能力就会加强。有的小孩子能够边哭边打,打得还有模有样。和我家老大半决赛的那位第一局被干掉,情绪立即崩溃,哭得不成样子。然而在家长、领队劝导几句后,他能很快调整情绪,并且紧紧抓住我家老大的技术弱点,最终赢得了比赛。这种素质十分了得。
星期四, 一月 23, 2014
中挪关系
【按】这些东西不是我所擅长,随便说说。
刚才见有人讨论是否将下次的闹背奖给许志永律师。我觉得类似的事情很难发生。上次因为这事情,中挪两国政府至今还在闹别扭。
天朝越来越强势是有目共睹的事情,挪国政府恰好撞到了枪口,被天朝政府当作儆猴的鸡,明枪暗箭一个接一个。比如以前天朝大量从挪国进口三文鱼,事件发生后,改从苏格兰进口。已经到岸的挪威三文鱼兲朝以检疫为名让它们烂在港口上。有一个船舶质检公司,本来在天朝有很大的业务,一度竟然被吊销了执照。凡此种种。
挪国的政客其实松货居多。最初奖项公布的时候,挪国政府当时叫了声好。等到天朝质问,他们又说闹奖是独立机构,与他们无关。无关叫什么好?评奖委员会中有一个前前前首相,在本地以弱智著称。前首相小时候学习也不好,不过挪国人还是挺佩服他的,觉得他学习那么差,最后竟然能成功地拿到学位。
后来挪国想和天朝改善关系,至少商人们眼巴巴地看着呢。后来有一天天朝换了大使,本地报纸竟然说这个大使来的时候带着微笑,以为天气要转暖呢。
再后来,中挪又发生了一件不愉快,就是全球变暖,北冰洋的商业价值越来越高,似乎天朝也想以观察员身份加入某个北冰洋组织。挪国政客以为这次终于可以拿天朝一把,极力反对。哪知道兲朝游说了所有其它成员国,结果最后只剩下挪国反对,不仅无用,而且挪国政府灰头土脸。鸡命一时半会儿改不过来了。
转眼新首相又上任了,据说其外交的主要内容是要和兲朝改善关系。且拭目以待吧。
刚才见有人讨论是否将下次的闹背奖给许志永律师。我觉得类似的事情很难发生。上次因为这事情,中挪两国政府至今还在闹别扭。
天朝越来越强势是有目共睹的事情,挪国政府恰好撞到了枪口,被天朝政府当作儆猴的鸡,明枪暗箭一个接一个。比如以前天朝大量从挪国进口三文鱼,事件发生后,改从苏格兰进口。已经到岸的挪威三文鱼兲朝以检疫为名让它们烂在港口上。有一个船舶质检公司,本来在天朝有很大的业务,一度竟然被吊销了执照。凡此种种。
挪国的政客其实松货居多。最初奖项公布的时候,挪国政府当时叫了声好。等到天朝质问,他们又说闹奖是独立机构,与他们无关。无关叫什么好?评奖委员会中有一个前前前首相,在本地以弱智著称。前首相小时候学习也不好,不过挪国人还是挺佩服他的,觉得他学习那么差,最后竟然能成功地拿到学位。
后来挪国想和天朝改善关系,至少商人们眼巴巴地看着呢。后来有一天天朝换了大使,本地报纸竟然说这个大使来的时候带着微笑,以为天气要转暖呢。
再后来,中挪又发生了一件不愉快,就是全球变暖,北冰洋的商业价值越来越高,似乎天朝也想以观察员身份加入某个北冰洋组织。挪国政客以为这次终于可以拿天朝一把,极力反对。哪知道兲朝游说了所有其它成员国,结果最后只剩下挪国反对,不仅无用,而且挪国政府灰头土脸。鸡命一时半会儿改不过来了。
转眼新首相又上任了,据说其外交的主要内容是要和兲朝改善关系。且拭目以待吧。
星期二, 一月 21, 2014
华罗庚----从沙昆塔拉快速计算所想到的轰动听闻的消息
提问者写下一个201位的 数:916,748,679,200,391,580,986,609,275,853,801,624,831,066,801,443,086,224,071,265,164,279,346,570,408,670,965,932,792,057,674,808,067,900,227,830,163,549,248,523,803,357,453,169,351,119,035,965,775,473,400,756,816,883,056,208,210,161,291,328,455,648,057,801,588,067,711
解答者马上回答:这数的23次方根等于9位数546,372,891.
《环球》杂志的一篇文章中是这样说的(请参阅《环球》1982年第3期《胜过电子计算机的人》一文):印度有一位37岁的妇女沙昆塔拉在计算这道题时速 度超过了一台最先进的电子计算机.这台在美国得过奖的最现代化、最尖端的产品Univac 1180型电子计算机在算这道题时,要先馈入近2万个指令和数字单元,然后才能开始计算.它整整用了一分钟时间才算出结果.而沙昆塔拉在教授在黑板上用了 4分钟写出这个201位数后,仅用50秒钟就算出了以上的答案.美国报纸称她为数学魔术师,轰动一时!文章末尾还神秘地说,在她快生孩子的一个星期,她的 计算能力出了问题.
面对这样的问题怎么办?
看到上述消息,可能有以下几种态度:一是惊叹,望尘莫及,钦佩之至, 钦佩之余也就罢了.二是不屑一顾,我是高等数学专家,岂能为这些区区计算而浪费精力.三是我掌握着快速电子计算机,软件有千千万,她一次胜了我算个啥!老 实说,有上述这些思想是会妨碍进步的.第一种态度是没出息,不想和高手较量较量.第二种态度是自命不凡.实际上连计算也怕的人,能在高等数学上成为权威 吗?即使能成,也是“下笔虽有千言,胸中实无一策”,瞧不起应用,又对应用一无所能的人.第三种是固步自封,不想做机器的主人.动脑筋是推进科学发展的动 力之一,而勤奋、有机会就锻炼是增长我们能耐的好方法.人寿几何!我并不是说碰到所有的问题都想,而是说要经常动脑筋,来考验自己.
在 我们见到这问题的时候,首先发现文章中答数的倒数第二位错了,其次我们用普通的计算器(Sharp 506)可以在20秒内给出答数.那位教授在黑板上写下那个201位数用了4分钟,实际上在他写出8个数字后,我们就可算出答数了.所以说,沙昆塔拉以 50″对1′胜了Univac 1180,而我们用Sharp 506小计算器以-3′40″胜了沙昆塔拉的50″.但我们所靠的不是天才,而是普通人都能学会的方法.让我从头说起吧!
从开立方说起
文章中提到,沙昆塔拉在计算开方时,经常能纠正人们提出的问题,指出题目出错了,可见他们是共同约定开方是开得尽的.现在我们也做这样的约定,即开方的答数都是整数.
我国有一位少年,能在一分钟内开6位数的立方.少年能想得出这个方法是值得称道的,但美中不足之处在于他没有把方法讲出来,因而搞得神秘化了.当然也考试了人们,为什么少年能想得出的方法,一些成年人就想不出来,反而推波助澜造成过分的宣扬?
这问题对我是一个偶遇:在飞机上我的一位助手借了邻座一位香港同胞的杂志看,我从旁看到一个数59,319,希望求这数的立方根.我脱口而出答数是 39.他问为什么,我说,前二位不是说明答数的首位是3吗?尾数是9不是说明答数的末位应当是9吗?因此答数不该是39吗?
然后,我告 诉他,我的完整想法是:把六位数开立方,从前三位决定答数的第一位,答数的第二位根据原数的末位而定:2、8互换,3、7互换,其它照旧(这是因为1、 2、3、4、5、6、7、8、9立方的末位分别为1、8、7、4、5、6、3、2、9).例如314,432的立方根是68,前三位决定6,末位是2,它 决定答数的末位是8.
沙昆塔拉可以脱口而出地回答188,132,517的立方根是573.当然188决定了首位5,末位7决定了3,但读者试想一下,中间的7怎样算?
归纳起来可以看出有两个方法:一个由头到尾,一个由尾到头.
习题:求90,224,199的五次方根.
我们怎样看出答数倒数第二位是错的
这一点比较难些,要运用一个结果:即a^23的最后两位数和a^3的最后两位数是完全相同的.
91^3的最后两位数是71而不是11,而71^3的最后两位数才是11,因此答数中的9应当改为7.先不管出现这个差错的原因是什么,我们这里已经做了一个很好的习题.想不到竟是Univac1180把题目出错了,这事我们后面再讲它.
附记 我 们来证明a^23的最后两位数和a^3的最后两位数相同.当a=2或5时,容易直接验算.今假定a不能被2和5除尽,我们只要证明a^20的末两位是01 就够了.首先因a是奇数,a^2-1总能被8除尽,所以a^20-1当然也能被8除尽.其次,因a^4-1=(a-1)(a+1)[(a-2) (a+2)+5],
a不是5的倍数,所以a-2,a-1,a+1,a+2中肯定有一个是5的倍数.即b=a^4-1是5的倍数,而
a^20-1=(b+1)^5-1=b^5+5b^4+10b^3+10b^2+5b.
因而a^20-1是25的倍数.从而a^20-1是100的倍数.具备些数论知识的人也可从费尔马定理推出来.
我们怎样算
我们用的原则是:如果解答是L位整数,我们只要用前L位(有时只要L-1位)或后L位就够了.用后L位的方法见附录二,先说前一方法.以前
当那位教授说要开201位数的23方时,以23除201余17,就能预测答数是9位数.当教授写到第六、七位时,我们就在Sharp 506上按这六位和七位数,乘以10^16,然后按开方钮算出
(9.16748×10^16)^1/23=5.46372873,
(9.167486×10^16)^1/23=5.46372892,
这样我们定出了答数的前七位:5,463,728,后二位已由上节的方法决定了,因此答数应该是546,372,871.其实,更进一步考虑,只需利用这个201位数的前八位数字就能在计算器上得到它的23次方根(证明见下面的附记):
但不幸的是,把这个数乘23次方,结果与原来给的数不相符(见附录一).与原题比较,发现原题不但尾巴错了,而且在第八和第九位之间少了一个6.竟想不 到Univac 1180把题目出错了,也许是出题的人故意这样做的.为什么沙昆塔拉这次没能发现这个错误?看来她可能也是根据前八位算出了结果,而没对解答进行验算.
我们的习题没有白做,答数错了我们发现了,连题目出错了我们也纠正了.
结论是:在教授写到91,674,867时,我们在计算器上按上这八个数字。再乘10^16,然后按钮开23方就可算出答案,总共约用20″就够了,也就是比那个教授写完这个数还要快3分40秒,比沙昆塔拉快了4分半钟.
既然已经知道答数是九位数,或者说在要求答数有九位有效数字时,我们就只需把前八位或九位数字输入计算机就够了,而无需把201位数全部输入机器,进行一些多余的计算.
附记 以a表示那个201位数,b也表示一个201位数,它的前L位与a相同,后面各位都是零.由中值公式,可知存在一个ξ(b<ξ<a)使
当取L=8时,上式小于1/2,由b^1/23的前九位(第十位四舍五入)就可给出a^1/23
.
虚构
下面讲一个虚构的故事,在沙昆塔拉计算表演后,有一天教授要给学生们出一道计算题.一位助手取来了题目.是一个871位数开97方,要求答案有9位有效 数字.教授开始在黑板上抄这个 数:456,378,192,765,431,892,634,578,932,246,653,811,594,667,891,992,354,467,768,892,…… 当抄到二百多位后,教授的手已经发酸了.“唉!”他叹了一口气,把举着的手放下甩了一下.这时一位学生噗嗤一声笑了起来,对教授说,当您写出八位数字后, 我已把答案算出来了,它是588,415,036.那位助手也跟着笑了.他说,本来后面这些数字是随便写的,它们并不影响答数.这时教授恍然大悟,“哈 哈,我常给你们讲有效数字,现在我却把这个概念忘了.”
多余的话
我不否认沙昆塔拉这样的计算才能.对我 来说,不要说运算了,就是记忆一个六、七位数都记不住.但我总觉得多讲科学化比多讲神秘化好些,科学化的东西学得会,神秘化的东西学不会,故意神秘化就更 不好了.有时传播神秘化的东西比传播科学更容易些.在科学落后的地方,一些简单的问题就能迷惑人.在科学进步的地方,一些较复杂的问题也能迷惑人.看看沙 昆塔拉能在一个科学发达的国家引起轰动,就知道我们该多么警惕了,该多么珍视在实践中考验过的科学成果了,该多么慎重地对待一些未到实践中去过而夸夸其谈 的科学能人了.
同时也可以看到,手中拿了最先进的科学工具,由于疏忽或漫不经心而造成的教训.现代计算工具能计算得很快很准,但也有一 个缺点,一旦算错了,不容易检查出来.对于计算象201位数字开23次方这类的问题——多少属于数学游戏性质的问题,算错了无所谓,而对在实际运用中的问 题算错了就不是玩的.“二万条指令”出错的可能性多了,而在演算过程中想法少用或不用计算机演算,检查起来就不那么难了.这说明人应该是机器的主人,而不 是机器的奴隶.至于大算一阵吓唬人的情况就更不值一提了.这里我们还可以看到基本功训练的重要性.如果基本功较差,那么就是使用大型计算机来演算201位 数开23次方也要1分多钟才能算完.而有了很好的基本功,就是用小计算器也能花比1分钟少的时间算出来.
这是一篇可写可不写的文章,我之所以写出的原因,在于我从沙昆塔拉这件事中得到了启发,受到教育,我想,这些也许对旁人也会是有用的.
附录一
在Z-80机上算出了以下的结果:
(546,372,871)^23
=916,747,905,095,103,243,210,363,347,917,308,524,556,537,205,538,180,828,807,503,334,722,200,665,051,265,286,313,329,220,237,313,414,233,501,871,395,746,758,737,633,830,048,229,594,813,874,760,835,314,592,050,718,076,701,329,501,518,902,758,929,761,623,441,772,974,711.
(546,372,891)^23
=916,748,676,920,039,158,098,660,927,585,380,162,483,106,680,144,308,622,407,126,516,427,934,657,040,867,096,593,279,205,767,480,806,790,022,783,016,354,924,852,380,335,745,316,935,111,903,596,577,547,340,075,681,688,305,620,821,016,129,132,845,564,805,780,158,806,771.
附录二
怎样从尾部的九位数字算出解答,即要找一个九位数x,使它
适合
x^23≡588,067,711 (mod 10^9). (1式)
对任意与10互素的整数a都有a^5≡a(mod 10),所以
x^23≡x^3≡1 (mod 10).
因而x的个位是1.又由于对任意与10互素的整数a有a^20≡1(mod 10^2),设x=10b+1,则
x^23≡x^3=(10b+1)^3≡1+30b≡11 (mod 10^2).
因而x的十位(即b的个位)是7.再假定x=10^2c+71,则
(10^2c+71)^23≡71^23+71^22·2300c≡7711 (mod 10^4).(2式)
依次取平方算出
71^2≡5041,71^4≡1681(mod 10^4).
71^8≡5761,71^16≡9121
所以 71^22≡71^2·71·^4·71^16≡3441 (mod 10^4),
71^23≡71^22·71≡4311 (mod 10^4).
代入(2)式得到 43c≡34(mod 10^2),所以c≡38(mod 10^2),最后设x=10^4d+3871,代入(1)得到
(10^4d+3871)^23≡588,067,711(mod 10^9)
重复上面类似的计算可得到
d≡10742 (mod 105).
所以根据尾部九位数字算出的答案是107,423,871.
还可以采用以下方法直接解同余式(1).由于对任意与10互
素的a都有
a^108≡1 (mod 10^9).
而 23×47826087≡1 (mod 10^8).
所以 x≡x^23×47826087≡(588,067,711)^47826087(mod 10^9).
以上是根据有错误的尾部算出的结果.如果从附录一中所给出的正确的尾部158,806,771出发,利用上面的算法,就可以得到正确的结果546,372,891.
解答者马上回答:这数的23次方根等于9位数546,372,891.
《环球》杂志的一篇文章中是这样说的(请参阅《环球》1982年第3期《胜过电子计算机的人》一文):印度有一位37岁的妇女沙昆塔拉在计算这道题时速 度超过了一台最先进的电子计算机.这台在美国得过奖的最现代化、最尖端的产品Univac 1180型电子计算机在算这道题时,要先馈入近2万个指令和数字单元,然后才能开始计算.它整整用了一分钟时间才算出结果.而沙昆塔拉在教授在黑板上用了 4分钟写出这个201位数后,仅用50秒钟就算出了以上的答案.美国报纸称她为数学魔术师,轰动一时!文章末尾还神秘地说,在她快生孩子的一个星期,她的 计算能力出了问题.
面对这样的问题怎么办?
看到上述消息,可能有以下几种态度:一是惊叹,望尘莫及,钦佩之至, 钦佩之余也就罢了.二是不屑一顾,我是高等数学专家,岂能为这些区区计算而浪费精力.三是我掌握着快速电子计算机,软件有千千万,她一次胜了我算个啥!老 实说,有上述这些思想是会妨碍进步的.第一种态度是没出息,不想和高手较量较量.第二种态度是自命不凡.实际上连计算也怕的人,能在高等数学上成为权威 吗?即使能成,也是“下笔虽有千言,胸中实无一策”,瞧不起应用,又对应用一无所能的人.第三种是固步自封,不想做机器的主人.动脑筋是推进科学发展的动 力之一,而勤奋、有机会就锻炼是增长我们能耐的好方法.人寿几何!我并不是说碰到所有的问题都想,而是说要经常动脑筋,来考验自己.
在 我们见到这问题的时候,首先发现文章中答数的倒数第二位错了,其次我们用普通的计算器(Sharp 506)可以在20秒内给出答数.那位教授在黑板上写下那个201位数用了4分钟,实际上在他写出8个数字后,我们就可算出答数了.所以说,沙昆塔拉以 50″对1′胜了Univac 1180,而我们用Sharp 506小计算器以-3′40″胜了沙昆塔拉的50″.但我们所靠的不是天才,而是普通人都能学会的方法.让我从头说起吧!
从开立方说起
文章中提到,沙昆塔拉在计算开方时,经常能纠正人们提出的问题,指出题目出错了,可见他们是共同约定开方是开得尽的.现在我们也做这样的约定,即开方的答数都是整数.
我国有一位少年,能在一分钟内开6位数的立方.少年能想得出这个方法是值得称道的,但美中不足之处在于他没有把方法讲出来,因而搞得神秘化了.当然也考试了人们,为什么少年能想得出的方法,一些成年人就想不出来,反而推波助澜造成过分的宣扬?
这问题对我是一个偶遇:在飞机上我的一位助手借了邻座一位香港同胞的杂志看,我从旁看到一个数59,319,希望求这数的立方根.我脱口而出答数是 39.他问为什么,我说,前二位不是说明答数的首位是3吗?尾数是9不是说明答数的末位应当是9吗?因此答数不该是39吗?
然后,我告 诉他,我的完整想法是:把六位数开立方,从前三位决定答数的第一位,答数的第二位根据原数的末位而定:2、8互换,3、7互换,其它照旧(这是因为1、 2、3、4、5、6、7、8、9立方的末位分别为1、8、7、4、5、6、3、2、9).例如314,432的立方根是68,前三位决定6,末位是2,它 决定答数的末位是8.
沙昆塔拉可以脱口而出地回答188,132,517的立方根是573.当然188决定了首位5,末位7决定了3,但读者试想一下,中间的7怎样算?
归纳起来可以看出有两个方法:一个由头到尾,一个由尾到头.
习题:求90,224,199的五次方根.
我们怎样看出答数倒数第二位是错的
这一点比较难些,要运用一个结果:即a^23的最后两位数和a^3的最后两位数是完全相同的.
91^3的最后两位数是71而不是11,而71^3的最后两位数才是11,因此答数中的9应当改为7.先不管出现这个差错的原因是什么,我们这里已经做了一个很好的习题.想不到竟是Univac1180把题目出错了,这事我们后面再讲它.
附记 我 们来证明a^23的最后两位数和a^3的最后两位数相同.当a=2或5时,容易直接验算.今假定a不能被2和5除尽,我们只要证明a^20的末两位是01 就够了.首先因a是奇数,a^2-1总能被8除尽,所以a^20-1当然也能被8除尽.其次,因a^4-1=(a-1)(a+1)[(a-2) (a+2)+5],
a不是5的倍数,所以a-2,a-1,a+1,a+2中肯定有一个是5的倍数.即b=a^4-1是5的倍数,而
a^20-1=(b+1)^5-1=b^5+5b^4+10b^3+10b^2+5b.
因而a^20-1是25的倍数.从而a^20-1是100的倍数.具备些数论知识的人也可从费尔马定理推出来.
我们怎样算
我们用的原则是:如果解答是L位整数,我们只要用前L位(有时只要L-1位)或后L位就够了.用后L位的方法见附录二,先说前一方法.以前
当那位教授说要开201位数的23方时,以23除201余17,就能预测答数是9位数.当教授写到第六、七位时,我们就在Sharp 506上按这六位和七位数,乘以10^16,然后按开方钮算出
(9.16748×10^16)^1/23=5.46372873,
(9.167486×10^16)^1/23=5.46372892,
这样我们定出了答数的前七位:5,463,728,后二位已由上节的方法决定了,因此答数应该是546,372,871.其实,更进一步考虑,只需利用这个201位数的前八位数字就能在计算器上得到它的23次方根(证明见下面的附记):
但不幸的是,把这个数乘23次方,结果与原来给的数不相符(见附录一).与原题比较,发现原题不但尾巴错了,而且在第八和第九位之间少了一个6.竟想不 到Univac 1180把题目出错了,也许是出题的人故意这样做的.为什么沙昆塔拉这次没能发现这个错误?看来她可能也是根据前八位算出了结果,而没对解答进行验算.
我们的习题没有白做,答数错了我们发现了,连题目出错了我们也纠正了.
结论是:在教授写到91,674,867时,我们在计算器上按上这八个数字。再乘10^16,然后按钮开23方就可算出答案,总共约用20″就够了,也就是比那个教授写完这个数还要快3分40秒,比沙昆塔拉快了4分半钟.
既然已经知道答数是九位数,或者说在要求答数有九位有效数字时,我们就只需把前八位或九位数字输入计算机就够了,而无需把201位数全部输入机器,进行一些多余的计算.
附记 以a表示那个201位数,b也表示一个201位数,它的前L位与a相同,后面各位都是零.由中值公式,可知存在一个ξ(b<ξ<a)使
当取L=8时,上式小于1/2,由b^1/23的前九位(第十位四舍五入)就可给出a^1/23
.
虚构
下面讲一个虚构的故事,在沙昆塔拉计算表演后,有一天教授要给学生们出一道计算题.一位助手取来了题目.是一个871位数开97方,要求答案有9位有效 数字.教授开始在黑板上抄这个 数:456,378,192,765,431,892,634,578,932,246,653,811,594,667,891,992,354,467,768,892,…… 当抄到二百多位后,教授的手已经发酸了.“唉!”他叹了一口气,把举着的手放下甩了一下.这时一位学生噗嗤一声笑了起来,对教授说,当您写出八位数字后, 我已把答案算出来了,它是588,415,036.那位助手也跟着笑了.他说,本来后面这些数字是随便写的,它们并不影响答数.这时教授恍然大悟,“哈 哈,我常给你们讲有效数字,现在我却把这个概念忘了.”
多余的话
我不否认沙昆塔拉这样的计算才能.对我 来说,不要说运算了,就是记忆一个六、七位数都记不住.但我总觉得多讲科学化比多讲神秘化好些,科学化的东西学得会,神秘化的东西学不会,故意神秘化就更 不好了.有时传播神秘化的东西比传播科学更容易些.在科学落后的地方,一些简单的问题就能迷惑人.在科学进步的地方,一些较复杂的问题也能迷惑人.看看沙 昆塔拉能在一个科学发达的国家引起轰动,就知道我们该多么警惕了,该多么珍视在实践中考验过的科学成果了,该多么慎重地对待一些未到实践中去过而夸夸其谈 的科学能人了.
同时也可以看到,手中拿了最先进的科学工具,由于疏忽或漫不经心而造成的教训.现代计算工具能计算得很快很准,但也有一 个缺点,一旦算错了,不容易检查出来.对于计算象201位数字开23次方这类的问题——多少属于数学游戏性质的问题,算错了无所谓,而对在实际运用中的问 题算错了就不是玩的.“二万条指令”出错的可能性多了,而在演算过程中想法少用或不用计算机演算,检查起来就不那么难了.这说明人应该是机器的主人,而不 是机器的奴隶.至于大算一阵吓唬人的情况就更不值一提了.这里我们还可以看到基本功训练的重要性.如果基本功较差,那么就是使用大型计算机来演算201位 数开23次方也要1分多钟才能算完.而有了很好的基本功,就是用小计算器也能花比1分钟少的时间算出来.
这是一篇可写可不写的文章,我之所以写出的原因,在于我从沙昆塔拉这件事中得到了启发,受到教育,我想,这些也许对旁人也会是有用的.
附录一
在Z-80机上算出了以下的结果:
(546,372,871)^23
=916,747,905,095,103,243,210,363,347,917,308,524,556,537,205,538,180,828,807,503,334,722,200,665,051,265,286,313,329,220,237,313,414,233,501,871,395,746,758,737,633,830,048,229,594,813,874,760,835,314,592,050,718,076,701,329,501,518,902,758,929,761,623,441,772,974,711.
(546,372,891)^23
=916,748,676,920,039,158,098,660,927,585,380,162,483,106,680,144,308,622,407,126,516,427,934,657,040,867,096,593,279,205,767,480,806,790,022,783,016,354,924,852,380,335,745,316,935,111,903,596,577,547,340,075,681,688,305,620,821,016,129,132,845,564,805,780,158,806,771.
附录二
怎样从尾部的九位数字算出解答,即要找一个九位数x,使它
适合
x^23≡588,067,711 (mod 10^9). (1式)
对任意与10互素的整数a都有a^5≡a(mod 10),所以
x^23≡x^3≡1 (mod 10).
因而x的个位是1.又由于对任意与10互素的整数a有a^20≡1(mod 10^2),设x=10b+1,则
x^23≡x^3=(10b+1)^3≡1+30b≡11 (mod 10^2).
因而x的十位(即b的个位)是7.再假定x=10^2c+71,则
(10^2c+71)^23≡71^23+71^22·2300c≡7711 (mod 10^4).(2式)
依次取平方算出
71^2≡5041,71^4≡1681(mod 10^4).
71^8≡5761,71^16≡9121
所以 71^22≡71^2·71·^4·71^16≡3441 (mod 10^4),
71^23≡71^22·71≡4311 (mod 10^4).
代入(2)式得到 43c≡34(mod 10^2),所以c≡38(mod 10^2),最后设x=10^4d+3871,代入(1)得到
(10^4d+3871)^23≡588,067,711(mod 10^9)
重复上面类似的计算可得到
d≡10742 (mod 105).
所以根据尾部九位数字算出的答案是107,423,871.
还可以采用以下方法直接解同余式(1).由于对任意与10互
素的a都有
a^108≡1 (mod 10^9).
而 23×47826087≡1 (mod 10^8).
所以 x≡x^23×47826087≡(588,067,711)^47826087(mod 10^9).
以上是根据有错误的尾部算出的结果.如果从附录一中所给出的正确的尾部158,806,771出发,利用上面的算法,就可以得到正确的结果546,372,891.
星期一, 一月 13, 2014
名人海瑞
道听途说,未验证。
明代政治家海瑞四岁丧父,由母亲谢氏抚养长大,母亲对海瑞严格管教,相依为命,海瑞四五十岁还同母睡一房,婆媳不合,海瑞又听母亲的话。第一个妻子只生了两女儿,被海瑞休了;第二个妻子进门不到一月,被赶出家门;第三个妻子为海瑞生了两儿子。海瑞60多岁还纳了2个妾,却相继都自杀了。
海瑞有个七岁(一说五岁)的女儿,吃了男仆人给的饼,被他以男女授受不亲为由逼饿死。
明代政治家海瑞四岁丧父,由母亲谢氏抚养长大,母亲对海瑞严格管教,相依为命,海瑞四五十岁还同母睡一房,婆媳不合,海瑞又听母亲的话。第一个妻子只生了两女儿,被海瑞休了;第二个妻子进门不到一月,被赶出家门;第三个妻子为海瑞生了两儿子。海瑞60多岁还纳了2个妾,却相继都自杀了。
海瑞有个七岁(一说五岁)的女儿,吃了男仆人给的饼,被他以男女授受不亲为由逼饿死。
Play web videos on Fedora
Adobe's flash-player plugin has brought a lot of troubles on Linux systems, especially the 64-bit one.
Recently I bought a new laptop, which runs Fedora. For a fresh installation, flash videos run smoothly, e.g., Youtube. After some time, however, when I opened some other websites, for example ffilms.org, which might contain different types of flash videos, the plugin then stop working. Firefox's plugin-container then eats up almost 100% CPU usage. This abnormality won't go away until a fresh installation. I am fed up.
I then,
PS, if nspluginwrapper is installed, remove it.
Recently I bought a new laptop, which runs Fedora. For a fresh installation, flash videos run smoothly, e.g., Youtube. After some time, however, when I opened some other websites, for example ffilms.org, which might contain different types of flash videos, the plugin then stop working. Firefox's plugin-container then eats up almost 100% CPU usage. This abnormality won't go away until a fresh installation. I am fed up.
I then,
sudo yum remove adobe-release flash-pluginNow the Youtube videos are playable again. Although ffilms.org is still not playable, the browser doesn't crash after the change.
sudo yum install gnash gnash-plugin gstreamer-ffmpeg gstreamer-plugins-ugly
PS, if nspluginwrapper is installed, remove it.
星期六, 一月 11, 2014
湖怪、野狗和科学家们
01 年夏天我和朋友们一起驱车玩了一趟苏格兰高地。这一路极美的湖光山色给我留下了深刻印象。路上最有名的景点恐怕要数 Fort Williams 的 Loch ness,它以 1933 年“发现”的尼斯湖怪兽而闻名世界。湖边有一个怪兽博物馆,门票好几英镑。那天朋友夫妇问我要不要去看看,我说我对这种骗人的东西丝毫不感兴趣。之后有没有湖怪就成为我们一路上争论的话由。
朋友夫妇俩的工作都和计算机有些关系。他俩坚称要完全否定尼斯湖怪兽的存在是不可能的。中间他们还提及了另外一个和苏格兰有关的笑话,就是三个科学家与一只苏格兰黑绵羊的故事。
现在我回头去想,我想不出他们当时是怎么联系起来这个笑话的。大概他们觉得我们连有没有怪兽这个问题都没有事先声明清楚。或者他们可能想说没有什么事情可以完全确定,类似网络名人“叨叨”的父亲是不是澳洲野狗不能百分百下否定结论一般。
我反对尼斯湖怪兽的道理还是在遗传学方面,一个物种不可能单单以一两个体的形式存在。否则即使它们曾经存在过,单近交退化就可以早早地将它们清除出自然界;如果怪兽有一个足够大的群体,那么小小的尼斯湖根本不足以养活它们,也与湖怪的目击如此稀少相矛盾。
现在看来,尼斯湖怪事件实际上就是现代炒作的鼻祖。自从这个故事出现后,当地的旅游业极大发展。每到夏天旅游季节,湖边的度假屋总是供不应求。再后来发生的很多故事大家就似曾相识了,比如“怪坡”等。但第一个炒作的那叫原创,后来者只能是类犬的画虎,徒增笑尔。
附:
一个天文学家,一个物理学家和一个数学家在苏格兰的火车上。天文学家看到窗外田野里有一只黑绵羊嚷道:“好奇怪,苏格兰的绵羊都是黑色的!”“不不不!”物理学家说:“苏格兰只有部分绵羊是黑色的。”数学家白了一眼,觉得伙伴们的想法太糊涂了:“在苏格兰,至少有一只绵羊,它至少有一面,在某段时间,从这里来看,显得是黑颜色的。“
朋友夫妇俩的工作都和计算机有些关系。他俩坚称要完全否定尼斯湖怪兽的存在是不可能的。中间他们还提及了另外一个和苏格兰有关的笑话,就是三个科学家与一只苏格兰黑绵羊的故事。
现在我回头去想,我想不出他们当时是怎么联系起来这个笑话的。大概他们觉得我们连有没有怪兽这个问题都没有事先声明清楚。或者他们可能想说没有什么事情可以完全确定,类似网络名人“叨叨”的父亲是不是澳洲野狗不能百分百下否定结论一般。
我反对尼斯湖怪兽的道理还是在遗传学方面,一个物种不可能单单以一两个体的形式存在。否则即使它们曾经存在过,单近交退化就可以早早地将它们清除出自然界;如果怪兽有一个足够大的群体,那么小小的尼斯湖根本不足以养活它们,也与湖怪的目击如此稀少相矛盾。
现在看来,尼斯湖怪事件实际上就是现代炒作的鼻祖。自从这个故事出现后,当地的旅游业极大发展。每到夏天旅游季节,湖边的度假屋总是供不应求。再后来发生的很多故事大家就似曾相识了,比如“怪坡”等。但第一个炒作的那叫原创,后来者只能是类犬的画虎,徒增笑尔。
附:
一个天文学家,一个物理学家和一个数学家在苏格兰的火车上。天文学家看到窗外田野里有一只黑绵羊嚷道:“好奇怪,苏格兰的绵羊都是黑色的!”“不不不!”物理学家说:“苏格兰只有部分绵羊是黑色的。”数学家白了一眼,觉得伙伴们的想法太糊涂了:“在苏格兰,至少有一只绵羊,它至少有一面,在某段时间,从这里来看,显得是黑颜色的。“
星期日, 一月 05, 2014
随笔
一
年前我买了一台Dell Inspiron 14-5439,结果它运行 Fedora+adobe flash plugin 浏览器老挂。后来我把 BIOS 刷新到了 A02,机器运行就正常了,现在它流畅得都让我有些感动。今年我要带它绕地球两圈,至少回一次中国,然后八月去一次加拿大和美国。这将是我第一次踏上北美大陆,我期待有机会把我在北美的伙计们能骚扰的都骚扰一遍。哼 :-|。
二
我总觉得那些“家国不幸诗人幸”的人们生活在与现实世界不相交的宇宙里面。十万唐诗宋词抵不上一本数理化教科书,更何况其中有众多无病呻吟之作呢。我以前非常喜欢苏东坡的文采,但据说他的《策论》很渣。最近我又刚听说苏东坡还有缠足七标准“瘦、小、 尖、 弯、 香、 软、 正”和小脚七美“形、质、资、神、肥、软、秀”这样的奇葩。
三
不愿花太多时间锻炼身体的可以参考 The scientific 7-minutes workout,每天一次。Youtube 上有不少如何做的录像。夏煊泽有一次和球友互动,讲过一段核心力量锻炼,其中好多与这 12 个动作重复,夏动作最难的是单腿起蹲。我平时带一帮小孩打羽毛球,让他们做过几次,他们基本上都做不下来,后来不了了之。有一两个坚持下来,效果非常好。只要不是太胖,一般男子按夏的核心力量很快就能把六块腹肌练出来。七分钟应该有相似的效果,今年我要带领全家一起做之。
年前我买了一台Dell Inspiron 14-5439,结果它运行 Fedora+adobe flash plugin 浏览器老挂。后来我把 BIOS 刷新到了 A02,机器运行就正常了,现在它流畅得都让我有些感动。今年我要带它绕地球两圈,至少回一次中国,然后八月去一次加拿大和美国。这将是我第一次踏上北美大陆,我期待有机会把我在北美的伙计们能骚扰的都骚扰一遍。哼 :-|。
二
我总觉得那些“家国不幸诗人幸”的人们生活在与现实世界不相交的宇宙里面。十万唐诗宋词抵不上一本数理化教科书,更何况其中有众多无病呻吟之作呢。我以前非常喜欢苏东坡的文采,但据说他的《策论》很渣。最近我又刚听说苏东坡还有缠足七标准“瘦、小、 尖、 弯、 香、 软、 正”和小脚七美“形、质、资、神、肥、软、秀”这样的奇葩。
三
不愿花太多时间锻炼身体的可以参考 The scientific 7-minutes workout,每天一次。Youtube 上有不少如何做的录像。夏煊泽有一次和球友互动,讲过一段核心力量锻炼,其中好多与这 12 个动作重复,夏动作最难的是单腿起蹲。我平时带一帮小孩打羽毛球,让他们做过几次,他们基本上都做不下来,后来不了了之。有一两个坚持下来,效果非常好。只要不是太胖,一般男子按夏的核心力量很快就能把六块腹肌练出来。七分钟应该有相似的效果,今年我要带领全家一起做之。
订阅:
博文 (Atom)