“大禹治水”到底說了什麼?

标签: 歷史 雜談

關於大禹治水的故事,國人通常耳熟能詳,無外乎出自太史公《史記》的故事:在人性光芒萬丈的堯舜禹時代,大禹在堯在位的时候就開始治理洪水,他公而忘私,“劳身焦思,居外十三年,三过家门而不入”。然而,故事的版本有很多,奇怪的是並不爲人所熟知。以下故事我命名爲“野史”,其實不少內容出自典籍,非道聽途說。記錄下來,供世人笑談。

首先提到的一個版本出自著名的《山海經》的《海内经》:

黄帝生骆明,骆明生白马,白马是为鲧.

洪水滔天。鲧窃帝之息壤以堙洪水,不待帝命。帝命祝融杀鲧于羽郊。鲧复生禹。帝乃命禹卒布土以定九州。

這裏說明了黃帝、鯀與大禹之間的關係,也說明了鯀爲何被殺,大禹的出生,以及大禹受命治水的過程。有一點必須指出,在《山海經》講到治水的事情之前曾經有這樣一句:

禹、鲧是始布土,定九州。

讓人懷疑,鯀禹兩父子曾經並肩作戰共同治水,而且都是用土去堙洪水。意思就是說,禹治理洪水的技能不會比鯀高到那裏去。

以上故事大家可以理解爲一個遠古神話,似乎沒有值得多說之處。只需要記得如果有國學大師冒用《山海經》之名盛譽大禹之功,你可直接無視之。然而,在《史記》中卻是另一種情形。

 史记·夏本纪》载,“夏禹,名曰文命。禹之父曰鲧,鲧之父曰帝颛顼,颛顼之父曰昌意,昌意之父曰黄帝。禹者,黄帝之玄孙而帝颛顼之孙也。禹之曾大父昌意及父鲧皆不得在帝位,为人臣。当帝尧之时,鸿水滔天,浩浩怀山襄陵,下民其忧。尧求能治水者,群臣四岳皆曰鲧可。尧曰:“鲧为人负命毁族,不可。” 四岳曰:“等之未有贤於鲧者,原帝试之。” 於是尧听四岳,用鲧治水。九年而水不息,功用不成。於是帝尧乃求人,更得舜。舜登用,摄行天子之政,巡狩。行视鲧之治水无状,乃殛鲧於羽山以死。天下皆以舜之诛为是。於是舜举鲧子禹,而使续鲧之业。
 尧崩,帝舜问四岳曰:“有能成美尧之事者使居官?”皆曰:“伯禹为司空,可成美尧之功。”舜曰:“嗟,然!”命禹:“女平水土,维是勉之。”禹拜稽首,让於契、后稷、皋陶。舜曰:“女其往视尔事矣。”
 禹为人敏给克勤;其德不违,其仁可亲,其言可信;声为律,身为度,称以出;亹亹穆穆,为纲为纪。

這裏,大禹與黃帝之間跨多了好幾代人,與《山海經》相同的是,鯀與禹絕對還是黃帝的直系子孫。多出兩個重要人物:堯與舜。這個堯,據《史記.五帝本紀》,也是黃帝的直系。仔細梳理可知,鯀應該是堯的堂叔叔,也就是說,堯與禹是叔伯兄弟。可是,這個舜呢,竟然是出於民間的一個單身漢!這個正能量滿滿且廣爲流傳的故事是這樣說的:

舜从小受父亲瞽叟、后母和后母所生之子象的迫害,屡经磨难,仍和善相对,孝敬父母,爱护异母弟弟象,故深得百姓赞誉。当时帝尧年事已高,欲选继承人,四岳一致推举舜,于是,尧分别将自己的两个女儿娥皇、女英嫁给舜,让九名男子侍奉于舜的左右,以观其德;又让舜职掌五典、管理百官、负责迎宾礼仪,以观其能。皆治,乃命舜摄行政务。

舜真是一個民間單身漢嗎?《史記.五帝本紀》:

虞舜者,名曰重华。重华父曰瞽叟,瞽叟父曰桥牛,桥牛父曰句望,句望父曰敬康,敬康父曰穷蝉,穷蝉父曰帝颛顼,颛顼父曰昌意:以至舜七世矣。自从穷蝉以至帝舜,皆微为庶人。

