星期四, 一月 30, 2014

Fedora "No package 'gtextutils' found"

$ 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.

星期三, 一月 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.

星期一, 一月 13, 2014

名人海瑞

道听途说,未验证。

明代政治家海瑞四岁丧父,由母亲谢氏抚养长大,母亲对海瑞严格管教,相依为命,海瑞四五十岁还同母睡一房,婆媳不合,海瑞又听母亲的话。第一个妻子只生了两女儿,被海瑞休了;第二个妻子进门不到一月,被赶出家门;第三个妻子为海瑞生了两儿子。海瑞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,
sudo yum remove adobe-release flash-plugin
sudo yum install gnash gnash-plugin gstreamer-ffmpeg gstreamer-plugins-ugly
Now the Youtube videos are playable again. Although ffilms.org is still not playable, the browser doesn't crash after the change.

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 个动作重复,夏动作最难的是单腿起蹲。我平时带一帮小孩打羽毛球,让他们做过几次,他们基本上都做不下来,后来不了了之。有一两个坚持下来,效果非常好。只要不是太胖,一般男子按夏的核心力量很快就能把六块腹肌练出来。七分钟应该有相似的效果,今年我要带领全家一起做之。