Profilo di NowCan老侃研究院微软分院BlogElenchiAmici Strumenti Guida

Blog


19/02/2008

美国次级贷究竟是什么玩艺儿?

        在美国社会,贷款是非常普遍的现象,从房子到汽车,从信用卡到电话帐单,贷款无处不在。当地人很少全款买房,通常都是长时间的贷款。可是我们也知道,在这里失业和再就业是很常见的现象,对于这些收入并不稳定,甚至根本没有收入的群众,他们怎么买房呢?因为信用等级达不到标准,他们就被定义为次级贷款者。

  这个时候贷款公司就出现,电视上、报纸上漫天的广告,街头或者信箱里诱人的传单:

 “你想过中产阶级的生活吗?买房吧!”

 “积蓄不够吗?贷款吧!”

 “没有收入吗?找阿牛贷款公司吧!”

 “首付也付不起?我们提供0首付!”

 “担心利息太高?头2年我们提供3%的优惠利率!”

 “每个月还是付不起?没关系,头24个月你只需要支付利息,贷款的本金可以2年后再付!想想看,2年后你肯定已经找到工作或者被提升为经理了,到时候还怕付不起!”

 “担心2年后还是还不起?哎呀,你也真是太小心了,看看现在的房子比2年前涨了多少,到时候你转手卖给别人啊,不仅白住2年,还可能赚1笔呢!再说了,又不用你出钱,我都相信你一定行的,难道我敢贷,你还不敢借?”

  在这样的诱惑下,无数美国市民毫不犹豫的选择了贷款买房。(你替他们担心2年后的债务?向来自我感觉良好的美国市民会告诉你,演电影的都能当上州长,2年后说不定我还能竞选总统呢:)

  阿牛贷款公司短短几个月就取得了惊人的业绩,可是钱都贷出去了,能不能收回来呢?公司的董事长——阿牛先生,那也是熟读美国经济史的人物,不可能不知道房地产市场也有风险的,所以这笔收益看来不能独吞,要找个合伙人分担风险才行。于是阿牛找到美国经济界的带头大哥——投行。这些家伙可都是名字响当当主儿(美林、高盛、摩根),他们每天做什么呢?就是吃饱了闲着也是闲着,于是找来诺贝尔经济学家,找来哈佛教授,用上最新的经济数据模型,一番鼓捣之后,弄出几份分析报告,从而评价一下某某股票是否值得买进,某某国家的股市已经有泡沫了,一群在风险评估市场里面骗吃骗喝的主儿,你说他们看的到这里面有风险不,用脚都看的到!可是有利润啊,那还犹豫什么,接手搞吧!于是经济学家、大学教授、数据模型,老三样评估之后,重新包装一下,就弄出了新产品——CDO。说穿了就是债券,通过发行和销售这个CDO债券,让债券的持有人来分担房屋贷款的风险。

  光这样卖,风险太高还是没人买啊,假设原来的债券风险等级是6,属于中等偏高。于是投行把它分成高级和普通CDO 2个部分,发生债务危机时,高级CDO享有优先赔付的权利。这样两部分的风险等级分别变成了4和8,总风险不变,但是前者就属于中低风险债券了,凭投行三寸不烂金舌,当然卖了个满堂彩!可是剩下的风险等级8的高风险债券怎么办呢?

  于是投行找到了对冲基金,对冲基金又是什么人,那可是在全世界金融界买空卖多,呼风唤雨的角色,过的就是刀口舔血的日子,这点风险小意思!于是凭借着老关系,在世界范围内找利率最低的银行借来钱,然后大举买入这部分普通CDO债券,2006年以前,日本央行贷款利率仅为1.5%;普通CDO利率可能达到12%,所以光靠利息差对冲基金就赚的盆满钵满了。

  这样一来,奇妙的事情发生了,从2001年末开始,美国的房地产一路彪升,短短几年就翻了一倍多,这样一来就如同开始阿牛贷款公司的广告一样,根本不会出现还不起房款的事情,就算没钱还,把房子一卖还可以赚一笔钱。结果是从贷款买房的人,到阿牛贷款公司,到各大投行,到各个银行,到对冲基金人人都赚钱,但是投行却不太高兴了!当初是觉得普通CDO风险太高,才扔给对冲基金的,没想到这帮家伙比自己赚的还多,净值一个劲的涨,早知道自己留着玩了,于是投行也开始买入对冲基金,打算分一杯羹了。这就好象“老黑”家里有馊了的饭菜,正巧看见隔壁邻居那只讨厌的“小花”狗,本来打算毒它一把,没想到小花吃了不但没事,反而还越涨越壮了,“老黑”这下可蒙了,难道馊了的饭菜营养更好,于是自己也开始吃了!

  这下可把对冲基金乐坏了,他们是什么人,手里有1块钱,就能想办法借10块钱来玩的土匪啊,现在拿着抢手的CDO还能老实?于是他们又把手里的CDO债券抵押给银行,换得10倍的贷款,然后继续追着投行买普通CDO,切,当初可是签了协议,这些CDO都归我们的!!!投行心里那个不爽啊,除了继续闷声买对冲基金之外,他们又想出了一个新产品,就叫CDS好了,华尔街就是这些天才产品的温床:)不是都觉得原来的CDO风险高吗,那我投保好了,每年从CDO里面拿出一部分钱作为保金,白送给保险公司,但是将来出了风险,大家一起承担。

  保险公司想,不错啊,眼下CDO这么赚钱,1分钱都不用出就分利润,这不是每年白送钱给我们嘛?干了!

  对冲基金想,不错啊,已经赚了几年了,以后风险越来越大,光是分一部分利润出去,就有保险公司承担一半风险,干了!

  于是再次皆大欢喜,CDS也卖火了!但是事情到这里还没有结束:)因为“聪明”的华尔街人又想出了基于CDS的创新产品!我们假设CDS已经为我们带来了50亿元的收益,现在我新发行一个“三毛”基金,这个基金是专门投资买入CDS的,显然这个建立在之前一系列产品之上的基金的风险是很高的,但是我把之前已经赚的50亿元投入作为保证金,如果这个基金发生亏损,那么先用这50亿垫付,只有这50亿亏完了,你投资的本金才会开始亏损,而在这之前你是可以提前赎回的,首发规模500亿。天啊,还有比这个还爽的基金吗?1元面值买入的基金,亏到0.90元都不会亏自己的钱,赚了却每分钱都是自己的!评级机构看到这个天才设想,简直是毫不犹豫的给予AAA评级!

  结果这个“三毛”可卖疯了,各种养老基金、教育基金、理财产品,甚至其他国家的银行也纷纷买入。虽然首发规模是原定的500亿,可是后续发行了多少亿,简直已经无法估算了,但是保证金50亿元却没有变。如果现有规模5000亿,那保证金就只能保证在基金净值不低于0.99元时,你不会亏钱了。

  就在这个时候,时间走到了2006年低,风光了整整5年的美国房地产终于从顶峰重重的摔了下来,这条食物链也终于开始断裂。因为房价下跌,优惠贷款利率的时限到了之后,先是普通民众无法偿还贷款,然后阿牛贷款公司倒闭,对冲基金大幅亏损,继而连累保险公司和贷款的银行,花旗,摩根相继发布巨额亏损报告,同时投资对冲基金的各大投行也纷纷亏损,然后股市大跌,民众普遍亏钱,无法偿还房贷的民众继续增多。。。。。
15/01/2008

VC2005的64位编译

    随着64位系统的流行,越来越多的程序使用了64位技术,特别是对速度要求很高的程序。但是我打开VC2005,编译目标平台中竟然没有win64,而只有win32,pocketpc2003和smartphone2003,而在link选项中将目标计算机改为X64又不能通过编译。
    相信有不少人遇到这个问题,其实解决方法很简单,就是用VC2005的安装盘,进行添加/修改,选中VC2005中的64位编译器支持。这样,VC2005就可以编译64位的程序了。而且在32位的windows下也可以编译64位的程序。
05/09/2007

围棋是为人之学,象棋是管理之道。【转】

  围棋是为人之学,象棋是管理之道。
  围棋于为人,在于
  宏观上,棋局长,人生长,这里吃点亏,那里使劲还能补回来。人生多波折,没有一帆风顺能赢下来的棋。劣势时守的住,不倒下,就有机会再放胜负手,就有东山再起的希望。不象象棋,一时疏忽,丢了一子,就再没有翻身的机会了。
  微观上,进退有“度”。做事讲究分寸,过犹不及。下围棋最是如此。既要和谐,也要充分。人际之间,最是如此。做人不能过分,过分则殃及自身。而不充分则亏了自己。
  而象棋则讲究管理之学,用人之道。车、马、炮,避其所短,用人所长。组合成一个最有战斗力的群体。必要时候,为了终极目的,不惜牺牲,壮士断腕,将主要兵力聚焦于一点。
  取舍之道,在于对于目标来说,兵力的效率的最大化,而不是兵力的多少。

 
02/08/2007

最难念的文章【转】

 1、赵元任《施氏食狮史》
    
  石室诗士施氏,嗜狮,誓食十狮。施氏时时适市视狮。十时,适十狮适市。是时,适施氏适市。氏视是十狮,恃矢势,使是十狮逝世。氏拾是十狮尸,适石室。石室湿,氏使侍拭石室。石室拭,氏始试食是十狮。食时,始识是十狮,实十石狮尸。试释是事。
2、杨富森 < <于瑜与余欲渔遇雨 > >  

        于瑜欲渔,遇余于寓。语余:“余欲渔于渝淤,与余渔渝欤?”
        余语于瑜:“余欲鬻玉,俞禹欲玉,余欲遇俞于俞寓。”
  余与于瑜遇俞禹于俞寓,逾俞隅,欲鬻玉于俞,遇雨,雨逾俞宇。余语于瑜:“余欲渔于渝淤,遇雨俞寓,雨逾俞宇,欲渔欤?鬻玉欤?”
  于瑜与余御雨于俞寓,俞鬻玉于余禹,雨愈,余与于瑜踽踽逾俞宇,渔于渝淤。
3、《季姬击鸡记》

  季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。鸡既济,跻姬笈,季姬忌,急咭鸡,鸡急,继圾几,季姬急,即籍箕击鸡,箕疾击几伎,伎即齑,鸡叽集几基,季姬急极屐击鸡,鸡既殛,季姬激,即记《季姬击鸡记》。
 