天啊,舜的爺爺的爺爺與大禹同輩份,這個世界亂了!大家看不清楚沒關係,記住這個人:“颛顼”,窮蟬和鯀的老爸,禹的親爺爺,堯的叔祖爺爺。大家可以把舜理解爲流落之民間的皇親。這之以前很普通,比如大家熟知的劉備不就是一個有皇家血統的賣鞋佬嗎?總之,這裏得到一個結論:堯舜禹三人沒有任何一個是普通的百姓,都是黃帝的直系後人。

這裏岔開題不講大禹而講舜的身世,有什麼意思嗎?當然了,只要細讀《史記.夏本紀》的故事,你就會發現它令人想象的空間比《山海經》裏面的神話故事要大得多。爲何這麼說,大家請注意鯀治水的始末。

當堯問誰可治水的時候,羣臣都推薦鯀,堯怎麼說?嗯,這個人人品很壞,不聽命令,會毀了自己的族羣,不可以!衆人力薦之下,堯同意讓鯀去治水,結果鯀治水治了多少年?九年!一個治理洪水不力的水利局局長連任九年,也是奇怪!治水不成,堯應該怎麼做?當然是懲罰鯀,至少來個免職吧。情況並非如此,“於是帝堯乃求人,更得舜”。爲什麼是先找接班人?接着舜代理堯巡視天下,“行视鲧之治水无状,乃殛鲧於羽山以死。”。“治水无状”根本就是堯找繼任者的原因,舜又何必巡視然後下手殺人呢?“於是舜举鲧子禹,而使续鲧之业”也頗令人意外。總之,這一系列細節都值得玩味。

如果有人以春秋筆法寫書,大概可以這樣:鯀是能人,治水九年,功高震主,主上不安,找個接口,讓自己的繼任者出手殺人,然又考慮到時局的穩定性,隔代指定接班人,於是成全了大禹治水之美名。

不過,這種猜想實在過於迂腐,而且也過於輕率地認識政治鬥爭的冷酷性。因爲還有另一種可能的真相。《竹书纪年》记载:

尧之末年,徳衰,为舜所囚。舜囚尧,复偃塞丹朱,使不与父相见也。舜囚尧于平阳,取之帝位。

丹朱是堯的兒子,據說不肖,所以堯不傳位與他。假設上面這一段爲真,那麼舜勢必需要擊殺鯀以鞏固自己的地位。至於舜與禹之間發生了什麼,哪就不得而知,反正《韩非子·说疑第四十四》有這樣一句:

舜逼尧,禹逼舜,汤放桀,武王伐纣,此四王者,人臣弑其君者也,而天下誉之.

禹是怎麼逼舜的,這有待查證。然而到此打住,讀者自行回味一下大禹的正能量故事,以鼓勵自己對歷史有更深刻的認識吧。借一句名言:也許認識歷史就是爲了更好地認識現在。

我这样看论语

引子

我只想从一个普通的理工科教师的角度来谈谈对《论语》的看法,意味我并非如于丹等专家那样具有国学的权威性,意味我并不是道学家,意味我只是随便说说。《论语》就该是一本必须看,作为常识书,而无需敬拜的少年读物吧。梁实秋老师把《论语》列为国学入门首要书目,会不会吓到小朋友啊?

首先,我认为看《论语》需限定一些原则。《论语》是记录孔子与其弟子的语录书,无论你给孔子戴什么高帽子,或者如何践踏他,都要知道,他是公元前500多年前的人物。于是,原则一,孔子的思想可以说是中华文化的源泉,但绝不可要求孔子有现代人的道德、思维与认识,不可无限放大拔高孔子的道德观人生观,不可用孔子的道德作为现代人的规范。总有人喜欢对我说,孔子真伟大,到现在没有人会有他那位崇高的道德。这是我不同意的,因为无法进行这样的比较,就如你无法拿奥特曼与孙悟空进行道德对比一样。原则二,就是要认识到,原始的《论语》是刻在竹篾上没有标点符号的,流传至今靠的是代代相传,靠的是道学家们的注疏(待会儿我进一步提这个问题。)。那就意味你要小心了,也许你在被忽悠,也许你在被洗脑。原则三,读《论语》要根据当时的语境上下文,不可随意猜测。

刚才提到,《论语》流传靠的是注疏。什么是注大家都明白,就是注解呗。老夫子讲的话大家不懂了,于是有年轻一代的老夫子给你注解一下。那什么是疏呢?其实也很简单,就是注解的注解,就是更年轻一代的老夫子觉得前面的老夫子讲的不对,我给你修正一下(同时显摆一下^_^),就是疏。那就必须提一个问题。《论语》研究了两千年了,有没有统一的解释呢?答案是:没有!而且,各个老夫子们都互不服气,各自揭短,好玩着呢。比如,朱熹对《论语》的注多年来被认为是正统,嘿嘿,南怀瑾老头子就非常不服气。当然了,于丹妹妹好像也不怎么服气(实话说我没看过于丹的节目,我只知道于丹说“为女子与小人为难养”应该是“为汝子与小人为难养”,嘿嘿,这不就是不服气呗。)。

我什么时候第一次看《论语》已经记不得了,只记得看《论语》的第一印象就是,哇噻,学成语很好啊,到处都是成语。也就是说,中国人即使不看《论语》都对它会非常熟悉,读《论语》只是在书中再次发现了自己的普通人生而已了。我记得我第一本《论语》是《品书四绝》里面的李贽评《论语》,嘿嘿,这本书实在香艳异常,不好意思摆在书架明显位置,羞答答地藏在很多书里面多年了。

李贽评《论语》

例句一

子曰:“已矣乎!吾未见好德如好色者也。”

李评:不教诲后生不好色,只是让他们好德如好色。

哈哈,各位后生,照孔子看来,一贯之道而已,因为“食色性也”,好色是本性,没必要压抑,只要好德如好色就好了。

例句二

子曰:“天生德于予,桓雎其如予何?”

李评:却又微服以过宋,妙,妙!

这句有意思!孔老夫子洋洋自得说,老天赋予我道德,宋国的桓雎能拿我怎么办啊?李贽看了偷笑,是啊,是啊,不敢动你老人家了,你干嘛改头换面偷偷从宋国跑路啊?看来,老夫子在古代就没少被人嘲笑。但是,这个被人嘲笑的老头子,真是苦口婆心宅心仁厚的老头,很可爱。“学而时习之”“有朋自远方来”“问人,不问马”“传不习乎”“食不言,寝不语”,都是一派大白话。只是这些大白话,传到了今天,走到了两个极端,被道学家奉为神圣经典祭在神坛,或者被喧嚣紧迫的现代科技文化挤出了日常生活。

例句三

子曰:君子不器。

子曰:“富而可求也,虽执鞭之士,吾亦为之,如不可求,从吾所好。”

器就是器皿,有特定用途,也意味着用途有限。孔子说“君子不器”,意思是勉励后辈多学多思,培养自己的基本素质,而不要只是为了某种目的学某一种知识。这话拿到今天也意义非凡。学计算机的同学们就要小心了,“不器”就意味着你要学习更多的基本知识,提高本身的各方面素质。但是,孔子也并不是那种“站着说话不腰疼”的人,也知道大家喜欢富贵,所以,他说,如果富贵可以求得来,多下贱的工作我都会做,但是如果求不来,那我就做自己喜欢做的事情好了。这话说得隐晦,意义深刻,我喜欢后者,“从吾所好”。这里是否意味孔子认为“富贵在天”,我不得而知,可知的是,现在“富且贵者皆‘执鞭之士’”(李评,也非常深刻!)。

读《论语》是非常愉快的阅读经历,如果你觉得不愉快,那就不要看了,不会有多少损失,常识永远不会给你带来多少收获或者损失。(可怕的是,这个社会缺乏常识!)

例句四

季文子三思而后行。子闻之,曰:“再,斯可矣!”

季文子三思而后行。子闻之,曰:“再思,可矣!”

这句话在句读上是有争议的。大概的意思是,孔子听说季文子做事总是“三思而后行”,于是就说“不要三思了,两思就好了么”。所谓“三思”就是思考事情的开始、中间发展、结束,三步曲。“再”,想一想“一而再,再而三”就好理解了。那孔子为啥这么说呢?那就要看上下文,这季文子是个什么人咯。想来是一个思前想后,无法定夺之人,孔老夫子怒了,想太多了你!(我猜的…)如果这季文子是个冒失鬼,我猜就是,孔夫子晒笑之,“三思还不够,再来一遍三思”,哇咔咔……有意思。

看《论语》也许还要思考一下。比如:子曰:见义不为,无勇也。我就想:见义不为是没道德,干啥说是“无勇”?直到看到:子曰:“有德者必有言,有言者不必有德;仁者必有勇,勇者不必有仁。”就明白了。“仁者必有勇”,现在这家伙无勇,那就是无仁呗。这老头还给我们绕弯呢。

例句五