4、《遗镒疑医》

  伊姨殪,遗亿镒。伊诣邑,意医姨疫,一医医伊姨。翌,亿镒遗,疑医,以议医。医以伊疑,缢,以移伊疑。伊倚椅以忆,忆以亿镒遗,以议伊医,亦缢。噫!亦异矣!
  
5、《易姨医胰》

  易姨悒悒,依议诣夷医。医疑胰疫,遗意易姨倚椅,以异仪移姨胰,弋异蚁一亿,胰液溢,蚁殪,胰以医。易胰怡怡,贻医一夷衣。医衣夷衣,怡怡奕奕。噫!以蚁医胰,异矣!以夷衣贻夷医亦宜矣!
  
6、   赵元任《熙戏犀》

  西溪犀,喜嬉戏。席熙夕夕携犀徙,席熙细细习洗犀。犀吸溪,戏袭熙。席熙嘻嘻希息戏。惜犀嘶嘶喜袭熙。
  
7、《饥鸡集矶记》

  唧唧鸡,鸡唧唧。几鸡挤挤集矶脊。机极疾,鸡饥极,鸡冀己技击及鲫。机既济蓟畿,鸡计疾机激几鲫。机疾极,鲫极悸,急急挤集矶级际。继即鲫迹极寂寂,继即几鸡既饥,即唧唧。
  
8、《侄治痔》
 
        芝之稚侄郅,至智,知制纸,知织帜,芝痔炙痔,侄至芝址,知之知芷汁治痔,至芷址,执芷枝,蜘至,踯侄,执直枝掷之,蜘止,侄执芷枝至芝,芝执芷治痔,痔止。
  
9、   最后也是最XXXXX的:

    《羿裔熠邑彝》
  羿裔熠①,邑②彝,义医,艺诣。
  熠姨遗一裔伊③,伊仪迤,衣旖,异奕矣。
  熠意④伊矣,易衣以贻伊,伊遗衣,衣异衣以意异熠,熠抑矣。
  伊驿邑,弋一翳⑤,弈毅⑥。毅仪奕,诣弈,衣异,意逸。毅诣伊,益伊,伊怡,已臆⑦毅矣,毅亦怡伊。
  翌,伊亦弈毅。毅以蜴贻伊,伊亦贻衣以毅。
  伊疫,呓毅,癔异矣,倚椅咿咿,毅亦咿咿。
  毅诣熠,意以熠,议熠医伊,熠懿⑧毅,意役毅逸。毅以熠宜伊,翼逸。
  熠驿邑以医伊,疑伊胰痍⑨,以蚁医伊,伊遗异,溢,伊咦。熠移伊,刈薏⑩以医,伊益矣。
  伊忆毅,亦呓毅矣,熠意伊毅已逸,熠意役伊。伊异,噫,缢。
  熠癔,亦缢。
 
  注解:
  ①熠:医生,据说为后羿的后裔。
  ②邑:以彝为邑,指居住在一个彝族聚居的地方。
  ③伊:绝世佳丽,仪态万方,神采奕奕。
  ④意:对伊有意思,指熠爱上了伊。
  ⑤翳:有遮蔽的地方,指伊游弋到了一个阴凉的地方。
  ⑥毅:逍遥不羁的浪人,善于下棋,神情坚毅,目光飘逸。
  ⑦臆:主观的感觉,通“意”,指对毅有好感。
  ⑧懿:原意为“懿旨”,此处引申为要挟,命令。
  ⑨胰痍:胰脏出现了疮痍。
  ⑩刈:割下草或者谷物一类。薏:薏米,白色,可供食用,也可入药。
 
23/07/2007

我从编程中悟出八个字【转】

我从编程中悟出八个字:1专   2静   3谦   4筹   5悟   6慎   7透   8恒 [Microsoft777 ]

    1"忽如一夜春风来,千树万树梨花开."现在的技术百花齐放,切忌不可贪.
不要盲目的追求新技术,唯有算法才是灵魂.
 
    2"非淡泊无以明志,非宁静无以致远."要想达到高的境界,必须能够心静.
年轻的程序员都很浮躁,这一点对于他们来说尤为的重要.

    3谦不仅指技术,而且还指人.一门实用的技术,无论多么容易掌握.只要你
深入的研究,都会挖掘出很多新东西来.对于人来讲,你可能会就某些方面向
其他人请教.如果你不谦虚,请教的结果肯定会不很理想.

    4"凡事预则利,不预则废."在编程的过程中,如果你没有做好事前的分析工
作.
    8做技术一定要一颗恒心,这样才不会半途而废.    你会发现自己慢慢就会陷入思维混乱中,最终导致失败.当你把一切都筹划
好,那种"运筹帷幄决胜于千里之外"的感觉多爽啊!

    5程序中蕴含着很多的道理,唯有大彻大悟者方能体会其中的奥妙.

    6内存无论在怎么发展,它都会有一个容量的限制.因此你应该堤防着它.
你的程序如果导致内存泄漏,是程序员很可耻的事情.

    7对于问题的理解,一定要透彻.这样你才能实质的解决问题.
    8做技术一定要一颗恒心,这样才不会半途而废.  
 
26/04/2007

CVSNT用户管理【转贴】

所有这些操作基于的环境和软件版本:WINDOWS2000 Pro、CVSNT2.0.4、WinCVS1.3.9.1Beta9 在前面的介绍CVSNT配合WinCVS进行用户管理的文章中,已经对CVSNT的用户管理,权限分配进行了比较详细的叙述,但是还有一些概念没有交待清楚,在这里,我会根据项目的实际需要,以及自己的一些经验给出一套用户管理、权限管理方案,在看这篇文章之前你最好已经阅读了前面的一篇文章,对用户的增加删除,权限的修改,等等这些操作能够了解,否则,会有一点困难。
  1、 CVSNT的用户验证方式
  我们这里所讨论的是工作在pserver方式下。
  在CVSNT的文档中给出了两种验证方式,我总结了一下,可以这样称呼:Window和CVSNT混合验证方式,CVSNT独立验证方式。在前面的文章中,我们没有详细的给出这两种方式的内容,所讲述的启示就是混合验证方式。
  决定CVSNT工作于何种验证方式是由CVS的管理文件来决定的,这些管理文件处在库的目录下的CVSROOT目录中,这里可以得出结论,对于不同的库,可以给不同的验证方式。所以,在每个库建立的时候要首先设定好这些前提。
  下面的操作如果没有特殊指出则都是在客户端来进行管理的,下面首先是对一些控制原理和相关的文件做一些说明,如果你正在进行相关的模拟操作,请停下来暂时停止你的操作,因为这些操作的步骤是有先后的,如果你顺序不对,那么你可能就权限失效,进行不了下面的操作了。
  1.1 config文件
  在库建立好了以后,你还没有对控制文件进行修改之前,CVSNT是工作在混合验证方式之下的,这个时候,CVS服务器的管理员就是CVSNT的管理员,你以一个管理员身份登陆,检出你要操作的库的CVSROOT模块,看一下文件列表,控制CVSNT的验证工作方式的是config文件,你可以在文件列表中找到它,双击看看其中的内容,这里对我们最重要的就是第一个设置内容,你会看到下面的内容:
  # Set this to `no' if pserver shouldn't check system users/passwords
  #SystemAuth=yes
  第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no
yes:pserver将使用系统用户数据库和passwd文件(这个文件后面会详细讲述)来共同验证(若passwd文件不存在或者文件中没有相应的资料,则用系统用户来进行验证)默认为yes
  no:所有的用户必须在passwd中存在,根据passwd的内容来进行用户的验证。
  我这里所阐述的方案就是工作在no的下面的,修改完之后提交到服务器,提交完毕服务器就处在CVSNT的独立验证模式下了。在这个工作方式下,NT本地的用户和CVSNT用户没有任何本质的联系和影响(仅仅是要建立一个别名)。
  1.2 passwd文件
  在讲述上面的时候提到了这个文件,在服务器工作在CVSNT验证模式下的时候,这个文件就可以称之为CVSNT的用户数据库,这个里面存储着用户列表,用户的密码,以及别名的一些信息。默认状态下这个文件是不存在的,所以,如果我们要在CVSNT验证模式下工作,必须建立这个文件。注意:这个文件是不能够在客户端进行修改的。这个文件的内容是相当简单的,就像下面:
  bach:ULtgRLXo7NRxs
  spwang:1sOp854gDF3DY
  melissa:tGX1fS8sun6rY:pubcvs
  qproj:XR4EZcEs0szik:pubcvs
  这里分别拿第一个用户bach和第三个用户melissa来进行说明,每一行代表一个用户,总共有三部分信息,用户名、密码、本地用户三部分之间使用冒号“:”来进行分割。
  用户名:就是登陆CVS的用户名
  密 码:用户的密码,这里是经过加密的,如果为空,那么就是空密码
  本地用户:CVS用户这个别名对应的本地用户,(跟本地用户没有任何其他关系,仅仅是别名的关系)
  如果在本地系统中存在一个用户名bash,那么要在CVS建立一个bach这样的用户就不需要在后面指出对应的系统用户,melissa后面的pubcvs就是系统用户,在本地系统上面存在的用户。对于要用命令增加这两种用户的格式如下:
  cvs passwd –a bach
  cvs passwd –r pubcvs –a melissa
  在库建立的时候可以在服务器上建立一个简单的passwd初始化文件,加一行
  cvsadmin:
  这样,就给出了一个cvsadmin这个空密码用户(本地系统中有这样的用户,就可以不加到后面去),然后在客户端来进行修改和以后的用户增加工作。注意:在客户端进行其他之前请先首先修改这个密码,以防止别人进行破坏。
  在服务器端建立了这个文件以后,就不用再手动进行修改了,当你在客户端进行密码或者用户的增加删除的时候,系统会自动进行这个文件的更新。这个文件是管理着CVSNT系统中的所有的用户,所以,要特别重视,不了解这个文件格式的,不要去随便修改,更加不要尝试在客户端进行修改!
  1.3 admin文件
  这个文件是指定CVSNT的管理员列表的文件,CVSNT会根据这个文件中的内容来判断一个用户是否是管理员。这个文件的内容很简单,是一个用户列表。类似下面
  user1
  user2
  user3
  这些代表user1,user2,user3都是管理员,当然,这些用户必须要存在才能够正确登陆系统来执行管理。
  这个文件默认状态下是没有的,但是,可以在客户端进行添加,在你的客户端进行新建这个文件然后add上去再commit一下,这个文件就可以上传到服务器,但是这个时候还没有生效,请修改checkoutlist这个文件,加入admin这一行,checkoutlist也可以在客户端进行修改再提交,这个时候admin就可以被系统自动的build了。
  Checkoutlist是维护的一个文件列表,可以放入系统自动build的用户自定义的系统文件列表,注意:对passwd没有用!!
  1.4 group文件
  这个文件是定义系统的组,我们可以将同样性质的用户归入一个组,然后用给用户赋权限的方式给组赋权限,这样,一个组的用户就会具有同样的权限。Group的内容如下:
  group1:user1 user2 user3
  group2:me you he
  group3:tom honey
  有上面可以看出来,这个文件的内容也是相当的简单,首先是组的名称然后是冒号,接着是用户名,多个用户名之间用空格来进行分割。
  Group文件可以在客户端进行新建和修改,不用修改checkoutlist这个文件,系统会自动build这个文件并且使之生效。
  作为组里面的特定成员还可以赋给特定的权限,权限分为两类c,w,r和n,否定权限是有高的优先级的。
  好,上面已经介绍了本方案所涉及到的几个重要的文件以及修改方式。这里再强调一下,passwd只能够再服务器端进行建立和修改,不能够在客户端进行操作!