子曰:食不厌精,脍不厌细。…… 惟酒无量,不及乱。

我喜欢这句,喝酒的人生是灿烂的人生,喝多少有什么关系,但是,千万不要喝酒就乱了自己的本性。

当然了,孔夫子的言论当然是有局限性的,很多就无法当真了,否则,现代社会两千年的文明进程岂不是都被否定了?子曰:“其为人也孝悌而好犯上者,鲜矣。不好犯上而好作乱者,未之有也。君子务本,本立而道生。孝悌也者,其为仁之本与?”这句分明是谄圣上语,我天朝圣上看了肯定喜欢。跟那些自由主义份子挂在嘴边的“政府都是王八蛋,当官的就是拿来犯的”有天壤之别。

小结

总之,《论语》里面有许多有趣好玩的故事,有许多中国人挂在嘴边的常用语,有日常生活的礼节,有日常学习的原则。这不都值得看看吗?何况孔夫子这么好玩,最后讲一个他的八卦,哈哈。

子见南子,子路不说。夫子矢之曰:“予所否者,天厌之,天厌之!”

孔子有一次去见卫灵公的夫人,风流大美女南子,孔子的弟子子路就很不高兴。老夫子就发誓说:“如果我做了什么不合礼节的事情,让上天惩罚我吧,惩罚我吧!”你看,你看,私会大美女,哼,你老夫子“食色性”挂嘴边,好德跟好色一个级别高,你说,你干啥了?子路很不爽。本来吧,这事谁说得清啊?到现在道学家还在争论呢,哈,确实说不清。但老夫子好笑,对弟子就发誓起来,大呼冤枉!

确实,孔子就是这样一个人,生前死后,毁誉不断。读孔子,看故事,就是这样好玩!

推荐读物:王小波谈国学

Markdown的基本使用方法

日期: 2014-11-18

tags: Markdown-mode short-cut key commands

使用该功能的前提

  • 首先,安装Pandoc,sudo apt-get install pandoc
  • 然后,M+x设置Markdown command为:pandoc -f markdown -t html -s -c /home/lbwang/emacs/style.css --mathjax --highlight-style espresso

在 Emacs 中预览结果 C-c C-c

  • C-c C-c m 转化为 HTML,在另一个 buffer 中预览 HTML 文件,个人觉得没太大意义
  • C-c C-c p 转化为 HTML,在浏览器中预览
  • C-c C-c e 转化为 HTML,保存为文件
  • C-c C-c v 转化为 HTML,保存为文件,并在浏览器中预览
  • C-c C-a l 插入形式的链接,C-c C-a L 插入 [LinkText][Label] 形式的链接。在这种形式下,如果光标附近有文字或是 Active Region,会自动被选择当作 LinkText。后一种形式会提示你在 Minibuffer 中输入 LinkText,LinkLabel 和可选的 LinkTitle。

图片 Images C-a C-i

-C-c C-i iC-c C-i I,两者的区别和超链接的类似。

样式 Styles C-a C-s

-C-c C-s e 插入斜体字(e 表示 emphasis)
-C-c C-s s 插入粗体字(s 表示 strong)
-C-c C-s c 插入代码,比如开头的快捷键框框就是它的效果

标题 Headings C-c C-t

-C-c C-t n n 从 1 - 6, 表示各级标题。比如C-c C-t 3 得到### Heading ###
-C-c C-t h 根据前面的标题自动选择标题级别。C-c C-t H 类似,不同的是它尝试得到带下划线的标题

一些零散的快捷键

  • C-c - 插入水平线
  • C-c C-o 如果该点是一个链接(Hyperlink),就会在浏览器中打开它的 URL,如果该点是维基百科链接(wikilink),就会在另一个 Buffer 中打开。
  • C-c C-j 如果该点坐在的位置是一个 Hyperlink,按下此快捷键就会在 Link Text 和 Link URL 之间跳转。同样也适用于脚注(footnote)等其它类似目标
  • C-c C--C-c C-= Promotion 和 Demotion。例如,在 ### ### 附近按下 C-c C-- 会使它变成 ## ##,按下 C-c C-= 会使它变成 #### ####。前者让 Heading 升级,后者让 Heading 降级
  • C-c C-k 将该点的目标 kill 掉,并将其内容送到 kill ring 中,适用于以下的目标:inline code, headings, horizonal rules, links, images, email address 等
  • C-c C-n, C-c C-p, C-c C-f, C-c C-b, C-c C-u 在 Heading 之间移动,自己去试试吧
  • M-{, M-}, C-M-a, C-M-e, C-M-h 快速跳转,和 Emacs 基础快捷键操作一样。

如何输入公式?

使用MathJax引擎,在Markdown中添加MathJax引擎的命令:

  • <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

  • 例子1,行间公式:$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$显示为: $$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$

  • 例子2,行内公式:\\(x = \\frac{y^2}{\\sigma}\\),显示为\(x = \frac{y^2}{\sigma}\) 。注意,\是Markdown的转义字符,出现它的地方要换成\\

量子计算:人人都能懂的直观简洁解释

date: 2014-11-17 15:48:05

tags: Quantum computation Computer Science


据说,量子时代已经在量子计算机粉墨登场的轰鸣中降临。作为一位有责任感的老师,我有义务给所有人一份简洁、易懂的解释。愿此文为你的美好未来铺垫强有力的基础。我们尝试进行这样的一次“量子计算”。

1、你懂传统计算机吗?如果懂,请跳到第4点。如果不懂,请继续看第2点。

2、 你见过一份关于计算机高速运算无比牛逼赚钱无数的原理的简洁易懂的解释吗?如果有请阅读该文档,之后挑转到第1 。如果没有,请看第9。

3、你真的确定看过这样一份解释吗?Yes,请转至第1。No,请转至第2点(我允许你修改自己的答案:-D)。

4、Good,看来你懂得什么是传统计算机了,即使不懂也没关系,至少你知道传统计算机的原理是可以非常容易解释清楚了。因为你说自己懂,或者刚才回答了Yes才到了这里。Ok,你既然懂传统计算机,你为何要问量子计算机。答案如果是“我不懂啊! ”,恭喜你,你是一个好学的人,但是你没发现问题的本质。就好比任何一个人被问及为何需要Iphone6的时候,他们不会说,因为我不懂用Iphone6,也不好意思说因为我钱多,多半会说“因为Iphone有更牛逼的功能,它是我工作必须要用的日常工具,我真不是贪慕虚荣之徒,它真的能帮助我!” 如果你对量子计算的认识不像刚才这位朋友那么实事求是而且客观的话,请退出本次阅读 。

5、到处,我们有一个共同的结论:量子计算能干传统电子计算机所不能干的事情(或者干得更高效)。而且,传统计算机的原理是可以轻易地解释清楚的,而且你也已经理解了这种原理。但是,非常抱歉,传统计算机的解释方式不能用于解释量子计算机的原理,因为量子计算机比传统计算机更能干,它具有不可思议的能力且在干着不可思议的工作!因为这种能力的不可思议性,所以,结论:我们不存在一种针对量子计算机原理简洁易懂的解释。这不是Joke!一定是有一些超越了我们传统思维的理论、观点在支持着量子计算机的运转。也就是说,要理解量子计算,一定要接受新的理论,而不能停留在原有的理论框架之下。再次强调,这不是笑话!

6、 如果你坚持到这里,那么你一定懂得传统计算机是基于bit运算的设备,其高效性源自于电路的高集成度与高速。理解量子计算的第一步就是要知道量子计算机是基于量子比特(qubit)的设备。qubit与bit相比,bit不是0就是1,而qubit是两种量子态(|0> 和 |1>)的线性叠加:

qubit = a |0> + b |1> ,其中a和b是复数,|a|^2 + |b|^2 =1

你可以理解a、b是概率值,当你去度量qubit的时候,它以|a|^2概率呈现为|0>,以|b|^2概率呈现为|1>。 如果一个存储器是n bits,那么在一个特定的时刻,它存储的是n个0/1的串,但如果是量子存储,那么n 个qubits却存储了2^n 个值。当你度量这个n qubits的存储,它们以某一概率呈现特定的0和1 。并且,对量子进行度量之后,这个量子就不再是原来的样子,你可以理解为,它们被遗失了。目前为止,你当然会非常愤怒于这样一种寄存器,只要你观察它,它就得到某个值但是又会消失(你不观察它,它就以这个概率是这个值,那个概率是那个值)。