现在根据上面介绍的内容,可以开始你的操作了,下面给出修改顺序,库刚刚建立起来的时候,使用一个服务器上的本地管理员用户进行登陆检出CVSROOT模块。
  1、 现在服务器端加上passwd文件,给一个初始的用户,比如cvsadmin:
  2、 在客户端增加admin,将cvsadmin加入admin文件,作为出是管理员,并提交加入到库中。
  3、 在修改checkoutlist文件,加入admin,使其能够自动build。
  4、 最后修改config文件的SystemAuth=no,在提交之前要确认一下你上面的修改是否正确,如果提交了这个文件,CVSNT验证模式就开始生效了!
  5、 好,现在请修改你的参数再重新进行的登陆吧。因为你的系统已经切换了工作模式,你当前的用户已经失效了。
  完成了上面的步骤,整个服务器就会有效的工作在CVSNT验证模式下了。而group文件在你需要的任何时候可以加入。
  在上面的文章关于CVSNT的用户的管理方案的,在这里做一点补充,在后面的操作中全部是针对在客户端使用WinCVS来进行的(出了增加passwd)文件,其实,在我的实践当中config,passwd,admin,checkoutlist,这些文件的起始修改(初始化)都可以在新建了库以后一起完成,然后再让相应的库的管理员来进行相关的操作。
  在我上面的文章中也提到这篇文章是基于另外一篇文章的,在网上可以搜索到关于CVSNT和WINCVS的操作的,在CSDN上也有。不过,自己觉得那份东西有点乱,所以后来自己进行了一点点修改。总想在这里贴出来,不过,图太多了,:(
  欢迎进入我的Blog http://scottding.blogger.cn
08/03/2007

量子物理百年回顾【转贴】

量子物理百年回顾


全面列举一下20世纪最有影响的科学进展,应当包含广义相对论、量子力学、宇宙大爆炸、遗传密码的破译、生物进化理论……。在这些进展当中,量子力学深层次的根本属性使得它处在一个最为独特的位置。它迫使物理学家们改造他们关于实在的观念;迫使他们重新审视事物最深层次的本性;迫使他们修正位置和速度的概念以及原因和结果的定义。
尽管量子力学是为描述远离我们的日常生活经验的抽象原子世界而创立的,但它对我们日常生活的影响无比巨大。没有量子力学作为工具,就不可能有化学、生物、医学以及其他每一个关键学科的引人入胜的进展。没有量子力学就没有全球经济可言,因为作为量子力学的产物的电子学革命将我们带入了计算机时代。同时,光子学的革命也将我们带入信息时代。量子物理的杰作改变了我们的世界,科学革命为这个世界带来了的福音,也带来了潜在的威胁。
量子力学既不象广义相对论那样来自于对引力与几何关系的光辉洞察力,也不象DNA的破译那样揭开了生物学一个新的世界的神秘面纱,它的起源不是一步到位的,是历史上少有的天才荟萃在一起共同创造了它。量子的概念如此的令人困惑以至于在引入它以后的20年中几乎没有什么根本性的进展,后来一小撮物理学家花了三年时间创立了量子力学。这些科学家为自己所做的事情所困扰,甚至有时对自己的所作所为感到失望。或许用下面的一段观察资料能最好地描述这个至关重要但又难以捉摸的理论的独特地位:量子理论是科学史上能最精确地被实验检验的理论,是科学史上最成功的理论。量子力学深深地困扰了它的创立者,然而,直到它本质上被表述成通用形式75年后的今天,一些科学界的精英们尽管承认它强大的威力,却仍然对它的基础和基本阐释不满意。
2000年是 Max Planck提出量子概念100周年。在他关于热辐射的经典论文中,Planck假定振动系统的总能量不能连续改变,而是以不连续的能量子形式从一个值跳到另一个值。能量子的概念太激进了,Planck后来将它搁置下来。随后,Einstein在1905年(这一年对他来说是非凡的一年)认识到光量子化的潜在意义。不过量子的观念太离奇了,后来几乎没有根本性的进展。
现代量子理论的创立则是斩新的一代物理学家花了20多年时间的结晶。您只要看一下量子理论诞生以前的物理学就能体会到量子物理的革命性影响。1890年到1900年间的物理期刊论文基本上是关于原子光谱和物质其他一些基本的可以测量的属性的文章,如粘性、弹性、电导率、热导率、膨胀系数、折射系数以及热弹性系数等。由于维多利亚型的工作机制和精巧的实验方法的发展的刺激,知识以巨大的速度累积。然而,在同时代人看来最显著的事情是对于物质属性的简明描述基本上是经验性的。成千上万页的光谱数据罗列了大量元素波长的精确值,但是谁都不知光谱线为何会出现,更不知道它们所传递的信息。对热导率和电导率的模型解释仅符合大约半数的事实。虽有不计其数的经验定律,但都很难令人满意。比如说, Dulong-Petit定律建立了比热和物质的原子重量的简单关系,但是它有时好使,有时不好使。在多数情况下同体积气体的质量比满足简单的整数关系。元素周期表尽管为化学的繁荣提供了关键的组织规则,但也无任何理论基础。在众多的伟大的革命性进展中,量子力学提供了一种定量的物质理论。现在,我们原则上可以理解原子结构的每一个细节;周期表也能简单自然地加以解释;巨额的光谱排列也纳入了一个优雅的理论框架。量子力学为定量的理解分子,流体和固体,导体和半导体提供了便利。它能解释诸如超流体和超导体等怪异现象,能解释诸如中子星和Bose-Einstein凝聚(在这种现象里气体中所有原子的行为象一个单一的超大原子)等奇异的物质聚集形式。量子力学为所有的科学分支和每一项高技术提供了关键的工具。
量子物理实际上包含两个方面。一个是原子层次的物质理论:量子力学;正是它我们才能理解和操纵物质世界。另一个是量子场论,它在科学中起到一个完全不同的作用,稍后我们再回到它上面来。
  
旧量子论
量子革命的导火线不是对物质的研究,而是辐射问题。具体的挑战是理解黑体(即某种热的物体)辐射的光谱。烤过火的人都很熟悉这样一种现象:热的物体发光,越热发出的光越明亮。光谱的范围很广,当温度升高时,光谱的峰值从红线向黄线移动,然后又向蓝线移动(这些不是我们能直接看见的)。
结合热力学和电磁学的概念似乎可以对光谱的形状做出解释,不过所有的尝试均以失败告终。然而,Planck假定振动电子辐射的光的能量是量子化的,从而得到一个表达式,与实验符合得相当完美。但是他也充分认识到,理论本身是很荒唐的,就像他后来所说的那样:“量子化只不过是一个走投无路的做法”。 Planck将他的量子假设应用到辐射体表面振子的能量上,如果没有新秀Albert Einstein,量子物理恐怕要至此结束。 1905年,他毫不犹豫的断定:如果振子的能量是量子化的,那么产生光的电磁场的能量也应该是量子化的。尽管Maxwell理论以及一个多世纪的权威性实验都表明光具有波动性, Einstein的理论还是蕴含了光的粒子性行为。随后十多年的光电效应实验显示仅当光的能量到达一些离散的量值时才能被吸收,这些能量就像是被一个个粒子携带着一样。光的波粒二象性取决于你观察问题的着眼点,这是始终贯穿于量子物理且令人头痛的实例之一,它成为接下来20年中理论上的难题。
辐射难题促成了通往量子理论的第一步,物质悖论则促成了第二步。众所周知,原子包含正负两种电荷的粒子,异号电荷相互吸引。根据电磁理论,正负电荷彼此将螺旋式的靠近,辐射出光谱范围宽广的光,直到原子坍塌为止。接着,又是一个新秀Niels Bohr迈出了决定性的一步。1913年,Bohr提出了一个激进的假设:原子中的电子只能处于包含基态在内的定态上,电子在两个定态之间跃迁而改变它的能量,同时辐射出一定波长的光,光的波长取决于定态之间的能量差。结合已知的定律和这一离奇的假设,Bohr扫清了原子稳定性的问题。 Bohr的理论充满了矛盾,但是为氢原子光谱提供了定量的描述。他认识到他的模型的成功之处和缺陷。凭借惊人的预见力,他聚集了一批物理学家创立了新的物理学。一代年轻的物理学家花了12年时间终于实现了他的梦想。开始时,发展Bohr量子论(习惯上称为旧量子论)的尝试遭受了一次又一次的失败。接着一系列的进展完全改变了思想的进程。

量子力学史
1923年Louis de Broglie在他的博士论文中提出光的粒子行为与粒子的波动行为应该是对应存在的。他将粒子的波长和动量联系起来:动量越大,波长越短。这是一个引人入胜的想法,但没有人知道粒子的波动性意味着什么,也不知道它与原子结构有何联系。然而de Broglie的假设是一个重要的前奏,很多事情就要发生了。
1924年夏天,出现了又一个前奏。Satyendra N. Bose提出了一种全新的方法来解释Planck辐射定律。他把光看作一种无(静)质量的粒子(现称为光子)组成的气体,这种气体不遵循经典的 Boltzmann统计规律,而遵循一种建立在粒子不可区分的性质(即全同性)上的一种新的统计理论。Einstein立即将Bose的推理应用于实际的有质量的气体从而得到一种描述气体中粒子数关于能量的分布规律,即著名的Bose-Einstein分布。然而,在通常情况下新老理论将预测到原子气体相同的行为。Einstein在这方面再无兴趣,因此这些结果也被搁置了10多年。然而,它的关键思想——粒子的全同性,是极其重要的。
突然,一系列事件纷至沓来,最后导致一场科学革命。从1925年元月到1928年元月:
  • Wolfgang Pauli 提出了不相容原理,为周期表奠定了理论基础。
  • Werner Heisenberg、Max Born 和Pascual Jordan提出了量子力学的第一个版本,矩阵力学。人们终于放弃了通过系统的方法整理可观察的光谱线来理解原子中电子的运动这一历史目标。
  • Erwin Schrödinger提出了量子力学的第二种形式,波动力学。在波动力学中,体系的状态用Schrödinger方程的解——波函数来描述。矩阵力学和波动力学貌似矛盾,实质上是等价的。
  • 电子被证明遵循一种新的统计规律,Fermi-Dirac统计。人们进一步认识到所有的粒子要么遵循Fermi-Dirac统计,要么遵循Bose-Einstein统计,这两类粒子的基本属性很不相同。
  • Heisenberg阐明测不准原理。
  • Paul A. M. Dirac提出了相对论性的波动方程用来描述电子,解释了电子的自旋并且预测了反物质。
  • Dirac提出电磁场的量子描述,建立了量子场论的基础。
  • Bohr提出互补原理(一个哲学原理),试图解释量子理论中一些明显的矛盾,特别是波粒二象性。
量子理论的主要创立者都是年轻人。1925年,Pauli 25岁,Heisenberg和Enrico Fermi 24岁,Dirac和Jordan 23岁。Schrödinger是一个大器晚成者,36岁。Born和Bohr年龄稍大一些,值得一提的是他们的贡献大多是阐释性的。Einstein的反应反衬出量子力学这一智力成果深刻而激进的属性:他拒绝自己发明的导致量子理论的许多关键的观念,他关于Bose-Einstein 统计的论文是他对理论物理的最后一项贡献,也是对物理学的最后一项重要贡献。
创立量子力学需要新一代物理学家并不令人惊讶,Lord Kelvin在祝贺Bohr 1913年关于氢原子的论文的一封书信中表述了其中的原因。他说,Bohr的论文中有很多真理是他所不能理解的。Kelvin认为基本的新物理学必将出自无拘无束的头脑。
1928年,革命结束,量子力学的基础本质上已经建立好了。后来,Abraham Pais以轶事的方式记录了这场以狂热的节奏发生的革命。其中有一段是这样的,1925年,Samuel Goudsmit和George Uhlenbeck就提出了电子自旋的概念,Bohr对此深表怀疑。10月Bohr乘火车前往荷兰的莱顿参加Hendrik A. Lorentz的50岁生日庆典,Pauli在德国的汉堡碰到Bohr并探询Bohr对电子自旋可能性的看法;Bohr用他那著名的低调评价的语言回答说,自旋这一提议是 “非常,非常有趣的”。后来,Einstein和Paul Ehrenfest在莱顿碰到了Bohr并讨论了自旋。Bohr说明了自己的反对意见,但是Einstein展示了自旋的一种方式并使Bohr成为自旋的支持者。在Bohr的返程中,遇到了更多的讨论者。当火车经过德国的哥廷根时,Heisenberg和Jordan接站并询问他的意见,Pauli也特意从汉堡格赶到柏林接站。Bohr告诉他们自旋的发现是一重大进步。
量子力学的创建触发了科学的淘金热。早期的成果有:1927年 Heisenberg得到了氦原子Schrödinger方程的近似解,建立了原子结构理论的基础;John Slater,Douglas Rayner Hartree, 和Vladimir Fock随后又提出了原子结构的一般计算技巧;Fritz London和Walter Heitler解决了氢分子的结构,在此基础上,Linus Pauling建立了理论化学;Arnold Sommerfeld和Pauli建立了金属电子理论的基础,Felix Bloch创立了能带结构理论;Heisenberg解释了铁磁性的起因。1928年George Gamow解释了α放射性衰变的随机本性之谜,他表明α衰变是由量子力学的隧道效应引起的。随后几年中,Hans Bethe建立了核物理的基础并解释了恒星的能量来源。随着这些进展,原子物理、分子物理、固体物理和核物理进入了现代物理的时代。

量子力学要点
伴随着这些进展,围绕量子力学的阐释和正确性发生了许多争论。Bohr和Heisenberg是倡导者的重要成员,他们信奉新理论,Einstein和 Schrödinger则对新理论不满意。要理解这些混乱的原因,必须掌握量子理论的关键特征,总结如下。(为了简明,我们只描述Schrödinger 的波动力学。)
基本描述:波函数。系统的行为用Schrödinger方程描述,方程的解称为波函数。系统的完整信息用它的波函数表述,通过波函数可以计算任意可观察量的可能值。在空间给定体积内找到一个电子的概率正比于波函数幅值的平方,因此,粒子的位置分布在波函数所在的体积内。粒子的动量依赖于波函数的斜率,波函数越陡,动量越大。斜率是变化的,因此动量也是分布的。这样,有必要放弃位移和速度能确定到任意精度的经典图象,而采纳一种模糊的概率图象,这也是量子力学的核心。
对于同样一些系统进行同样精心的测量不一定产生同一结果,相反,结果分散在波函数描述的范围内,因此,电子特定的位置和动量没有意义。这可由测不准原理表述如下:要使粒子位置测得精确,波函数必须是尖峰型的,然而,尖峰必有很陡的斜率,因此动量就分布在很大的范围内;相反,若动量有很小的分布,波函数的斜率必很小,因而波函数分布于大范围内,这样粒子的位置就更加不确定了。波的干涉。波相加还是相减取决于它们的相位,振幅同相时相加,反相时相减。当波沿着几条路径从波源到达接收器,比如光的双缝干涉,一般会产生干涉图样。粒子遵循波动方程,必有类似的行为,如电子衍射。至此,类推似乎是合理的,除非要考察波的本性。波通常认为是媒质中的一种扰动,然而量子力学中没有媒质,从某中意义上说根本就没有波,波函数本质上只是我们对系统信息的一种陈述。对称性和全同性。氦原子由两个电子围绕一个核运动而构成。氦原子的波函数描述了每一个电子的位置,然而没有办法区分哪个电子究竟是哪个电子,因此,电子交换后看不出体系有何变化,也就是说在给定位置找到电子的概率不变。由于概率依赖于波函数的幅值的平方,因而粒子交换后体系的波函数与原始波函数的关系只可能是下面的一种:要么与原波函数相同,要么改变符号,即乘以-1。到底取谁呢?
量子力学令人惊诧的一个发现是电子的波函数对于电子交换变号。其结果是戏剧性的,两个电子处于相同的量子态,其波函数相反,因此总波函数为零,也就是说两个电子处于同一状态的概率为0,此即Pauli不相容原理。所有半整数自旋的粒子(包括电子)都遵循这一原理,并称为费米子。自旋为整数的粒子(包括光子)的波函数对于交换不变号,称为玻色子。电子是费米子,因而在原子中分层排列;光由玻色子组成,所以激光光线呈现超强度的光束(本质上是一个量子态)。最近,气体原子被冷却到量子状态而形成Bose-Einstein凝聚,这时体系可发射超强物质束,形成原子激光。
这一观念仅对全同粒子适用,因为不同粒子交换后波函数显然不同。因此仅当粒子体系是全同粒子时才显示出玻色子或费米子的行为。同样的粒子是绝对相同的,这是量子力学最神秘的侧面之一,量子场论的成就将对此做出解释。

争议与混乱
量子力学意味着什么?波函数到底是什么?测量是什么意思?这些问题在早期都激烈争论过。直到1930年,Bohr和他的同事或多或少地提出了量子力学的标准阐释,即哥本哈根阐释;其关键要点是通过Bohr的互补原理对物质和事件进行概率描述,调和物质波粒二象性的矛盾。Einstein不接受量子理论,他一直就量子力学的基本原理同Bohr争论,直至1955年去世。
关于量子力学争论的焦点是:究竟是波函数包含了体系的所有信息,还是有隐含的因素(隐变量)决定了特定测量的结果。60年代中期John S. Bell证明,如果存在隐变量,那么实验观察到的概率应该在一个特定的界限之下,此即Bell不等式。多数小组的实验结果与Bell不等式相悖,他们的数据断然否定了隐变量存在的可能性。这样,大多数科学家对量子力学的正确性不再怀疑了。
然而,由于量子理论神奇的魔力,它的本质仍然吸引着人们的注意力。量子体系的古怪性质起因于所谓的纠缠态,简单说来,量子体系(如原子)不仅能处于一系列的定态,也可以处于它们的叠加态。测量处于叠加态原子的某种性质(如能量),一般说来,有时得到这一个值,有时得到另一个值。至此还没有出现任何古怪。
但是可以构造处于纠缠态的双原子体系,使得两个原子共有相同的性质。当这两个原子分开后,一个原子的信息被另一个共享(或者说是纠缠)。这一行为只有量子力学的语言才能解释。这个效应太不可思议以至于只有少数活跃的理论和实验机构在集中精力研究它,论题并不限于原理的研究,而是纠缠态的用途;纠缠态已经应用于量子信息系统,也成为量子计算机的基础。

二次革命
在20年代中期创立量子力学的狂热年代里,也在进行着另一场革命,量子物理的另一个分支——量子场论的基础正在建立。不像量子力学的创立那样如暴风疾雨般一挥而就,量子场论的创立经历了一段曲折的历史,一直延续到今天。尽管量子场论是困难的,但它的预测精度是所有物理学科中最为精确的,同时,它也为一些重要的理论领域的探索提供了范例。
激发提出量子场论的问题是电子从激发态跃迁到基态时原子怎样辐射光。1916年,Einstein研究了这一过程,并称其为自发辐射,但他无法计算自发辐射系数。解决这个问题需要发展电磁场(即光)的相对论量子理论。量子力学是解释物质的理论,而量子场论正如其名,是研究场的理论,不仅是电磁场,还有后来发现的其它场。
1925年, Born,Heisenberg和Jordan发表了光的量子场论的初步想法,但关键的一步是年轻且本不知名的物理学家Dirac于1926年独自提出的场论。Dirac的理论有很多缺陷:难以克服的计算复杂性,预测出无限大量,并且显然和对应原理矛盾。
40年代晚期,量子场论出现了新的进展,Richard Feynman,Julian Schwinger和Sinitiro Tomonaga提出了量子电动力学(缩写为QED)。他们通过重整化的办法回避无穷大量,其本质是通过减掉一个无穷大量来得到有限的结果。由于方程复杂,无法找到精确解,所以通常用级数来得到近似解,不过级数项越来越难算。虽然级数项依次减小,但是总结果在某项后开始增大,以至于近似过程失败。尽管存在这一危险,QED仍被列入物理学史上最成功的理论之一,用它预测电子和磁场的作用强度与实验可靠值仅差2/1,000,000,000,000。
尽管QED取得了超凡的成功,它仍然充满谜团。对于虚空空间(真空),理论似乎提供了荒谬的看法,它表明真空不空,它到处充斥着小的电磁涨落。这些小的涨落是解释自发辐射的关键,并且,它们使原子能量和诸如电子等粒子的性质产生可测量的变化。虽然QED是古怪的,但其有效性是为许多已有的最精确的实验所证实的。对于我们周围的低能世界,量子力学已足够精确,但对于高能世界,相对论效应作用显著,需要更全面的处理办法,量子场论的创立调和了量子力学和狭义相对论的矛盾。量子场论的杰出作用体现在它解释了与物质本质相关的一些最深刻的问题。它解释了为什么存在玻色子和费米子这两类基本粒子,它们的性质与内稟自旋有何关系;它能描述粒子(包括光子,电子,正电子即反电子)是怎样产生和湮灭的;它解释了量子力学中神秘的全同性,全同粒子是绝对相同的是因为它们来自于相同的基本场;它不仅解释了电子,还解释了μ子,τ子及其反粒子等轻子。QED是一个关于轻子的理论,它不能描述被称为强子的复杂粒子,它们包括质子、中子和大量的介子。对于强子,提出了一个比QED更一般的理论,称为量子色动力学(QCD)。
QED和QCD之间存在很多类似:电子是原子的组成要素,夸克是强子的组成要素;在QED中,光子是传递带电粒子之间作用的媒介,在QCD中,胶子是传递夸克之间作用的媒介。尽管QED和QCD之间存在很多对应点,它们仍有重大的区别。与轻子和光子不同,夸克和胶子永远被幽禁在强子内部,它们不能被解放出来孤立存在。
QED和QCD构成了大统一的标准模型的基石。标准模型成功地解释了现今所有的粒子实验,然而许多物理学家认为它是不完备的,因为粒子的质量,电荷以及其它属性的数据还要来自实验;一个理想的理论应该能给出这一切。
今天,寻求对物质终极本性的理解成为重大科研的焦点,使人不自觉地想起创造量子力学那段狂热的奇迹般的日子,其成果的影响将更加深远。现在必须努力寻求引力的量子描述,半个世纪的努力表明,QED的杰作——电磁场的量子化程序对于引力场失效。问题是严重的,因为如果广义相对论和量子力学都成立的话,它们对于同一事件必须提供本质上相容的描述。在我们周围世界中不会有任何矛盾,因为引力相对于电力来说是如此之弱以至于其量子效应可以忽略,经典描述足够完美;但对于黑洞这样引力非常强的体系,我们没有可靠的办法预测其量子行为。
一个世纪以前,我们所理解的物理世界是经验性的;20世纪,量子力学给我们提供了一个物质和场的理论,它改变了我们的世界;展望21世纪,量子力学将继续为所有的科学提供基本的观念和重要的工具。我们作这样自信的预测是因为量子力学为我们周围的世界提供了精确的完整的理论;然而,今日物理学与1900年的物理学有很大的共同点:它仍旧保留了基本的经验性,我们不能彻底预测组成物质的基本要素的属性,仍然需要测量它们。
或许,超弦理论是唯一被认为可以解释这一谜团的理论,它是量子场论的推广,通过有长度的物体取代诸如电子的点状物体来消除所有的无穷大量。无论结果何如,从科学的黎明时期就开始的对自然的终极理解之梦将继续成为新知识的推动力。从现在开始的一个世纪,不断地追寻这个梦,其结果将使我们所有的想象成为现实。


26/01/2007

TCP连接非正常断开的检测(KeepAlive探测)


此处的”非正常断开”指TCP连接不是以优雅的方式断开,如网线故障等物理链路的原因,还有突然主机断电等原因
有两种方法可以检测:1.TCP连接双方定时发握手消息 2.利用TCP协议栈中的KeepAlive探测
第二种方法简单可靠,只需对TCP连接两个Socket设定KeepAlive探测,所以本文只讲第二种方法在Linux,Window2000下的实现(在其它的平台上没有作进一步的测试)
Windows 2000平台下
//定义结构及宏
struct TCP_KEEPALIVE {
u_longonoff;
u_longkeepalivetime;
u_longkeepaliveinterval;
} ;
#define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4)
//KeepAlive实现
TCP_KEEPALIVE inKeepAlive = {0}; //输入参数
unsigned long ulInLen = sizeof(TCP_KEEPALIVE);
TCP_KEEPALIVE outKeepAlive = {0}; //输出参数
unsigned long ulOutLen = sizeof(TCP_KEEPALIVE);
unsigned long ulBytesReturn = 0;
//设置socket的keep alive为5秒,并且发送次数为3次
inKeepAlive.onoff = 1;
inKeepAlive.keepaliveinterval = 5000; //两次KeepAlive探测间的时间间隔
inKeepAlive.keepalivetime = 5000; //开始首次KeepAlive探测前的TCP空闭时间
if (WSAIoctl((unsigned int)s, SIO_KEEPALIVE_VALS,
(LPVOID)&inKeepAlive, ulInLen,
(LPVOID)&outKeepAlive, ulOutLen,
&ulBytesReturn, NULL, NULL) == SOCKET_ERROR)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT ("(%P|%t) \WSAIoctl failed. error code(%d)!\n"),WSAGetLastError()));
}
Linux平台下
#include
……
////KeepAlive实现
//下面代码要求有ACE,如果没有包含ACE,则请把用到的ACE函数改成linux相应的接口
int keepAlive = 1;//设定KeepAlive
int keepIdle = 5;//开始首次KeepAlive探测前的TCP空闭时间
int keepInterval = 5;//两次KeepAlive探测间的时间间隔
int keepCount = 3;//判定断开前的KeepAlive探测次数
if(setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(void*)&keepAlive,sizeof(keepAlive)) == -1)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT ("(%P|%t) setsockopt SO_KEEPALIVE error!\n")));
}
if(setsockopt(s,SOL_TCP,TCP_KEEPIDLE,(void *)&keepIdle,sizeof(keepIdle)) == -1)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT ("(%P|%t) setsockopt TCP_KEEPIDLE error!\n")));
}
if(setsockopt(s,SOL_TCP,TCP_KEEPINTVL,(void *)&keepInterval,sizeof(keepInterval)) == -1)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT ("(%P|%t) setsockopt TCP_KEEPINTVL error!\n")));
}
if(setsockopt(s,SOL_TCP,TCP_KEEPCNT,(void *)&keepCount,sizeof(keepCount)) == -1)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT ("(%P|%t)setsockopt TCP_KEEPCNT error!\n")));
}
 
18/01/2007

CVSNT的非系统用户的添加

CVSNT一般只要建一个CVSPUB用户,再用cvs passwd命令添加用户,cvs chacl改用户权限
,不用对于每一个用户都建一个系统帐户的。可以直接在wincvs的console里操作比较方便
命令:
cvs -d C:\CVS_ROOT passwd -r CVSPUB -a Marshall
注:我的CVS_ROOT在C:\CVS_ROOT,映射到的系统用户为CVSPUB,添加的用户名为Marshall
 
16/01/2007

图象缩放算法


最邻近插值(近邻取样法):
  最临近插值的的思想很简单。对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,也就是说,取浮点坐标最邻近的左上角点(对于DIB是右上角,因为它的扫描行是逆序存储的)对应的像素值。可见,最邻近插值简单且直观,但得到的图像质量不高。
 
双线性内插值:
  对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),其中i、j均为非负整数,u、v为[0,1)区间的浮点数,则这个像素得值 f(i+u,j+v) 可由原图像中坐标为 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:
    f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
其中f(i,j)表示源图像(i,j)处的的像素值,以此类推
  这就是双线性内插值法。双线性内插值法计算量大,但缩放后图像质量高,不会出现像素值不连续的的情况。由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊

 
  三次卷积法能够克服以上两种算法的不足,计算精度高,但计算量大,他考虑一个浮点坐标(i+u,j+v)周围的16个邻点,目的像素值f(i+u,j+v)可由如下插值公式得到:
    f(i+u,j+v) = [A] * [B] * [C]