7、如果你坚持到了这里,也许你必须知道一点关于传统计算机的计算模型,比如:图灵机。量子计算的高效在于其具有的量子平行计算能力。在传统图灵机中,从原始状态出发,我们沿着某一个路径进行计算(或者以某种概率选择一条路径),最终得到答案。在量子计算中,我们可以暂时理解为,所有可能的路径会同时并行地发生。你只需要把一堆量子放到一个密闭的容器中让它们计算,它们并行跑完了所有的路径。然后你去观察它们,以某个概率得到某个数值,那就是你需要的答案。再次注意 ,量子的不可观察性!所以,你要度量量子值必须具有不平凡的操作。如果你愿意,你可以把量子测度理解为一个复数矩阵,量子比特是一个向量。

8、传统计算机可以模拟出量子计算机的能力吗?答案:否!(但是这斩钉截铁的否其实是非常非常犹豫地回答出来的,也许,可能,谁知道呢?)因此,我们需要量子电路。什么是传统电路?与非门、非门、与门、或门 、异或、加法……在量子计算机我们有这样的东西吗?有!(同样,这个有是说,部分有,或者有非常类似的对应物)没有!(在量子计算机中我们允许多个答案,以一定的概率出现)因为,量子电路有一个非常特殊的要求,必须可逆!如果把所有的电路操作理解为一个矩阵,那么这个矩阵一定是可逆矩阵。当然,这个矩阵的要求比可逆要多。其实是一个unitary矩阵,即一个矩阵A与其自身的共轭转置矩阵相乘得到单位矩阵I。

9、天下哪有那么有用的知识是那么简单易懂的呢? 洗洗睡了吧~

title: '量子计算--人人都能懂的直观简洁解释' date: 2014-11-17 15:48:05 tags: ---

据说,量子时代已经在量子计算机粉墨登场的轰鸣中降临。作为一位有责任感的老师,我有义务给所有人一份简洁、易懂的解释。愿此文为你的美好未来铺垫强有力的基础。我们尝试进行这样的一次“量子计算”。

1、你懂传统计算机吗?如果懂,请跳到第4点。如果不懂,请继续看第2点。

2、 你见过一份关于计算机高速运算无比牛逼赚钱无数的原理的简洁易懂的解释吗?如果有请阅读该文档,之后挑转到第1 。如果没有,请看第9。

3、你真的确定看过这样一份解释吗?Yes,请转至第1。No,请转至第2点(我允许你修改自己的答案:-D)。

4、Good,看来你懂得什么是传统计算机了,即使不懂也没关系,至少你知道传统计算机的原理是可以非常容易解释清楚了。因为你说自己懂,或者刚才回答了Yes才到了这里。Ok,你既然懂传统计算机,你为何要问量子计算机。答案如果是“我不懂啊! ”,恭喜你,你是一个好学的人,但是你没发现问题的本质。就好比任何一个人被问及为何需要Iphone6的时候,他们不会说,因为我不懂用Iphone6,也不好意思说因为我钱多,多半会说“因为Iphone有更牛逼的功能,它是我工作必须要用的日常工具,我真不是贪慕虚荣之徒,它真的能帮助我!” 如果你对量子计算的认识不像刚才这位朋友那么实事求是而且客观的话,请退出本次阅读 。

5、到处,我们有一个共同的结论:量子计算能干传统电子计算机所不能干的事情(或者干得更高效)。而且,传统计算机的原理是可以轻易地解释清楚的,而且你也已经理解了这种原理。但是,非常抱歉,传统计算机的解释方式不能用于解释量子计算机的原理,因为量子计算机比传统计算机更能干,它具有不可思议的能力且在干着不可思议的工作!因为这种能力的不可思议性,所以,结论:我们不存在一种针对量子计算机原理简洁易懂的解释。这不是Joke!一定是有一些超越了我们传统思维的理论、观点在支持着量子计算机的运转。也就是说,要理解量子计算,一定要接受新的理论,而不能停留在原有的理论框架之下。再次强调,这不是笑话!

6、 如果你坚持到这里,那么你一定懂得传统计算机是基于bit运算的设备,其高效性源自于电路的高集成度与高速。理解量子计算的第一步就是要知道量子计算机是基于量子比特(qubit)的设备。qubit与bit相比,bit不是0就是1,而qubit是两种量子态(|0> 和 |1>)的线性叠加:

qubit = a |0> + b |1> ,其中a和b是复数,|a|^2 + |b|^2 =1