[A]=[ S(u + 1)  S(u + 0)  S(u - 1)  S(u - 2) ]
  ┏ f(i-1, j-1)  f(i-1, j+0)  f(i-1, j+1)  f(i-1, j+2) ┓
[B]=┃ f(i+0, j-1)  f(i+0, j+0)  f(i+0, j+1)  f(i+0, j+2) ┃
  ┃ f(i+1, j-1)  f(i+1, j+0)  f(i+1, j+1)  f(i+1, j+2) ┃
  ┗ f(i+2, j-1)  f(i+2, j+0)  f(i+2, j+1)  f(i+2, j+2) ┛
  ┏ S(v + 1) ┓
[C]=┃ S(v + 0) ┃
  ┃ S(v - 1) ┃
  ┗ S(v - 2) ┛
   ┏ 1-2*Abs(x)^2+Abs(x)^3           , 0<=Abs(x)<1
S(x)=┃ 4-8*Abs(x)+5*Abs(x)^2-Abs(x)^3  , 1<=Abs(x)<2
   ┗ 0                               , Abs(x)>=2
S(x)是对 Sin(x*Pi)/x 的逼近(Pi是圆周率——π)
 
最邻近插值(近邻取样法)、双线性内插值、三次卷积法 等插值算法对于旋转变换、错切变换、一般线性变换 和 非线性变换 都适用。
 
--------------------------------------------------------------------------------

补充:
一、对于24位DIB,需要分别对RGB分量进行处理;
二、对于f(x,y)中没有对应值的坐标,应该用最邻近坐标的值(比如f(-1,-1)用f(0,0)的值)。
 
28/11/2006

谁能看明白这个程序是做什么的?

/*
=========================================================
This Plays the game of reversi (Othello)!  Compile and run.  It then
asks for a playing level. Enter 0-10 (easy-hard).  It then asks for
your move. A move is a number within 11-88, or a 99 to pass.  Illegal
moves (except for an illegal pass) are rejected.  Then the computer
does its move (or a 0 to pass), until the board is full.  It plays
rather well, for such a small program!  Lievaart had to leave out the
board printing routine, so you'll have to take a real game board to
play it. ...  Also due to space-limitations (the rules for 1987 had a
limit of 1024 byes), Lievaart took out the passing-handler, which
makes its ending-game rather poor.  But further it knows all the
rules, uses alpha-beta pruning, and it plays f.i. on mobility(!).
Most important: it can play a pretty good game of Reversi!
The Author was kind enough to supply the fully functional version of the
program.  The file lievaart2.c contains what the program would have
been without the size restriction.  This version has the full end game
logic and displays the board after each move! [the code above is this
slightly larger but better version]
Copyright (c) 1987, Landon Curt Noll & Larry Bassel.
All Rights Reserved.  Permission for personal, educational or non-profit use is
granted provided this this copyright and notice are included in its entirety
and remains unaltered.  All other uses must receive prior permission in writing
from both Landon Curt Noll and Larry Bassel.
=========================================================
*/
//#define D define
#define Y return
#define R for
#define e while
#define I printf
#define l int
#define W if
#define C y=v+111;H(x,v)*y++= *x
#define H(a,b)R(a=b+11;a<b+89;a++)
#define s(a)t=scanf("%d",&a)
#define U Z I
#define Z I("123\
45678\n");H(x,V){putchar(".XO"[*x]);W((x-V)%10==8){x+=2;I("%d\n",(x-V)/10-1);}}
l V[1600],u,r[]={-1,-11,-10,-9,1,11,10,9},h[]={11,18,81,88},ih[]={22,27,72,77},
bz,lv=60,*x,*y,m,t;S(d,v,f,_,a,b)l*v;{l c=0,*n=v+100,j=d<u-1?a:-9000,w,z,i,g,q=
3-f;W(d>u){R(w=i=0;i<4;i++)w+=(m=v[h[i]])==f?300:m==q?-300:(t=v[ih[i]])==f?-50:
t==q?50:0;Y w;}H(z,0){W(E(v,z,f,100)){c++;w= -S(d+1,n,q,0,-b,-j);W(w>j){g=bz=z;
j=w;W(w>=b||w>=8003)Y w;}}}W(!c){g=0;W(_){H(x,v)c+= *x==f?1:*x==3-f?-1:0;Y c>0?
8000+c:c-8000;}C;j= -S(d+1,n,q,1,-b,-j);}bz=g;Y d>=u-1?j+(c<<3):j;}main(){R(;t<
1600;t+=100)R(m=0;m<100;m++)V[t+m]=m<11||m>88||(m+1)%10<2?3:0;I("Level:");V[44]
=V[55]=1;V[45]=V[54]=2;s(u);e(lv>0){Z do{I("You:");s(m);}e(!E(V,m,2,0)&&m!=99);
W(m!=99)lv--;W(lv<15&&u<10)u+=2;U("Wait\n");I("Value:%d\n",S(0,V,1,0,-9000,9000
));I("move: %d\n",(lv-=E(V,bz,1,0),bz));}}E(v,z,f,o)l*v;{l*j,q=3-f,g=0,i,w,*k=v
+z;W(*k==0)R(i=7;i>=0;i--){j=k+(w=r[i]);e(*j==q)j+=w;W(*j==f&&j-w!=k){W(!g){g=1
;C;}e(j!=k)*((j-=w)+o)=f;}}Y g;}
27/10/2006

量子力学对光的反射、折射、吸收和散射的解释

关于光与物质的相互作用,我一直断断续续地听说过很多理论。其中有些来自古典的电磁学,有些则来自量子力学的入门教科书。这些理论都分别解释了它们要解释的一些现象,然而古典的理论和量子的理论混合在一起实在是难以理清。前几天读到一本完全从量子力学角度解释光的反射、折射、吸收和散射的介绍性质的小书,觉得对这一小块算是有了比较系统的直观感受。
据说这里懂日语的大侠也不少,还是先把这本书的信息贴出来吧:
《光の物理 光はなぜ屈折、反射、散乱するのか》 2002年11月5日 初版 小林浩一 東京大学出版会
恩,关于光在不同介质中的传播速度不同,古典的电磁理论说光速的平方等于诱电率和诱磁率(啊不对,是电容率和和和磁导率?)的乘积的倒数,物质的电容率和磁导率各不相同所以光的传播速度不同。我以前有个帖子就是讲这个。
恩,但是这里要先从光和原子的相互作用讲起。
恩,关于光的粒子性和波动性还有玻尔的原子模型什么的好象被传播地比较普及,我就不多说了。总之原子有许多不同能量的(电子)状态,原子可以吸收一个光子迁移到一个能量比较高的状态或者放出一个光子缓和到一个能量比较低的状态。一个光子的能量是hf,h是普郎克常量,f是光波的频率。原子从一个状态到另一个状态的迁移中发生了能量的变化,把这个能量差所对应的光子(正好具有这个能量的光子)的频率叫做共振频率。
当光照射到原子的时候,处在较低能量状态的原子可以吸收一个共振频率的光子迁移到较高能量的状态,这个过程发生的概率正比于这种频率的光的强度(单位面积单位时间通过的光的能量)。
另一方面,处于较高能量状态的原子可以发射一个共振频率的光子迁移到较低的能量状态,这一过程包括两个部分。第一个部分是受激发射,这一过程发生的概率也正比于周围共振频率的光的强度;第二个部分是自然发射,这一过程发生的概率和周围共振频率的光强度无关。在受激发射的情况下,被发射出来的光与周围共振频率的光的频率、位相、电场方向、行进方向什么的都完全相同。激光器的原理就是先用放电什么的维持大量的原子在一个较高的能量状态,然后激光器的两头粘上反射镜让光在里面来回地传播增加受激发射的概率。但是一般情况下受激发射的概率是很小的。在自然发射的情况下,光子被向四面八方随机地发射出去,所以自然发射的光是向四面八方传播的。
到目前为止只讲了具有共振频率的光子,那么关于不是共振频率的光子呢?在单独考虑原子吸收一个光子迁移到一个能量比较高的状态或者放出一个光子缓和到一个能量比较低的状态的过程的时候,由于能量守恒定律,不是共振频率的光子是不会被发射或吸收的。但是!如果考虑一个原子吸收一个光子然后马上再放出一个光子的过程,如果这个中间间隔的时间非常短,那么根据测不准原理:时间的误差乘以能量的误差大于普郎克常量,现在中间间隔的时间短了,所以能量就测不准了,原子可以在一瞬间迁移到靠近(不用等于)那个能量比较高的状态的一个“临时状态”,然后再赶快迁移回来。当然最终能量还是要守恒的,所以这个过程是:原子吸收一个光子(不管是不是共振频率),飞快地迁移到一个“临时状态”,然后发射一个和吸收的那个频率相同的光子,返回原来的状态。还有另外一种可能:先发射一个光子,飞快地迁移到一个“临时状态”,然后吸收一个和发射的那个频率相同的光子,返回原来的状态。这些过程都是自然发射,所以光子是向四面八方发射出去的。这样的过程叫做“弹性散乱”,在古典电磁学中是把原子考虑成一对电偶极子,讨论其在电磁波的作用下做受迫振动来解释的。
弹性散乱发生的概率正比于4(f^2)(f’^2)/(f’^2-f^2)^2,其中f’是共振频率,f是弹性散乱的光的频率。附一个书上的图(图一),是假设共振波长(共振频率对应的波长)在200nm处时不同频率的光发生弹性散乱的概率。其中位于可视光附近的部分被纵向放大了300倍。
关于弹性散乱光的位相。当f<f’时弹性散乱光的位相与入射光的相同。f>f’时则位相相反。
关于弹性散乱光的电场振幅(光的强度正比于电场振幅的平方)。设入射光的电场振幅为E,弹性散乱光的电场振幅正比于Ef^2/|f’^2-f^2|,而它和发射角度的关系见附图二。
考虑光和物质的相互作用的时候,作为一种近似,可以孤立地计算每个原子与光的相互作用,然后考虑它们的总和,再加上没有进行相互作用的那部分光。在固体或者液体中,原子是相互靠紧结合在一起的,这时和孤立状态的原子不同,附属于原子的电子会和周围其他的原子相互作用并且有转移到别的原子核周围的概率。一个极端的例子是金属,金属中的自由电子的状态和在孤立的原子中时是很不相同的。在讨论金属与光的相互作用时要讨论的就是自由电子的状态而不是每个原子的电子状态了。但是对于很多非金属的固体或液体,比如玻璃,水,食盐晶体等,物质中的电子状态,仍然很接近于各个原子的电子状态的总和。在这些时候,这样的近似还是可以被接受的。
在常温下一般地来说大部分的原子都处于能量最低的状态,所以可以不考虑处于较高能量状态的原子发射一个光子迁移到较低的能量状态的情况。另一方面对于普通的透明的物质,与能量相差最小的状态迁移相对应的共振频率也要位于紫外光领域,在可视光区域的光子是没有足够的能量把原子激励到比较高的状态的。所以我们先不讨论光的吸收,那么只剩下了弹性散乱。
作为最后一个近似,我们只讨论由入射光引起的弹性散乱。本来,被散乱的光再射到原子上时还会被再次散乱,但是可以认为被弹性散乱的光很少(注意附图一的弹性散乱的概率),那么被散乱两次的光就更少了可以忽略不计。
所以总结一下就是:大部分的光毫无改变地从介质中穿过,少量的光被弹性散乱,我们需要计算的就是这些光加在一起的和。
(具体计算步骤省略,总的来说就是讨论从每个原子出来的光放在一起的干涉)
恩,直接从结果说:对于光垂直入射到一片面状结晶(2维平面上等间隔排列的原子)的计算结果,所有的弹性散乱光合在一起的总计,当面状结晶足够大的时候,是分别朝前和朝后(垂直于平面的方向)等量地发射,设入射光电场的振幅为E,则弹性散乱光的电场的振幅为N*c*B*E*f/(f’^2-f^2),其中N是原子密度(单位面积的原子数),B是某个(表示原子被激励的程度的)常数。而所有的弹性散乱光合在一起的位相,比每个原子发射的弹性散乱光的位相要迟pi/2,再由上面说的当f<f’时(原子发射的)弹性散乱光的位相与入射光的相同,f>f’时则位相相反(相差pi),所以所有的弹性散乱光合在一起的位相,当f<f’时比入射光迟pi/2,f>f’时则早pi/2(或者说迟3pi/2)。
这个迟的或早的pi/2,正是导致物质中光的波长(以及光速,折射率等等)与真空中不同的原因所在。不过在解释那些之前,我要先就位相的“迟”或者“早”来说明一下。这里的讨论都是建立在定常状态,也就是说入射光一直不变的照射在那里的情况下的。这时从远处某个原子发射来的、传播到这里时位相已经不知道迟了多少个2pi(就是说在它传播到这里的那段时间里这里的原子已经发出许多个波长的散乱光了)的散乱光也可以和这里的原子刚刚发射出来的散乱光相干涉。差不多相当于几秒钟(可能没有那么夸张)前的光在和现在的光在发生干涉,而这只在入射光一直不变的照射在那里的情况下才是容易处理的。这时我们可以不用考虑那不知道多少个的2pi,而认为这是差不多刚刚发出来的位相稍有不同的光,放在一起干涉的效果还是一样的。这样计算出来的所有的弹性散乱光合在一起的位相,比每个原子发射的弹性散乱光的位相要迟pi/2的结论。因此这里的迟或者早并没有时间上的意义,迟了3pi/2就是早了pi/2。下面会看到f>f’时那个早的pi/2会产生波长变长或者折射率小于1或者说光速大于c的现象,但这都只能在定常状态下成立。要想靠这光来传播信息,比如说把光打开表示1关起来表示0,或者让光的振幅变化来传送信号什么的,都必须考虑动态的变化过程。而从原理上来说光在介质中的“速度”与在真空中没什么两样,原子之间本来就是大块大块的真空,只不过因为原子的弹性散乱而发生了更多的干涉而已。因此从逻辑上来看信息的传递速度也不会大于c。(而且好象从理论上来说也可以不小于c?)
恩,上面说到面状结晶的散乱光的总合,一部分朝着与入射光相反的方向发射,这部分成为反射光,而等量的另一部分再和通过面状结晶没有与原子发生作用的那部分光合起来成为透射光。可以认为散乱光比较少量,这部分光和没有发生相互作用的光相干涉,由于散乱光的位相迟或早pi/2,因此透射光与入射光的位相相差一个微小的d= N*c*B*f/(f’^2-f^2)。(见附图三)
现在考虑面状结晶叠在一起形成的真实结晶。本来,在这个时候从前面反射回来的光与透射光的干涉也是要考虑的,但是在这里我们忽略不计。只讨论透过一层层面状结晶的透射光。恩,总的来说由于每透过一层面状结晶位相就要变化d,最终导致了介质中波长的不同。(见附图四)。附图四是按照d=10度,入射光波长是原子间隔的6倍来画的,实际上可视光的波长是原子间隔1000倍左右,而且d是非常非常小的,所以透射光的波形几乎是光滑的。这样计算出来的折射率n=1+c^2*N’*B/[2*pi*(f’^2-f^2)],其中N’是单位体积的原子数,B还是那个常数。折射率对于波长的变化见附图五。
可以看到在f接近于f’的时候折射率变为无穷大,但这是因为我们忽略了光的吸收的缘故。在f接近于f’的时候被激励的原子有更大的概率把能量转化为动能,而不是做为光发射出去。被转化为原子的动能的这部分能量将导致介质的温度升高,也就是说变成了热。这个过程被称为吸收。当吸收变强的时候相应的弹性散乱光就变弱了,这时参考附图三可知d也会变小。考虑了吸收的折射率见附图六。
目前为止的议论都只考虑了一个共振频率。事实上一般来说在高频率的区域共振频率会有很多很多(一般来说能量高的状态总是比较多)。所以当光的频率变大的时候将会更多的被吸收掉,也就是说介质变得不透明了。所以要想观测到由于折射率小于1造成的光射入真空时向与通常相反的方向弯曲的现象,也不是那么容易的。总的来说,折射率小于1是很容易的;但要求折射率小于1而又透明,则不是那么容易。
恩,最后说点个人感受。这么简单的折射法则被解说得这么复杂,唉,量子力学真是……#$%^而且照着这样的方式似乎越想问题越多,我好象记得有一种现象叫做“全反射”,之所以称为“全”当然是因为光全部被反射回去了,我记得书上说这样的全反射几乎保留了全部的能量……可是按照这上面的说法似乎大部分的光都是不与物质发生作用而直接通过的……那么全反射怎么可能几乎保留全部的能量?……可是可是光缆什么的那么长,光在里面全反射好象确实没有损失啊……汗……然而那本书全没有提全反射这茬儿。
恩,总之我要好好学习,天天向上。呵呵
量子力学是20世纪物理学的飞跃,它的特点是将一切问题复杂化,再将一切问题搞的不确定,从而得到更精确的解释。可不能让玻尔听到,否则他要和你辩论一番的,哈哈
 