你可以理解a、b是概率值,当你去度量qubit的时候,它以|a|2概率呈现为|0>,以|b|2概率呈现为|1>。 如果一个存储器是n bits,那么在一个特定的时刻,它存储的是n个0/1的串,但如果是量子存储,那么n 个qubits却存储了2^n 个值。当你度量这个n qubits的存储,它们以某一概率呈现特定的0和1 。并且,对量子进行度量之后,这个量子就不再是原来的样子,你可以理解为,它们被遗失了。目前为止,你当然会非常愤怒于这样一种寄存器,只要你观察它,它就得到某个值但是又会消失(你不观察它,它就以这个概率是这个值,那个概率是那个值)。

7、如果你坚持到了这里,也许你必须知道一点关于传统计算机的计算模型,比如:图灵机。量子计算的高效在于其具有的量子平行计算能力。在传统图灵机中,从原始状态出发,我们沿着某一个路径进行计算(或者以某种概率选择一条路径),最终得到答案。在量子计算中,我们可以暂时理解为,所有可能的路径会同时并行地发生。你只需要把一堆量子放到一个密闭的容器中让它们计算,它们并行跑完了所有的路径。然后你去观察它们,以某个概率得到某个数值,那就是你需要的答案。再次注意 ,量子的不可观察性!所以,你要度量量子值必须具有不平凡的操作。如果你愿意,你可以把量子测度理解为一个复数矩阵,量子比特是一个向量。

8、传统计算机可以模拟出量子计算机的能力吗?答案:否!(但是这斩钉截铁的否其实是非常非常犹豫地回答出来的,也许,可能,谁知道呢?)因此,我们需要量子电路。什么是传统电路?与非门、非门、与门、或门 、异或、加法......在量子计算机我们有这样的东西吗?有!(同样,这个有是说,部分有,或者有非常类似的对应物)没有!(在量子计算机中我们允许多个答案,以一定的概率出现)因为,量子电路有一个非常特殊的要求,必须可逆!如果把所有的电路操作理解为一个矩阵,那么这个矩阵一定是可逆矩阵。当然,这个矩阵的要求比可逆要多。其实是一个unitary矩阵,即一个矩阵A与其自身的共轭转置矩阵相乘得到单位矩阵I。

9、天下哪有那么有用的知识是那么简单易懂的呢? 洗洗睡了吧~

Simple Git

本文旨在成为最简单的Git入门。贡献归于Pro Git

什么是版本控制?

控制、管理软件开发中程序版本变化的软件。方便团队协同工作。

  • 本地化版本控制
  • 集中式版本控制
  • 分布式版本控制

目前我们主要使用的是分布式版本控制。

什么是Git

Git是Linux社区在2005年开发的一套开源的分布式版权控制软件,具有简单、高效、功能齐全等特性。可应付各种复杂的项目开发需求。

基本的 Git 工作流程

  1. 在工作目录中保存修改某些文件。
  2. 对修改后的文件进行快照,然后保存到暂存区域
  3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
    以下将解释这一工作过程。

安装 Git

在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:

  $ apt-get install git

估计这里要在命令前加sudo。其他系统也相当容易。

初次运行 Git 前的配置

用户信息设置

配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新:

1
2
$ git config --global user.name "Alice Bob"
$ git config --global user.email alice@example.com

也许只有用户信息设置是最致命的,其他的,慢慢学习了之后再配置吧。可用git config --list命令查看配置信息。

##Git 基础
将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。

### 创建Git仓库
有两种方式:创建与克隆。
####新建
1. 为项目建立目录,进入目录,执行以下命令: $ git init

如果当前目录下有几个文件想要纳入版本控制,需要先用git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
1
2
3
$ git add *.c
$ git add README
$ git commit -m 'initial project version'

2.克隆
所谓克隆,即把某项目的 Git 仓库复制一份出来。比如,要克隆 Gnu PG的 Git 代码仓库 gnupg,可以用下面的命令:
1
$ git clone git://git.gnupg.org/gnupg.git

这会在当前目录下创建一个名为gnupg的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。

### 记录更新
工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。未跟踪文件即不纳入版本管理的文件。已跟踪文件是被纳入版本控制管理的文件,它们的状态初始是未更新,经过修改之后变成已修改,然后被放入暂存区(状态是已暂存),最后提交所有暂存文件到Git仓库,文件状态又变成未更新。如此不断反复:
>未更新—->已修改—->已暂存—->未更新

#### 检查当前文件状态
git status命令可查看出文件当前状态,比如:
1
2
3
$ git status
On branch master
nothing to commit, working directory clean

如果创建一个新文件 README,保存退出后运行git status 会看到该文件出现在未跟踪文件列表中。