01/09/2006

计算圆周率的有趣程序

#include <stdio.h>
#define _ F-->00||-F-OO--;
int F=00,OO=00;
F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}
main()
{
F_OO();
printf("%1.3f\n",4.*-F/OO/OO);
}
27/06/2006

“神出鬼没、超距感应”的讨论

几乎没有人会相信神出鬼没、超距感应的事情,这类玩意儿只见于幻想小说或电影,像《星舰奇航记》、《西游记》。惊人的是,1997年以来,在国际一流科学杂志上发表的不少论文中声称类似的事已经真的实现,研究热潮方兴未艾。此事发端于贝内特等6人的一篇论文,1993年他们根据纠缠量子的所谓非局域关联提出了量子隐形传态思想和理论,该理论被认为是量子信息理论的重要组成部分。国内有专家把量子信息技术与20世纪的半导体、激光和核能技术开拓相提并论,也有学者认为这是中国科学家有望问鼎诺贝尔奖的领域。量子隐形传态,也称量子离物传态或量子远程传态,有教授把它的实现看作是量子力学实验和理论方面的新进展写进量子力学教材。他们认为,这种非局域关联或称非局域作用能使量子态从一个地方无需媒介瞬间转移到另一个地方,以至遥远的天边。爱因斯坦在1947年3月给玻恩的信中称非局域作用为幽灵般的远距离作用,又在1949年写的“自传笔记”中把它比作传心术,不信自然界存在这样的作用。然而,在爱因斯坦去世后不过十年,有一位物理学家叫贝尔,利用补充经典变量论证了实在量子的纠缠意味着量子行为的非局域性,并推出了一个不等式,此后许多所谓检验此类不等式的实验几乎完全“证实了”非局域作用的存在。斯塔普称贝尔的工作是最有深远意义的科学发现。 贝内特等人的隐形传态理论是在这样的形势下顺理成章地问世和流传。 量子隐形传态被认为是量子信息理论和技术的范例,我们国内也特别受重视,也有令人赞叹的成就。据报道,中国科技大学潘建伟领导的研究组在量子纠缠态的制备和量子隐形传态的实现方面取得了突破性进展,国际领先,曾获得英国《自然》杂志,美国《物理评论》,欧洲物理学会,美国物理学会,奥地利科学院和中国科学院等的肯定或褒扬。无疑,量子隐形传态的可能性和实现问题,不仅关系到量子信息技术的开发,而且关系到两位物理泰斗爱因斯坦和玻尔争论的是非,关系到对量子力学的合理诠释,关系到相对论和量子论的融合,以及关系到哲学和文化等,其重要性自不待言。
关于量子隐形传态,可以杜撰一个形象的比喻,先把一个大面团对半分成两个,比作两个量子,把其中一个发给爱丽丝,把另一个发给鲍勃。现在有位柯莱儿要把一个馒头送给鲍勃,爱丽丝需要做的是,把这馒头放进量子传真机与她的面团进行某种联合操作,此时假如指示器上报告操作得到某个结果,则她打电话把这个结果告诉鲍勃,那时鲍勃在他的接收机上只要按一下相应的按钮令做一个简单的操作,就有一个由面团变成的馒头到手了。更有甚者,潘建伟说:“为什么我们不可以大胆一些,不可以想象:由各种各样分子组成的人,也可以在瞬间,带着他所有的记忆,带着他的品质,带着他的痛苦和欢乐,甚至包括感冒,传输到遥远的地方?”(《中国青年》2004-12-30)
有一些量子隐形传态实验是用激光做的,有一个发射台,发射辅助隐形传态用的成对纠缠光子,假设一对中的一个光子发向爱丽丝,另一个发向鲍勃。现在如果柯莱儿要发送一个携带无限大量比特信息的光子给鲍勃,她交给了爱丽丝办理。实际实验设备和操作是非常复杂的,简化地说,爱丽丝面前的设备由量子态乘法器和分析器两部分组成,分析器上有4个报告分析结果的指示灯,各以00,01,10,11编号,鲍勃方面有量子态感应器和校正器。发送时,爱丽丝把柯莱儿的光子与那辅助的光子输入乘法器得到处于积态的一对光子,再把这对光子输入分析器,并注视哪个指示灯亮起。因为量子态预示的测量结果是几率性的,所以各灯亮起的几率是1/4,至于哪个灯亮起则是随机的。假如爱丽丝发现01号灯亮起,则按贝内特等人的理论,量子隐形传态过程已经“成功”,即鲍勃手头的光子的态已经变成了与发送态相近或相同的态。如果爱丽丝打个电话把结果“01”告诉鲍勃,则他按照“01”指定的简单线性变换对感受到的态做一下校正,就获得同柯莱儿交发的一模一样的光子了,它携带着来自柯莱儿的无限大量比特信息。妙哉!这里传输无限大量比特信息只用了2比特信息。研究者深信这种通信技术的可行性是量子力学原理所“保证”的。说到这儿,也许有人不禁要问,真有这样奇妙的事儿吗?这里所谓的传态过程“成功”是否虚假?量子纠缠是怎么回事?
我们先探讨量子纠缠从何而来。这要从量子干涉现象谈起,在弱光的双缝干涉实验中,探测屏上出现的微小斑点清楚显示光子有一个点状的部分,即有一个反映能量集中的峰,而出现的干涉条纹好像暗示它还具有鲜为人知的峰外部分,因而自然推想条纹起因于被双缝割出的含峰片与不含峰片的自身联合。爱因斯坦在1909年写道:“我总是认为,目前最自然的观点是:光的电磁场的出现是同奇点相联系的,就像静电场的出现遵循电子理论一样。不能排斥,在这样一个理论中,电磁场的全部能量,可以看作是定域于这个奇点,完全像过去的超距作用那样。我设想,也许每一个这样的奇点都被一个力场围绕着,这种力场在本质上具有平面波的特性,而其振幅随同奇点的距离的增长而减小。”(爱因斯坦全集二卷505页) 虽然他曾自称50年思考还未接近光量子是什么的解答,但是上述观点近乎定性地说,一个量子实体包含一个波包峰和其峰外部分。事实上已能做到在相对论框架内用不会发散的线性波包来描述一个自由量子,其中与动量和能量相关的特征分量即是量子的波函数。对这种描述有人接受,有人不屑一顾。不管如何,笔者深信,如果量子没有峰外部分就不会有量子干涉,不会有量子纠缠,也不会有其它种种量子怪事。
我们再探讨量子是如何纠缠的。前面所述的那对辅助光子是用高功率激光在非线性晶体中产生的纠缠光子,通常说,其中光子A发到爱丽丝处,光子B发到鲍勃处,其实这种说法无异于视光子为经典实体。如果视光子为上面所述那样的量子实体,则可以设想,当光子B的含峰片包括其平面电磁波向鲍勃方向运动时,它的一个不含峰片包括其平面电磁波同时跟着光子A的含峰片走,如影随形、永不分离,且二者与生俱来叠加干涉。同样,A的一个不含峰片也跟着B的含峰片走。并且,如果爱丽丝对光子A的含峰片进行测量,它的伴随者也必然受到同样的测量,它们仿佛同呼吸共命运;甚至若B的含峰片连同其伴随者在鲍勃处被毁了,在爱丽丝处A的含峰片的伴随者也还总是“阴魂不散”,真所谓,远在天边,近在眼前。这可能就是量子理论中二光子纠缠数学表示式所反映的真实情景,那种叠加成分的永不分离性是量子纠缠的根本特征。上述与生俱来的叠加干涉决定着爱丽丝和鲍勃双方实验测量结果的非经典关联,这种关联无关于无端的非局域作用,因此,量子纠缠并不意味着存在幽灵般的远距离作用,也不意味着量子力学与相对论相抵触。特别需要指出的是,约翰?贝尔对量子峰外部分的存在毫无意识,所谓贝尔不等式是用“潜变量”把经典实体扮成量子实体推导出来的,因此这类不等式根本不可以作为鉴别量子纠缠是否具有局域性的试金石,称贝尔的工作是最有深远意义的科学发现是无稽之谈。
上面只谈到在非线性晶体中产生的二光子纠缠,而要用非线性晶体产生能用于实验的三光子纠缠还不太现实,据报道,这是因为现有材料的三阶非线性极化率很小以及受现有激光器的功率限制。既然三光子纠缠产生的情况如此,不用说产生更多的光子纠缠了。为避开这种限制,奥地利泽林格指导的团队以及他影响下的研究组大胆采用线性光学器件分束器来产生所谓三、四、五光子纠缠态。由于通过分束器形成的态的成分不具有永不分离性,所以他们所谓实现的三、四、五光子纠缠都不是真的量子纠缠。
我们知道,爱因斯坦因认为“量子理论含有幽灵般的远距离作用的意思”而“不能虔诚地相信”这个理论,反之,有很多人因欣赏贝尔不等式及其检验证明量子力学正确而确信量子纠缠体现非局域作用,现在我们看到,上面所描述的量子纠缠情景能够把他们各方坚持的合理方面,即量子力学是正确的和不存在非局域作用,融合起来,说明量子力学的本性是局域的,也就是说,它并不含有超距作用或超距感应的意思。我们也看到上述两种相反态度都带有对量子纠缠数学表示形式的误解,而贝内特等人的量子隐形传态思想正是这种误解的产物,因此可以断言,量子隐形传态绝无可能性。既不可能,何来实现?
笔者在浏览有关文献后觉得,那些量子隐形传态的实验演示和结论中不无疑点,隐形传态是否真的已经实现还是个问题,真相分晓尚待时日。以笔者拙见,不仅量子隐形传态,一切取决于超距感应的信息技术开发方案都不能指望成功,更不能指望通过这类实验来证明局域实在论思想失败。本来,激光技术及其它技术的成熟为量子纠缠的应用开发创造了条件,无疑这是有科学意义和应用前景的研究方向,遗憾的是,国外和国内许多研究组被量子隐形传态思想误导步入迷途,加上其他因素,他们的论著和宣传造成超距感应神话在科技和科普作品中泛滥。轻率做出实验结论以附和反局域实在论思想可是危险的,恐怕打着实验证明旗号的神话会严重危害科学技术的发展和思想文化的进步。(作者:北京大学物理学院王国文)
 
16/06/2006

程序员的十种级别[转]

  第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。
  
  第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。
  
  第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。
  
  第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。
  
  第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠加,此类人大多为系分人员或资深程序员,基本上桀骜不逊,自视清高,不愿于一般技术人员为伍,在论坛上基本以高手面目出现。
  
  第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工具去查找网上有漏洞的服务器,干点坏事以获取成绩感。如果心情好,在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。
  
  第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。
  
  第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研,一两年后就能升级到上一层。
  
  第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门,实在龌龊!
  
  第十级:驴或傻X,会写SELECT语句就说自己精通ORALCE,连寄存器有几种都不知道就说自己懂汇编,建议全部送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业!
  
  其中又以前两级和后两级最为难得,其余级别只要努力,皆有可能达到。
13/06/2006

一道美国高考题

题目:有两个圆,大圆半径是小圆半径的3倍。请问,小圆贴着(外贴)大圆的边,绕大圆滚完一圈,小圆转了几圈?
 
如果是内贴的话答案又是多少?
27/05/2006

转贴【释疑】CMWAP 和 CMNET 的主要区别与适用范围

转贴【释疑】CMWAP 和 CMNET 的主要区别与适用范围
  在论坛上泡了一段时间,发现很多朋友对CMWAP和CMNET的区别还是不甚了解。对于一些新软件,经常有人会问“CMWAP可以用吗?”,希望本文来能为大家解开这个疑惑。
  如果你是一个菜鸟或者初学者,不妨直接跳到第(4)节,看看我提供的“应用程序能否工作于CMWAP的辨别方法”;如果你希望对CMWAP和CMNET有一个详细的了解,那么就读完全篇吧;如果你对这个问题有所研究的话,还请不吝赐教,解开仍旧困惑我的几个疑问。
(1) 为什么会有两个接入点?
  在网上查阅大量资料后并经过反复的尝试与探索后,我大致对中国移动提供的这两种接入方式有了初步了解。
  在国际上,通常只有一种GPRS接入方式,为什么在中国会有CMWAP和CMNET两兄弟呢?(彩信之所以单独配置接入点是因为彩信服务需要连接专用的服务器,在这里不作探讨。)
  其实,CMWAP 和 CMNET 只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。
(2) 什么是WAP?
  WAP只是一种GPRS应用模式,它与GRPS的接入方式是无关的。WAP应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式,不同于一般Internet的“终端+服务器”的工作模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目的。
  WAP网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。但据我所知,中国移动GPRS网络目前只有唯一的一个WAP网关:10.0.0.172,有中国移动提供,用于WAP浏览(HTTP)服务。有一点需要注意,WAP网关和一般意义上的局域网网关是有差别的,标准的WAP网关仅仅实现了HTTP代理的功能,并未完成路由、NAT等局域网网关的功能。这就决定了它在应用上所受到的限制。
(3) 中国移动对CMWAP的限制
  为了从应用中区别两者的定位,中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet。(少数地区的移动网络可能不存在这一限制。)我们用CMWAP浏览Internet上的网页就是通过WAP网关协议或它提供的HTTP代理服务实现的。
  说到这里,就让我自然而然的联想到我们公司的网络,相信不少工作的朋友都有类似的体会。公司的网络在网关上不提供路由和NAT,仅仅提供一个可以访问外网的HTTP代理。这样,我们就无法直接使用QQ、MSN等非HTTP协议的应用软件了(好在它们还提供的有HTTP代理的连接方式)。CMWAP也正是
(4) 适用范围
  适用范围才是大家最关心的问题。CMNET拥有完全的Internet访问权,这里就不多说了,主要让我们来看看CMWAP。因为有了上面提到的限制,CMWAP的适用范围就要看WAP网关所提供的支持了。目前,中国移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。(据有的网友提到1080端口也是开放的,但无法连接。这也许是移动内部使用的一个Socks后门吧^_^)。
  因此,只有满足以下两个条件的应用才能在中国移动的CMWAP接入方式下正常工作:
  1. 应用程序的网络请求基于HTTP协议。
  2. 应用程序支持HTTP代理协议或WAP网关协议。
如何辨别一个应用程序的网络请求是否基于HTTP协议?
  这个问题还真不好回答,要完全做到这一点需要通过拦截应用程序的通信数据包进行分析。这里提供几个简单的方法给广大菜鸟朋友:从表现上看,如果它的网络请求是网址(URL)的形式,那么通常是基于HTTP协议的,如Web浏览器;如果它连接的服务器端口是80,那么它可能是基于HTTP协议的。如果确实无法准确判断,那么请直接看下一个条件。(满足第二个条件的应用一定是基于HTTP协议的)
如何区别一个应用程序支持HTTP代理协议还是WAP网关协议呢?
  首先看它的设置中有没有代理服务器的选项(通常在S60上未特别说明的代理都是特指HTTP代理),如果有则表示它支持HTTP代理协议。如果没有,则需要按照以下步骤测试:
  在GPRS接入点设置的高级设置里去掉代理服务器的设置项:Server Address 和 Server Port(,如果应用程序可以正常工作,那么它是基于WAP网关协议,如Java程序、S60内置的浏览器。如果在此状态下不能正常工作,而恢复GPRS接入点高级设置中的代理服务器设置后能够正常工作,则应用程序支持HTTP代理协议(代理设置从系统中读取)。如果仍不能正常工作,那么这个应用程序一般来说是不支持HTTP代理协议或WAP网关协议的。
  这里需要特别说明的是JavaQQ,它有Socket和HTTP两种版本。现在网上流传的可用于CMWAP的JavaQQ就是基于HTTP协议的。就拿那个JavaQQ 2004来说,启动画面中就明确的写着“KJava QQ HTTP”。而SIS版的QQ和AgileMessenger(S60的MSN客户端)因为是采用的普通的Socket连接方式,因此无法用于CMWAP。
    总结一下CMWAP下可以使用的常见软件的工作方式:
  (1) 手机内置的浏览器:WAP网关协议
  (2) Opera 浏览器:HTTP代理协议(有代理设置)
  (3) Java 程序:WAP网关协议
  (4) AvantGo:HTTP代理协议(有代理设置)