#### 跟踪新文件
使用命令 git add 开始跟踪一个新文件。所以,要跟踪 README 文件,运行:
1
$ git add README

暂存已修改文件

要暂存更新过的文件,需要运行git add 命令(功能还挺复杂的)。比如,你修改了一个文件叫something.c,运行git add something.c就可以把这个文件转为暂存状态。然后你还可以继续修改。此时如果你需要再次运行git add something.c命令把文件重新暂存起来。

提交更新

把暂存的文件提交更新,运行命令:

1
$ git commit

在此之前,请一定要确认还有什么修改过的或新建的文件还没有git add过。

只要在提交的时候,给git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add 步骤。(提问:哪为何还要git add命令?)

查看提交历史

想回顾下提交历史,可以使用 git log命令查看。

自此你已经学习了最最基本的Git功能,知道如何创建、克隆文件仓库,知道如何暂存、更新。还有很多复杂的功能需要进一步学习,我不会告诉你我还不懂的,不过,我还是要用以下命令撤销我说的这句话:$ git commit --amend

CMD Markdown Learning

CMD Markdown也是一种Markdown,必然有其特色才能吸引人。归纳一些特色

  • 代码高亮
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    /*
    *  helloword.cc - Canonical "Hello, World!" program
    */
    
    #include <iostream>
    
    using namespace std;
    int main(void)
    {
      cout<<"HelloWorld"<<endl;
      return 0;
    }
    
  • 公式编辑
    $\sigma = (XA^d)^{y+eb} $
    懂得使用LaTex的表示泪流满面~

  • 脚注^jiazhu
    其他版本Markdown也有这个功能的吧?


小结:这么多版本的Markdown,不兼容怎么办?Hexo支持吗?赶紧试一试。

Markdown learning


本文源自这个链接,记录是为了方便自己学习记忆,原创性归原作者所有。


What is Markdown?

Markdown 要实现一种纯文本格式的,且易读易写的网络书写语言。

特殊字符自动转换

其实我没怎么看懂原作者想要表达什么。

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。

标题

Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
Setext 形式是用底线的形式,利用 = (最高阶标题)和- (第二阶标题),例如:

这是最高阶标题
=============

这是第二阶标题
------------

类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:

# 这是 H1

## 这是 H2

###### 这是 H6

区块引用blockquotes

使用类似 email 中用 >的引用方式。比如以下命令:

>>>这是一次块区引用,得到的格式如下

这是一次块区引用,得到的格式如下。

区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > 。

引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。

列表

Markdown支持的列表格式包括:

  • 有序列表

  • 无序列表。

无序列表使用星号、加号或是减号作为列表标记:

1
2
3
* Red
* Green
* Blue

等同于:

1
2
3
+ Red
+ Green
+ Blue

有序列表则使用数字接着一个英文句点,比如以下命令,请注意序号是乱的,但是显示是有序的:

1
2
3
2.  Bird
3.  McHale
1.  Parish
  1. Bird
  2. McHale
  3. Parish

代码区块

和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre><code> 标签来把代码区块包起来。

要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:

这是一个代码区块,我只是简单地缩进了四个空格
当然,这还是代码
这也是。。。

我现在不是代码了,因为我没有缩进!

代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号,这表示你可以很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。

分隔线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:

***********(产生了以下分割线)

链接

两种方式:

  • 行内式
  • 参考式
    行内式,即链接文字都是用 [方括号] 来标记,在方块括号后面紧接着圆括号并插入网址链接即可。

参考式,在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,接着,在文件的任意处,你可以把这个标记的链接内容定义出来。

强调

Markdown 使用星号和底线作为标记强调字词的符号,被包围的字词会被转成用<em> 标签包围,用两个*_ 包起来的话,则会被转成 <strong>。你看到强调了吗?

代码

如果要标记一小段行内代码,你可以用反引号把它包起来(`).

比如,我想说,编译一个程序的命令应该是g++ helloword.cc -o helloword。我就用了这种方法。

图片

Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。

行内式的图片语法看起来像是:

![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")

自动链接

Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。

反斜杠

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用<em>标签),你可以在星号的前面加上反斜杠。

Markdown 免费编辑器

我的第一个帖子

大家好,欢迎浏览我的网页,这是我第一次使用Markdown,我在练习。Title下的其他标签怎么会出错呢?奇怪…

用Markdown写博客

这是一次测试,练习使用Markdown,你认真就赢了。

练习:这是二级目录

测试:这是二级目录

三级目录

竟然可以用Latex,太棒了!