Open Metric
2023-05-06T09:39:29+00:00
http://openmetric.org
Lei Ma
hi@leima.is
2021 年
2021-12-31T00:00:00+00:00
http://openmetric.org/life/2021
<p>今年最后一天了,回想一下,好像今年很简单,可以总结的不多。不过好像今年又很重要,所以还是写一下总结。</p>
<p>今年其实跟去年也差不多,关键词一直都是家庭,工作,和开源。</p>
<p>TLDR;</p>
<ul>
<li>因为远程办公,获得了更多的家庭时光,也不必经常来往于两个城市。</li>
<li>切换到了一个智力更加密集的团队。新团队也是更加家庭友好。</li>
<li>跟大伙一起搞了 <a href="https://neuronstar.kausalflow.com/projects/conditional-probability-estimation/">24 期 seminar</a>,基本做到了声称的 biweekly.</li>
<li><a href="https://datumorphism.leima.is/amneumarkt/">Telegram 频道</a>发了 180 期。</li>
<li>为了解决一些遇到的问题也顺便开源了几个项目。
<ul>
<li><a href="https://github.com/emptymalei/haferml">haferml</a>: HomemAde FramEwoRk for Machine Learning</li>
<li><a href="https://github.com/emptymalei/social-pulse">social pulse</a>: heart beat monitoring dashboard of my social life</li>
<li><a href="https://github.com/kausalflow/colorteller-package">colorteller python package</a>: creating and testing color palletes for publications</li>
<li><a href="https://github.com/kausalflow/kirsche/">kirsche</a>: finding connections between publications and visualizing them</li>
</ul>
</li>
</ul>
<h2 id="家庭">家庭</h2>
<p>总之,就是今年大部分时间在老婆这边度过,可能是结婚多年以来住在一期最长的一年。比起以往的往返于两个城市的双城生活,现在有更多的家庭生活。我们一起为这边的公寓引入了各种不同的组件:智能硬件,新的办公区,HelloFresh 等等。</p>
<p>探索新的生活方式还是很快乐的。感谢老婆这一年来的陪伴,这一年收获了很多的快乐。</p>
<p>另外一件比较有意思的事情是,由于收入变得复杂了,而且实在不想再自己去搞税务的事情,所以就找了税务师。真的很方便。感谢税务师。</p>
<p>家庭部分就不多写了,可以参照 <a href="https://www.douban.com/people/81194074/">Ad_infinitum</a> 的 <a href="https://www.douban.com/note/822830998/">2021年终总结</a>。</p>
<h2 id="工作">工作</h2>
<blockquote>
<p>今年工作上想了很多,也换了工作。计划创业的事情几经波折,原本一些计划被疫情打乱。到现在,想法反而大概跟去年一样,就是为了面对将来世界的一些不确定性,还是暂时先打工,稳定攒钱吧。</p>
</blockquote>
<p>今年前公司换了一位 CEO,之后我就经历了一些<a href="https://www.douban.com/people/1587390/status/3548962816/">奇奇怪怪的职场操控</a>,果断辞职走人了。</p>
<p>到现在为止,已经工作三年多了。三周年的时候还写过<a href="https://openmetric.org/career/3-years-of-data-science/">一篇日记来记录了一下</a>。</p>
<p>后来加入到了一个智力更加密集的团队。现在才刚刚开始,没有特别多的感受。</p>
<p>在反复探索寻找突破口的过程中,今年也许是很重要的一年。反复思考了创业的计划,做了一些准备工作,但是最终还是暂时搁置了。在这个年头,也许并不是坏事。现在抱住大腿赚点钱,稳定了再说吧。</p>
<h2 id="娱乐">娱乐</h2>
<p>我还以为自己今年没怎么读书,看了一下豆瓣竟然还是读了八本书。</p>
<ul>
<li>最喜欢的工程类书籍是 <a href="https://book.douban.com/subject/30218046/">A Philosophy of Software Design</a>,</li>
<li>最喜欢的文学作品是<a href="https://book.douban.com/subject/35268282/">《惨败》</a>,</li>
<li>最喜欢的学术书籍是 <a href="https://book.douban.com/subject/35222663/">Graph Representation Learning</a>。</li>
</ul>
<p>今年玩了一个游戏,<a href="https://www.douban.com/game/26308123/">Firewatch</a>,故事非常棒,感觉将来可以拍成电影。</p>
<h2 id="生活">生活</h2>
<p>开始探索不用去健身房的健身,开始用了 Keep,用了一些时间感觉很好,基本可以按照训练计划完成。</p>
<p>今年没有办法像过去一样出去度假,所以就在周边小镇转转,感觉还是很棒的。周边小镇都很棒,有的小镇出产葡萄酒,有的小镇在黑森林里面。今年也新探索了几个新的湖边小镇,比起游客密集的小镇要好多了。</p>
<p>另外,在柏林待了一个多月,不得不说,大城市有它吸引人的地方。到现在呢,我也算是在德国大中小城市都待过的人了。柏林的好吃的真的多。</p>
<p>今年烦心的事情就是德国外管局的缓慢的效率,虽然最终排上队以后,工作人员态度也很好,也积极跟我讲英语。不过排队等待却是花费很多时间和精力。最终事情成功解决,要感谢小紫花和律令夫妇。</p>
<h2 id="期待">期待</h2>
<p>似乎期待越来越少了,2022 年如果还能保持现在的速度,就挺好的。</p>
<p>生活上,如果明年继续在家办公,一定要把家优化一下。可以继续探索一下周边的不知名小镇。继续探索 hellofresh,学习更多的西餐做法。</p>
<p>工作上,就先这样吧。有几个点子想实验一下,现在正在搭建一个可以加速做实验的平台,搭建好了可以加快大家一起做实验的速度。</p>
做了三年 Data Scientist
2021-06-01T00:00:00+00:00
http://openmetric.org/career/3-years-of-data-science
<p>已经转行有接近三年了,从学术界到工业界,有很长一段时间我都没有正确地转变观念,经过一些挣扎,探索了不同的世界,我觉得我终于找到了我的“叙事框架”,最近也重新在市场上对自己进行了定位。所以我觉得如果要做一个记录的话,现在是一个不错的时间点。</p>
<blockquote>
<p>这更像是一个我个人的记录,虽然有些“经验”,但我觉得每个人都会走过不同的路径,而每条路径都可以很精彩,所以我没有总结成什么条目。即便我设计这条路径用了很多错误的假设,我也偏执地相信,我的这条路径也会有很多有意思的故事。当然,将来有了新的认知,也会继续更新,当然也很可能将来会推翻我这里的一些想法,就像我这里会更新我之前日记中的想法一样。</p>
</blockquote>
<h2 id="心态一个很慢的故事">心态:一个很慢的故事</h2>
<p>两年前写过一篇这样的日记:<a href="https://www.douban.com/note/706279447/">做了六个月的 “Data Scientist”</a>。</p>
<p>关于转行,我着实是经过了一个漫长的调整和适应的过程。</p>
<p>为了更好地解释我经历的这个过程,我画了一个示意图。下图中把我过去的经历分成了三个不同的阶段:</p>
<ul>
<li>Phase I:新职业的学习带来的快乐很高,旧职业的痛苦历历在目。</li>
<li>Phase II:新职业学习减缓,旧职业苦痛忘了差不多。</li>
<li>Phase III:找到新职业中的大图景,对旧职业的认知更加客观。</li>
</ul>
<figure>
<p><img src="http://openmetric.org/assets/posts/3-years-of-data-science/3-years-of-data-science-3-stages.png" alt="" /></p>
<figcaption>
新旧职业交替。Happiness fraction 可以定义为每次想起职业发展,快乐的次数占总次数的比例,当然旧职业只能是存在于回忆中了。工作带来的快乐,差不多就是上面蓝色曲线和红色曲线的差值了。
</figcaption>
</figure>
<p>刚刚转行的时候,经历了常见的”新领域激情“,刚刚进入数据科学这个领域,技能增长非常快,每天都会觉得自己学到了很炫酷的东西,换领域的失落感还没有真正出现,就很开心。但是随着技能和知识增长速度的减缓,新职业带来的快乐开始衰落,旧职业的痛苦忘的差不多了,这样一对比就觉得自己做了错的选择,开始痛苦。然后在某个时间点,突然找到了新职业的正义图景,新职业就会带来更多的快乐,这时候对新职业和旧职业回忆的认知开始变得更加客观,之后就不知出现翻转,新职业的快乐就会超过回忆中的旧职业的快乐。</p>
<h2 id="成长两份工作的探索">成长:两份工作的探索</h2>
<p>转行后,我探索了不同的领域和公司,从租房市场到物流,从广告业务到核心的业务。</p>
<blockquote>
<p>开始的工作就是什么都做,但我觉得自己年龄大了,做全随机探索不行的,应该集中精力发展一个特定的领域(importance sampling 或者说是我自己的世界观里做 gradient ascent),而不应该不停地乱试。</p>
</blockquote>
<p>开始做租房市场,后来恰好有物流行业巨头设立了一个新的创业公司来改变行业,我就换到了转行之前就有些兴趣的物流行业。租房市场和物流行业,都有类似的问题,就是信息共享的问题。大企业不愿拿信息出来共享给小玩家,而小玩家占据了市场的大份额。这种分裂的市场导致我们一直在浪费大量资源。从企业的角度来看,机器学习提供了一个很方便的解决方案(generalization power)而且不会泄露每个玩家的隐私。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/3-years-of-data-science/3-years-of-data-science-logistics.png" alt="" /></p>
<figcaption>
</figcaption>
</figure>
<blockquote>
<p>为什么要选择物流呢?因为我觉得这个行业充满了各种有趣的问题。而且这是一个庞大而古老的行业,往表面讲,与我们生活息息相关,往深处讲,背后隐藏着很有趣的复杂系统基本原理而且带有数据。这个古老的行业正在经历一个转变,现在也是参与这个转变的好时机。</p>
</blockquote>
<p>我觉得我第二份工作对我帮助非常大。公司给了我非常非常大的自主权,利用公司资源探索了一些技术实施的东西,另外假期比较多,也没有加班,所以我给自己定了一个 curriculum,基本上每天晚上和周末都有时间自己阅读和探索,这样比较宽松的状态下,每次阅读和探索都很开心,所以我比较系统地补全了一些技术和知识。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/3-years-of-data-science/obsidian-and-datumorphism.jpeg" alt="" /></p>
<figcaption>
<p>两个笔记系统中的笔记。Obsidian 和 <a href="https://datumorphism.leima.is">datumorphism.leima.is</a>。我觉得可能有更多人感兴趣的内容,我就分享到了这个 <a href="https://telegram.me/amneumarkt">TG channel</a>。</p>
</figcaption>
</figure>
<p>第二份工作中,因为压力而精神崩溃到情况也比第一份工作少很多(第一份工作因为维护 data pipeline/warehouse 时刻处于警觉状态,而且处理杂务压力的经验比较少)。一个感受就是,对于我这种人,与其积累压力周期性崩溃,合理地安排时间和精力来减少这种周期性崩溃的状态,可以更好地兼顾家庭和工作,生活会开心很多,最终效率反而更高了(从阅读和代码数量上来看)。</p>
<blockquote>
<p>就像我在<a href="https://www.douban.com/people/emptymalei/status/3453641211/">这条豆瓣说</a>提到的,其实心态很难调整。我经常被自己增长速度的缓慢击垮。以前那种什么不懂就赶紧熬夜搞懂的事情现在身体已经不允许了,所以我才逐渐转向计划型的人生,维护一个关于自己长期增长的 todo list 和一个 backlog,原则上可以保持自己任何时候想做事情都可以把 list 拖出来,按照优先级来做事情。</p>
</blockquote>
<p>另一个事情就是我很担心自己陷入“因为没有见识过而很自大”的状态(这是我脱离学术圈之后最大的担忧),所以我一直想要去跟别人接触,参加会议或者组织活动,虽然有时候很社恐。例如我们最近一直在举办的 <a href="https://neuronstar.github.io/projects/conditional-probability-estimation/">Conditional Probability Estimation 的讨论组</a>。</p>
<h2 id="图像不要脸的大图景">图像:不要脸的大图景</h2>
<p>现在这个年龄,我要活得开心,得给自己一个高尚的大饼。所以就给自己搞了个大饼,每一步围绕大饼改变,如果运气好的话。有了大饼,就有了 landscape,然后人生就可以在这个 landscape 上做 gradient ascent 了。而且还可以依此建立优越感。(类似 vim 是最好的编辑器这样的虚无的优越感。)🤪</p>
<blockquote>
<p>这怕不是太狂妄了,人生哪有那么顺利!所以这个只能叫做不要脸的大图景,专门用来避免自己觉得人生无意义的。另外,这个 gradient ascent 的前提也是你有个很好的 metric 可以使得你要去的目的地是一个峰值,这个显然是不一定的。可能我要去的地方,是个独特的小山坳。唉,别管了,就这样吧。</p>
</blockquote>
<p>就这样吧,不管将来做什么,这段经历对我来说都很重要,过去这三年的经验,其中的计划和执行,应该是值得我用来 (over)fit 我自己的一些数据点。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/3-years-of-data-science/life.jpeg" alt="" /></p>
<figcaption>
我要去哪里呢?也许不用想吧,走到哪里就是哪里。我要去哪里呢?也许不用问吧,我的脚丫子会带我去远方。(这都写的啥啊)
</figcaption>
</figure>
2020 年
2020-12-26T00:00:00+00:00
http://openmetric.org/life/2020
<p>2020 年,不存在的一年,懒惰的一年,蛰伏的一年。</p>
<p>去年做的 2020 计划:</p>
<ul>
<li>2020 年,要保障工作中的项目有始有终。</li>
<li>2020 年,要再办一个读书/讨论会。</li>
<li>2020 年,要常常把一些工作和探索的内容系统地整理成文章,并在 PyData 会议上给一个 talk.</li>
<li>2020 年,要再去一个创业会议。</li>
<li>2020 年,要有耐心,要把有限的精力用在重要的事情上。</li>
<li>2020 年,要继续为未来存下更多保障,要存一点钱来做一些长久的投资。</li>
<li>2020 年,要有生活的气息。</li>
</ul>
<p>实现了 5/7,也还可以。</p>
<h2 id="生活">生活</h2>
<p>在家,比较枯燥。本来计划的出行和会议都不得已取消了。不过因为疫情,也正好可以暂时结束两地分居的局面。</p>
<p>年底搬了家,从周围什么都没有的地方搬到了周围什么生活店都有的地方。</p>
<p>但还是去了一趟巴黎,作为今年份的出行。虽然不是专门去度假的,但是我觉得很开心。</p>
<h2 id="工作">工作</h2>
<p>工作没有很大的变化。在家工作,没有办公室的桌椅舒适,加上整天在家,身体有些不是很好。</p>
<ul>
<li>公司提供了一个比以前宽容的环境,有部分事情可以耐心地做。</li>
<li>但组织结构太过复杂,与母公司但关系也变得复杂起来。</li>
</ul>
<p>有三个比较重要的成就:</p>
<ul>
<li>通过具体的项目来向母公司展示什么才是真正的有用的数据项目,推动母公司的改变。吹牛皮的话:这使得地球上很多人的生活有了一点点的改进,不管是大家手中的快递,超市购物,买汽车,买电脑,作为世界上主要的物流公司,这一点点的改进也许就会使得一些人更开心地生活。</li>
<li>针对重复性的过程,构建了工作流程(例如 EDA 流程)。这个源自我个人的感受:有时候走路去上班,一开始的时候觉得路好长,走的次数多了,就觉得不过如此。构建工作流程之后,对这些枯燥的活有了更好的估计,也就有了更多的耐心。</li>
<li>坚持每天阅读领域的信息来建立起对工作领域的认识:</li>
</ul>
<figure>
<p><img src="http://openmetric.org/assets/posts/2020/2020-habbits.jpeg" alt="" /></p>
<figcaption>
openhabits 的记录,从年中引入这个记录工具,每天记录是否阅读相关内容,如果没有阅读就会降低一份,否则就会加一分。开始总是觉得没有时间,后来不停的挤出时间来,就形成习惯了。不过 openhabits 已经要终止服务了所以就没有再用了。
</figcaption>
</figure>
<p>有几个比较大的失败:</p>
<ul>
<li>项目进展像是过山车。今年项目有的地方翻车比较严重,还有一个很重要很重要的问题没有搞清楚:price dispersion 的来源。这个是我心头一个非常大的疑问,没有看到很相关的论文,所以必须要找出来。</li>
<li>没有能够在公司内部形成对机器学习的好奇心。尝试过内部 talk 的形式,但是我讲的太难了,大家没有能够开始感兴趣。也因为疫情,导致我们计划的大活动也都取消了。我觉得这是一个需要继续做的事情,我不应该躲在技术壁垒后面自娱自乐像只井底之蛙,有点可笑。</li>
<li>职位层级实际上比去年所待的公司是下降的,去年是直接对接 C-Level,今年公司的进行了组,变成了 PO 和 Tech Lead 二维体系。虽然没有实质操作的变化,但是这个重组让我心理上有些不适应。</li>
<li>没有做成物流领域的 podcast. 本想通过这个接触一些领域知识和人,但是联系了领域内一些人,发现这些人很传统,不喜欢搞这些东西。我也没有找到好的机会。</li>
</ul>
<h2 id="娱乐">娱乐</h2>
<p>今年玩了三个游戏:</p>
<ul>
<li>健身环大冒险:推荐,居家办公的主要健身器材。</li>
<li>Just Dance:还行,没有健身环的时候就跳舞玩。</li>
<li>Outer Worlds:很有趣的故事,开始每次选择都很困难,总是计算得失,后来就随心选择了,不管怎么选择都会遇到被我的选择所害的人。</li>
</ul>
<p>也有几天同事约我玩 warzone,但是玩了两次觉得太无趣就放弃了。我觉得没有好的故事的游戏我很难玩下去,除非对我有什么好处。</p>
<h2 id="杀时间">杀时间</h2>
<p>整合了信息流,砍掉无用的分支,也不得已自己做了一些工具。</p>
<ul>
<li>写了个 Telegram bot:琐碎信息自动查询和分发</li>
<li>重写了 datumorphism 的网站,作为 Machine Learning 内容的终点。:引入了文章关联,使用过程中确实发现好用多了。backlinks 看起来像是平平无奇,但是实际使用过程会明显感觉到更好用。</li>
<li>全部笔记迁移到 Obsidian:作为所有笔记整合和分发,使用 abc.xyz 分类方法区分不同的分发。</li>
</ul>
<p>年中开始写一个从 marketplace 角度看 transportation 的材料(<a href="https://flow.leima.is">the flow</a>),写了两章觉得非常难,一度放弃了。</p>
<p>开始新的读书会,认识新的朋友们。</p>
<h2 id="在路上">在路上</h2>
<p>2020 年地理位置上比较固定,在路上的时间较少。基本在两个城市活动。去过一次海德堡,去了一趟巴黎。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/2020/2020-travel.jpeg" alt="" /></p>
<figcaption>
2020 年地理位置热点
</figcaption>
</figure>
<h2 id="2021-年">2021 年</h2>
<p>没有什么特别的愿望,希望疫情能够早点结束,希望爱的人身体健康。</p>
<p>除此之外,有几个小愿望。</p>
<ul>
<li>继续存钱。未来不安定啊。</li>
<li>希望能够搞清楚一个工作中的关键问题(cause of dispersion),这一个事情搞清楚了,我这一年就有所成就了。基于它可以讨论算法对于市场稳定性的影响。</li>
<li>继续把 <a href="https://flow.leima.is">the flow</a> 写下去吧。这几年也正好是业界的物质流动与信息流动的整合时期。</li>
<li>希望多做点视频来解释事情,我发现这比文章解释事情更有挑战性,所以不如干脆来个视频频道玩。</li>
</ul>
2019 年
2020-01-01T00:00:00+00:00
http://openmetric.org/life/2019
<h2 id="生活">生活</h2>
<p>2019 年办了婚礼,而且婚礼的效果还很棒。</p>
<p>2019 年是消费欲望很低的一年,花费比以前少很多,另外工资涨了,每个月存了一些钱,为未来生活增加稳定性。</p>
<h2 id="工作">工作</h2>
<p>年初的时候做过一个简单的计划,现在大概回顾了一下,完成情况没有特别糟糕。绿色是完成的,橙色是开始了但是没有完成的,白色是还没开始的。果然有很多事情是想做但是没有开始的。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/2019/2019-plan.jpeg" alt="" /></p>
<figcaption>
2019 年初做的计划
</figcaption>
</figure>
<p>十一月换了工作,也算是绕了一个圈子,进入到了一开始找工作所期待的行业。从商业数据主导的数据科学,换成了为行业解决问题的数据科学。</p>
<h2 id="杀时间">杀时间</h2>
<p>业余学习的计划都很慢,终于结束了一个延续了很久的读书会,退出了一个讨论小组。这样精力可以集中在完成今年的计划上。两个比较重要的计划:</p>
<ul>
<li>“统计补完”的计划基本上完成了,只剩下 Bayesian 的书没有读完。</li>
<li>“物理与学习”的计划中,统计学习的部分完成了,神经网络的部分也有进展。虽然统计物理的笔记的部分还没有整理完,但是作为这个知识体系上非常重要的一环,耐心是必须要有的。所以统计物理的部分变成了我用来填补空闲时间的琐碎工作。</li>
<li>为星际移民中心写了几个有趣的工具,也写了几个工具来解决公司和工作的小问题。</li>
</ul>
<h2 id="在路上">在路上</h2>
<p>2019 年继续体验德国的铁路。</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/2019/2019-travel.jpeg" alt="" /></p>
<figcaption>
2019 年德国铁路上
</figcaption>
</figure>
<p>休闲娱乐主要集中在德国境内,没有铺张浪费。去了一趟巴塞罗那体验创业会议,去了一趟柏林体验 PyData 的会议。</p>
<h2 id="2020-年">2020 年</h2>
<p>2020 年,要保障工作中的项目有始有终。</p>
<p>2020 年,要再办一个读书/讨论会。</p>
<p>2020 年,要常常把一些工作和探索的内容系统地整理成文章,并在 PyData 会议上给一个 talk.</p>
<p>2020 年,要再去一个创业会议。</p>
<p>2020 年,要有耐心,要把有限的精力用在重要的事情上。</p>
<p>2020 年,要继续为未来存下更多保障,要存一点钱来做一些长久的投资。</p>
<p>2020 年,要有生活的气息。</p>
做了六个月的 Data Scientist
2019-02-09T00:00:00+00:00
http://openmetric.org/career/6-months-of-data-science copy
<p>我已经工作六个月了。</p>
<p>刚刚工作的时候:</p>
<ol>
<li>我的职位是 data scientist,按照工作描述,我应该是基于统计学习的 data scientist,并且要以 dashboard 的形式提供结果。</li>
<li>刚刚开始的时候,我觉得工作很多方面都很新奇。</li>
<li>我预想的人际关系是要比学术界复杂很多。</li>
<li>对于自己在一个公司能起到什么作用完全不了解。</li>
</ol>
<p>六个月过去了,有些想法变了,有些还没有,虽然可能将来还会变。</p>
<p>为啥现在要写呢?因为德国这边都是有六个月的 probation time 的,这六个月之内,如果辞退或者离职,需要提前两周通知,过了这个之后,是提前三个月通知。并且还要涨一下工资。</p>
<h2 id="工作内容">工作内容</h2>
<p>工作内容跟工作描述不一样。我的工作内容其实是一个 Full Stack Data Scientist. 实际的工作内容太乱了。这也是为啥标题的 “Data Scientist” 加了引号,同时也是为啥我做了这么多不同的 project,因为都是小的 project,没有很复杂的内容。</p>
<blockquote>
<p>我觉得,我必须快点作出转变,集中精力做一类事情,而不能继续什么都做,我觉得这是没有出路的。我经常想 data science 里面这个 science 是什么意思。它不仅仅是说要用可重复的方法,要基于证据,要深入研究。它也暗示了这个领域的复杂性,有很多话题,有很多方法。我觉得,对于个人来说,那么多方向,应该选好了一个然后深入去做。</p>
</blockquote>
<p>刚来的时候,我觉得我是来做分析的,但是工作了一段时间之后,我把自己重新定位了一下。我自己的定位是,帮助公司从一个基于经验做决策的公司转变成一个基于数据做决策的公司。</p>
<h3 id="data-warehousing">Data Warehousing</h3>
<p>我刚刚来的时候,公司连 data warehouse 都刚刚建起来,一共只有两条内部数据的 pipeline,都是 CIO 一个人和之前没待几天的 data engineer 写的. 我来了之后,刚开始一个月尝试做一些描述性的统计分析,但是整个 warehouse 太原始了,而且发现了很多错误。</p>
<p>所以就停下来,从头过了一遍原来的 pipeline 设计,改了错误,添加新的 pipeline. 分析中用到的外部数据,也写了一些的爬虫,也有跟别的公司合作的数据,这些统一都放在了 data warehouse 里面。</p>
<p>我还制定了添加 pipeline 的基本工作流程,写了 cookie cutter 模板,这样做的目的是保证代码结构的一致性。然后写了两个专门用于 data warehousing 的 Python Package 和它们对应的文档,这样保证数据定义的一致性。</p>
<blockquote>
<p>为了干这些还专门读了 Data Mining 这本书,验证了一下这本书里面很多都是过时的。</p>
</blockquote>
<h3 id="数据分析">数据分析</h3>
<p>这部分主要是预测和算法。因为公司业务的内容,经常需要解答的几个问题。第一个是时间序列上公司业务的几个指标的预测,第二个是不同城市的需求的预测,第三个是不同城市 supply 的预测,第四是 AB test 的算法测试,另外还有一个正在做的所谓的 lead scoring system (说白了就是公司获取的潜在客户打分系统,方便 sales 根据分数来跟这些客户接洽)。</p>
<p>我觉得这部分是很好玩的,经常需要读一些博客和论文,也常常需要针对公司情况自己脑洞一些方法。然而我也遇到了一些问题,比如我真的遇到了听了很多次的所谓的基于分析做出的结论强化数据的 bias 的情况。</p>
<blockquote>
<p>广义相对论里面,spacetime tells matter how to move; matter tells spacetime how to curve;数据告诉决策如何前行,决策反过来扭曲数据。</p>
</blockquote>
<h3 id="dashboard">Dashboard</h3>
<p>主要做过两类,一类是作为产品的,就是一个让 supply 提供方能够获取统计结果以及我们对于需求的预测,另一类就是公司内部使用,基本只有对历史数据和当前状态的描述,这个是让大家决策的时候能够更好地利用数据验证一些猜想,然后再做决策。过去一周我什么都没做,就一直在制作和验证 dashboard.</p>
<blockquote>
<p>其实这件事情是很枯燥的,然而我觉得这个枯燥的事情是有意义的。很多时候这个 dashboard 只需要做一次,做这一次的目的真的能够站在决策者的角度思考,能够了解不同层次的人是怎么思考和做决策的。反过来,了解了不同人的职能,就能更好地了解他们需要什么样的 dashboard. 就像一个相互推进的过程。</p>
</blockquote>
<h2 id="新奇感">新奇感</h2>
<p>目前倒是没有一开始的新鲜的感觉了。有一段时间觉得很无聊很枯燥。</p>
<h2 id="人际关系">人际关系</h2>
<p>我还没有感觉到公司里面人际关系更复杂。公司总部目前100人左右,其他荷兰,英国和西班牙的办公室都很小,加上来也不到120人。所以其实公司很小,一共最高到四个层级,大部分人处在第三层(类似于 CEO+Cofounder -> CxO/Head -> employee)。政治斗争的空间很小,毕竟小公司嘛,不爽就走了,没人花费经历在这里斗争吧。反正我没看到。</p>
<p>我遇到过一次有人拎不清楚状况,对我采用命令式口气以及用他的上司来强制我提高他的 ticket 的优先级的情况,只能对他说,朋友,能不能眼光放长远一些。</p>
<p>很多人不理解 data scientist 这个职位,有些人会觉得那么简单把数据拿过来就好了。他们不理解数据嗯重要性,有的分析结果必须反复验证的,特别是 dashboard 这种东西,做出来可能半小时,验证数据的准确性可能需要一周。对于这样的人,教育一次就懂了。</p>
<h2 id="我在公司是干啥的">我在公司是干啥的</h2>
<p>我个人感受是(小公司里的)data scientist 的优势应该就是能够看到比所有其他人能看到的更多的数据,所以原则上来讲,应该可以比决策层更早的意识到问题并且作出正确的决策。</p>
<p>这件事情在我的工作中验证过多次。我有一个笔记本专门记录我对公司的当前状况的分析以及解决方案。比如当前扩张和巩固应该如何分成,应该扩张到哪些城市,在这些问题上,我自己提前用数据作出的决策跟他们 CxO 们作出的决策是一致的。</p>
<p>不过这就很值得思考了,这些人很多是基于经验的,如果数据分析/算法没有提供新的不同的结论,那么要这个分析/算法干啥用呢?</p>
<p>我的理解是,如果做这个决策需要用到 10 个猜想,那么这是个猜想里面,如果是更多基于数据的,就有更多的猜想可以被验证,这样的结论正确的可能性就更大。比如说,如果只看了一些数字,然后可以验证3个猜想,然后做了决策。如果用了更多的数据,可能可以验证 6 个猜想。如果可以做到这样,我觉得就是有意义的。</p>
<p>目前在推动公司作出更多的基于数据的决策,我就是基于这个想法来做的。比如给伦敦分部的 country head 做了一个 dashboard,那么这个 dashboard 有两个作用,一个是一眼看上去,可以知道目前的发展情况,第二个作用是,验证猜想,比如要在 UK 继续扩张,经验告诉我们人口多的城市,住房市场就更大,这个是可以通过我们网站的搜索数据验证的,所以这部分数据是要提供给 country head 的。诸如此类。</p>
<p>自己已经追踪记录个人数据很多年了,然而最近突然才想起来,不只是关于自己的数字很有趣,关于自己的人生的文字记录也非常有趣。所以关于工作,还是应该记录一下。比如关于工作的第一篇,真是觉得新的人生篇章的设想啊,很多都是脑补的。工作了一段时间之后,会遇到一些问题,也会有新的感想。自己的这些变化真的很奇妙。</p>
从学术界到工业界
2018-08-01T00:00:00+00:00
http://openmetric.org/career/from-academia-to-industry
<p><a href="https://www.douban.com/note/685012091/">对应的豆瓣日记</a></p>
<blockquote>
<p>TL;DR</p>
<p>跟别人学习,利用找工作的社区(cheekyscientist, beyondprofessoriate),AngelList,“动词 + 内容 + 效果”的简历,心态调整</p>
</blockquote>
<p>首先要说的是,从开始找工作的一刻开始,我就感觉到自己打开了一扇新的门,世界丰富多彩,我以前却从来没有看到,那感觉就像是家里的收音机升级成了彩色电视一样。</p>
<p>我一直以来对于 IT 行业也是很关注的,生活中经常也会跟朋友聊一些可以改善生活的点子,我们系里有个教授甚至叫我“the billion-dollar-idea guy”,因为我我聊这样的话题总是这样开头的:Hey guys, I have a billion-dollar idea. 所以转行进 IT 似乎还很挺自然的。然而,当我开始找工作的时候,这才发现事情并不是自己想的那么容易,IT 行业那么多公司,可是人家一个都不理你。所以我这篇就来记录一下,我是怎么样突破自己的思维的限制的,也希望能够帮助到跟我处境类似的人。</p>
<p>另外,这篇文章所记录的情况是:在美国拿到 PhD,然后去欧洲找工作(又一次选择困难模式)。而且我能够找到工作,必须感谢我太太 @ErbB4 对我的心理支持,并且帮助我打开思维。</p>
<h1 id="找人帮忙">找人帮忙</h1>
<p>其实总结下来,最重要的就是找人帮忙。</p>
<p>我觉得拿到 PhD 学位的话,都是很聪明又勤奋的人,但是总也是有个从阅读参考文献进入相关领域的过程。我的理解是,找工作也是这样的。</p>
<p>我首先是写了这个日记:找一份有趣的工作。有很多人给了我很多的建议,这些建议成为了我找工作的起点:从漫无头绪,到有一些基本的概念。这个过程快的很。</p>
<p>一旦有了一些概念,我就开始找一些理论物理转行工业界的人聊聊,后来也跟很多其他专业转行的人聊。这期间很多人帮助了我,跟我语音或者视频聊了很多跟工作有关的事情,其中包括很多豆友。这时候很多人会提供一些可能的方向,比如金融分析和数据科学等等。这件事情最有趣的是,一开始我是在考虑 IT 行业的。后来也意识到了不能只限制在一个行业,有很多传统的行业也很棒。例如有一位朋友提供了汽车行业的情况,他们确实招很多学物理的人,然而我之前都不知道。类似的情况还有很多,只需要去跟别人聊,开阔自己的眼界,世界上不同的行业非常多,有些很难自己想到。</p>
<h1 id="团伙">团伙</h1>
<p>然后我加入了两个团伙,分别是</p>
<ol>
<li><a href="http://cheekyscientist.com/">CheekyScientist</a>:提供很多开始找工作的建议,包括简历筛选系统的工作原理,HR 的工作等等,也提供很多刚刚工作的人的采访(podcast);打开他们网站,下载他们的手册,然后订阅,可以获得后续的视频的资料。</li>
<li><a href="https://community.beyondprof.com/">BeyondtheProfessoriate</a>:webinar 形式,需要付费,我是学校帮我付的,但是我觉得就算自己出钱也很值得。有各种各样的工作的建议,以及公司招人的一些基本原则什么的,还可以提问。他们还有更好的社区,但是我没有来得及用就找到工作了。</li>
</ol>
<p>我个人经验,这两个团伙都非常棒,当然也有别的团伙可以加入,大家可以去了解一下。</p>
<p>其次是 LinkedIn,说实话对我来说这个现在还没有用上,但是保不准以后可以用上。一个经验是,在 LinkedIn 上加完别人之后立刻写个 InMail 来感谢别人通过你的好友请求,可能有意想不到的收获。我通过这样的方式在 LinkedIn 上获得了一些关于工作的建议。</p>
<h1 id="人脉">人脉</h1>
<p>主要是内推吧,很多人都在强调这个,但是我还没有用上。</p>
<h1 id="工具">工具</h1>
<p>我用了一些工具,这些工具可以分为两类:工作查找,申请进度跟踪。</p>
<p>关于工作查找:我用的最多的是 <a href="https://angel.co/">AngelList</a>,因为我投的主要是创业公司。其次就是根据别人给的信息自己去搜索相应的公司,然后去公司的招聘页面查看。其他的工具别人提到的有:LinkedIn,Glassdoor 和 Indeed,我都没有用过。</p>
<p>关于申请进度跟踪:可能很多人觉得 email 本身就可以了,确实也是。我一直在用 Trello 这样的看板工具来着,所以这次也用了 Trello.</p>
<h1 id="简历">简历</h1>
<p>简历反复改了应该有几十遍,中间也有几次完全推翻重写和设计的。</p>
<p>所谓的 STAR 法则,我觉得很奇怪,所以就没有采用。</p>
<p>但是有一点就是描述自己的工作的时候,我觉得 “动词 + 内容 + 达到什么效果” 这样的简单的格式给人看起来确实清晰明了,所以我后来感觉用这个格式得到的反馈更多。</p>
<p>一开始简历没有什么设计,就是直接一栏下来了,所以有两页。后来设计了一下,成了一栏(主要内容)+小侧栏(技能栈),但是我也不知道哪个好,因为后来分栏的简历没有投几家就找到工作了。</p>
<p>我个人觉得改简历就像做数值计算一样,反复改善,反复验证,这是一个必须做好的事情,但是也是我一开始最不想做的事情,一开始就认为自己的简历已经很好了。</p>
<h1 id="面试">面试</h1>
<p>刚开始工作面试的时候,特别紧张,很多很简单的问题都答不上来,后来经过几次就可以了。所以我一开始申请的都是可去可不去的,后面才开始申请真的想去的公司。</p>
<blockquote>
<p>我也没啥经验,不过有个观察,不一定对,只得到一个同学的确认:国内面试官大概率会给人一幅很不爽的表情,这样导致面试的时候反而发挥不好,特别是 brainstorm 的问题(国内面试的七家有六家都是这样);欧洲的公司的面试官给面试的时候也是非常鼓励的状态,这样发挥会更好,能够当场解决更难的问题。而且欧洲的公司面试的时候 brainstorm 更多,国内公司面试的时候题目更多。</p>
</blockquote>
<p>面试还有一个事情,就是可以针对这个公司做一些工作。例如我会爬一下公司的数据,做一个初步的 data mining,如果有机会就给他们展示一下。至少我是这样拿到 offer 的(我认为?)。</p>
<p>应该需要注意相应国家的法律,欧盟和美国要求不能拿这个数据做商业,不能对对方服务器造成压力,别的没问题。</p>
<h1 id="心态">心态</h1>
<p>虽然我理解找工作是给自己定位的过程,因为毕竟刚刚出道,也不知道把自己放在哪里。但是当收到的拒信太多的时候,我就会受到打击觉得自己不行,觉得肯定找不到工作了。</p>
<p>心态很容易崩,这跟做科研遇到难题的时候一样。我有时候很沮丧了就继续申请很多,有时候也就去跟别人聊聊,看看别人能不能给我指出一些问题的症结,当然这也都是人自然的反应。另外,这些拒信很多其实就算让自己去也不想去不是嘛。</p>
云朵工程师
2017-10-12T00:00:00+00:00
http://openmetric.org/stories/cloud-engineer
<p>我还记得,九岁时的那天傍晚。粉红色的阳光照进大大的落地窗,那个小小的我就站在窗前发呆。粉红色的云彩,豌豆绿的院子,还有远处像西瓜瓤一样的山。从明天开始,云彩就会被太阳染成紫色,院子也会被死去的蓝色蝴蝶铺满,远方的那座山,就会开始藏起这秋天的气色,山顶也会开始积雪。可是明天的时候,我就已经离开这里,去开始另一种生活了。</p>
<p>那时候我住在爷爷奶奶的很大的房子里,房子前面还有很大的院子。我还记得院子里最有趣的就是奶奶种的高高的豌豆。每年到了夏天,豌豆便疯了一样冲上云霄,豌豆尖常常被淹没在云海之中。而夏天之中也总有那么几天,天空上的云朵变的那么稀少,纷纷散开,像是一团团开在天空上的棉花糖。于是有那么一种中午,我望着头顶一团团的棉花糖,突然想要尝尝它们的味道。这事情简直太简单了,我只需要抓住一朵云,然后大口吃掉,或者把云朵装进小瓶瓶小罐罐里,存起来吃一辈子。豌豆藤就是我的云梯,我一把抓住就往上爬,没多久云彩就把我整个罩住了,刺骨的寒冷突然包围而来。我试着张开嘴,却发现什么也吃不到,伸出手抓一把,才发现连自己的手也看不清,胡乱之中只是扯下来一些豌豆尖。我冻得手脚冰冷,全身发抖,心里想这一定要往下爬,低头却发现脚下的豌豆架都看不清了。</p>
<p>那天是奶奶拿着吹风机把云吹散了。一直到很多年之后,奶奶已经卧病在床,她还会说起我那天的蠢事。她说起那天晚饭的时候,爷爷用我扯下来的豌豆尖煮了面,我吃着面还不停地说香的很。我还记得那碗面,之后几十年的吃货生涯中,我自己做了数不尽的面,它们的味道在我精心调整的参数下变得越来越受一家人的欢迎,然而那晚的面,却依然能够稳居我心中晚餐排行榜的前十。吃过晚饭,在床上哭了一夜,第二天一大早,爸妈就过来接我回家,之后便开始了枯燥的读书生活。</p>
<p>学校是在山沟沟里一个研究所旁边,四周的山却是死气沉沉,比不过爷爷奶奶家五彩的山。每天都是听老师讲些莫名其妙的课,要是走神了盯着窗外看太久了,还会被点名教训。总之,每天都是这样毫无感觉的过着,直到我在学校里面遇到了那个喜欢树叶的圆圆。</p>
<p>圆圆的书包里随时都有各式各样的树叶。这些树叶会不停地变换着颜色,像是被施了魔法一样。那时候我总是想去翻一翻圆圆的书包,看看里面是不是藏了很多用来给树叶上色的颜料。可是随便翻别人的书包,那可是会被打死的。思来想去,不如用我的午饭来贿赂圆圆,没准她会看在好吃的午餐的份上让我往她的书包里看一眼。这是一个非常复杂的计划,我必须做好充分的准备。先要说服爸爸给我做出好吃的午饭,不仅要好吃,还要好看好闻,这样圆圆接招的可能性才更大。然后等中午吃饭的时候,我悄悄地坐到圆圆身边,接下来我只需要慢慢打开我的饭盒就好了。如果能拿到好吃的午饭的话,接下来的事情就像摘豌豆尖一样简单。可是爸爸总是一幅很冷酷的样子,每天工作回家就把自己锁在屋子里。想到这里,可真是头疼。或者,我去买冰激凌来给圆圆吃。</p>
<p>这个山沟沟里冰激凌可不是那么常见,最近的店面距离学校也有半个小时的脚程。第二天午饭的时候,我跑去冷饮店,在冰柜里面挑来挑去,终于找到了看起来很好吃的冰激凌。这里冰激凌简直贵的可怕,竟然一只就花光了我一周的积蓄。这样一来,我以后只好赚很多钱了,要不然冰激凌也吃不起。回教室的路上我口水直往外流,最后忍不住轻轻地舔了一下。有冰激凌吃也真是幸福。我一路跑到圆圆的座位,想跟她解释我要用冰激凌换她书包的秘密。我气喘吁吁地说呀说,说着说着突然注意到圆圆的脸好好看。我停下来看着她,也不说话,把冰激凌塞给了她。其实我不是很确定圆圆有没有明白我为什么要给她买冰激凌。唉,算了。</p>
<p>我也不知道为什么我对于这样一件小事情这么着迷。现在想想,可能是因为那时候上课总是觉得老师在讲枯燥老套的脱口秀,完全不知道学到这些又什么用处。每天回家之后,也不知道要做什么事情。日子单调无味,让我总是习惯性地去关注那些无所谓的小事情。我知道穿过学校门口的红绿灯需要十六秒,学校的门上一共有二十六颗螺丝,看门的大爷左手手心有个很大的疤痕,从校门走到教室需要恰好两分钟,教室东南角的房顶有个六厘米长的裂缝,教室地面上一共有五个不知道做什么用的小洞。我还知道圆圆的头发在周一早上整理地最整齐,圆圆一共有四种书包挂饰,圆圆的笔记本总是盖上不同的印章,这些印章对应着不同的科目。班里每个同学的呼吸声,脚步声,我都可以跟名字对应起来。</p>
<p>伟大的冰激凌计划失败以后,我很久没有思考过圆圆的魔法树叶之谜了。学校里的枯燥,家里的无聊,日子过得毫无波澜。九月里的某一天早上,圆圆走到我的座位前,把一张纸条拍在我的课本上。我打开纸条,上面写着:我放学应该等她一下。可是我为什么“应该”等她一下呢?从第一节课想到最后一节,实在想不明白。放学之后我就坐在座位上,等着所有的同学都离开。圆圆突然大声说,“我想把云彩染成七彩色。”</p>
<p>之后圆圆再也没有出现在学校。我开始在学校附近游荡,虽然也不知道自己在找什么。有一天晚上我怎么也不想回家,就沿着排水管爬到了教学楼顶。我躺了很久,月光把云彩照得洁白如玉,而云彩似乎发着光。我记起了圆圆离开学校前的那个下午。圆圆端坐着,也不回头看我。窗外云彩层叠着,白色的光从云的顶端照出来,一大片白玉一样的云菜浮在云层的最顶端,底下的乌云像是白玉的托盘,奇妙的光线让人看得出神。</p>
<p>童年过去之后,魔法就全部消失了。</p>
<p>之后我走上了一条少有人走的路,进入了南河城的行星大学,修了行星生态改造专业。然而由于专业成绩不够优秀,最后只能在一家广告公司做数据分析。自从离开家乡,一个人过得生活虽然不是凄凄惨惨,但是也是足够无趣了。我从来没有自己做过饭,家里厨房没有什么锅碗瓢盆油盐酱醋,公司食堂包揽了我的早午晚三餐。每天的工作就是在数据分析台前面站着,等着一波又一波的数据被送进来。</p>
<p>又是一个九月,我早上比之前早到公司,看到食堂还没有开饭,就坐在餐桌上随便翻着我自己的小画册。然后我听到了一个熟悉的名字:圆圆。那才猛地抬头,满心疑惑地看着这个名叫圆圆的人,似曾相识但是却又不敢确定。</p>
<p>今年的秋色分外美丽。十一年没有见过的圆圆,原来就在隔壁公司工作。虽然我从来没有搞懂过他们这家公司到底是什么业务,但是我知道圆圆是这家公司的首席设计师。圆圆每天驱使着一些工薪艺术家不停地创作一些实用的艺术,比如很文艺的广告牌,比如路边广场的艺术节挂饰。我们经常一起吃早饭,然后各自去各自的工作工作,晚饭去圆圆家或者我家,两个人一起做些独特而黑暗的零食吃。我的厨房就是这时候从储藏室变成真正的厨房。</p>
<p>这个城市最著名的景点,就是市郊的一座形状奇特的山,每当日落的时候,山会变成神秘的金色,金色之中还透出一些红色,很像是西瓜瓤,所以这山就叫做西瓜山。距离我跟圆圆的餐厅偶遇已经一年多,现在已是秋末,我跟圆圆来西瓜山上徒步。只不过不仅仅是徒步,我有一个伟大的冰激凌计划。</p>
<p>这些年来,我常常想起圆圆那天说的那句话,要把云彩染成七彩色。作为一个业余爱好,我每到周末都会尝试用无人机来给云彩涂上颜色,可是涂上颜色的那一点点小地方,也只能用望远镜才能看到。我后来想了又想,那可是需要成百上千的无人机的,颜料也不知道得用多少。所以我从来没有成功过,不过我却想到了另一个绝妙的主意。</p>
<p>我们走到了半山腰,山顶一侧乌云密布,而我们这一侧则是夕阳明媚。我转身正要给圆圆指出我用无人机雕刻出来的冰激凌云,却看到天空中有那样一朵独特的七彩晚霞,色彩不断地流动着,周围壮丽的晚霞变成了点缀。</p>
<p>我看着圆圆,正想问她彩色树叶的秘密。她把手指放在嘴边,悄悄地说:“是光照,不是颜料。”</p>
美丽新世界
2017-03-19T00:00:00+00:00
http://openmetric.org/sciencecn/exoplanet-and-life
<div class="notes--warning">
<p>本文在《百科知识》发表,不使用 CC 协议,禁止转载。</p>
</div>
<p>1897 年,法国画家保罗・高更失去了自己的女儿,贫病之中的他认为自己人生走到了尽头,于是画了著名的《我们从何处来?我们是谁?我们向何处去?》来对自己的人生作为总结。这样的三句话,从整个人类文明的角度来考虑,或多或少可以解释为:生命火种真的来自地球么?我们是宇宙间孤独的存在么?茫茫宇宙中还有没有我们可以居住的星球?</p>
<p>我们对行星的了解,曾经一度被限制在太阳系内。我们可以精确地计算太阳系内各个行星的轨道,可以用铅笔发现海王星。但是我们对太阳系内行星了解的越多,这样一个问题就会越来越重要:行星,真的只在我们的太阳系中才有么?早在十八世纪的时候,人们就已经尝试过去寻找太阳系外的行星了。只不过当时技术所限,找到系外行星在当时看来就成了遥不可及的梦想。而这个梦想,持续了近两百年。</p>
<p>直到 1988 年,Bruce Campbell 和他的合作者才发表文章,提到他们发现了一颗恒星受到了一些扰动,他们含蓄地提到了这个扰动可能是由于围绕恒星转动的行星造成的。虽然直到 2003 年其他的研究组才确认了这确实是一颗行星造成的,但是我们可以说,第一颗系外行星在 1988 年就探测到了。而 1995 年,人们确认了第一颗围绕主序星(例如太阳就是主序星)运动的系外行星,名为“飞马座51b”。第一颗行星竟然起名字叫做 b,天文学家果然也是喜欢给自己留有余地。在系外行星的命名系统中,总是从 b 开始的。这跟电脑硬盘总是从 C 盘开始有异曲同工之妙。</p>
<p>好事多磨,这之后的十多年间,并没有很多令人激动的关于系外行星的消息。然而再之后,随着各类技术的进步,尤其是 Kepler 卫星的发射,系外行星已经不再稀有。截至 2017 年三月,被确认的系外行星现在达到了三千多颗,并且有五百多个多行星系统。人们对系外行星的关注度也越来越高。2017 年 2 月,NASA 新闻发布会提到了位于宝瓶座内的 TRAPPIST-1 恒星竟然有 7 颗类地行星,其中有 3 颗位于距离其宿主恒星不远不近,如果有水的话,是可以以液体水形态存在的,也就是这三颗行星是可能孕育有类似地球上生命的地方。</p>
<figure>
<p><img src="http://openmetric.org/images/posts/exoplanet-and-life/PIA21429_-_Transit_Illustration_of_TRAPPIST-1_(cropped).jpg" alt="TRAPPIST-1 系统的七颗行星。公有领域图片,来自 NASA/JPL-Caltech" /></p>
<figcaption>
TRAPPIST-1 系统的七颗行星。公有领域图片,来自 NASA/JPL-Caltech
</figcaption>
</figure>
<p>越来越多的系外行星的发现,使得有些原来看起来很遥远的科幻,也突然变得亲切起来。毕竟人类未来第一个星际飞行的目的地,很可能就在现在的系外行星列表中。而原来看起来像是玄学一样的生命起源问题和宇宙中其他文明的问题,我们已经看起来远方的一线曙光。</p>
<h2 id="系外行星的探测">系外行星的探测</h2>
<p>行星每个人都很熟悉,脚下踩着的地球,就是一颗岩石行星,抬头看星空,有时候也会看到土星木星这些比地球大很多的气态巨行星。然而这些行星都是在太阳系以内,距离太阳最近的恒星是半人马座Alpha,光也要穿梭 4.37 年才能到达这么远的地方,如果是飞机的话,要五百万年才能到达。而实际上大多数恒星距离太阳要比这远得多。当我们仰望星空的时候,是没有可能直接看到这样遥远的太阳系以外的行星的。</p>
<p>那么使用望远镜呢?现在望远镜的种类其实非常多,有些望远镜的样子甚至可能完全超乎大家的想象。不过我们提到这个词的时候,大多是指的那种巨大的带着透镜或者反射镜的光学望远镜。使用光学望远镜探测系外行星的梦想,正如开篇所说,持续了接近两百年。而现在,直接通过光学望远镜看到系外行星的影像,已经早已实现。例如下图就是位于飞马座中的三颗行星的影像。</p>
<figure>
<p><img src="http://openmetric.org/images/posts/exoplanet-and-life/444226main_exoplanet20100414-a-full.jpg" alt="" /></p>
<figcaption>
使用海尔望远镜看到的三颗系外行星 HR8799 b, c 和 d。公有领域图片,来自 NASA/JPL-Caltech/Palomar Observatory
</figcaption>
</figure>
<p>然而通过这样的直接影像寻找系外行星并非容易。晚上开车的时候,往往难以看清对面开大灯的车辆的司机,因为车灯太过耀眼。类似的,看清楚紧紧挨着恒星的行星也非常困难,因为系外行星的亮度往往要比其宿主恒星暗十亿倍,而且距离宿主恒星又相对比较近。不过通过使用仪器遮住其宿主恒星等类似的方法,现在的望远镜还是可以看到行星的。新世界任务(New Worlds Mission)就是一个通过对恒星遮挡进行系外行星研究的项目。</p>
<p>虽然直接看到系外行星的影像非常困难,天文学家还是有各种个各样的方式来探测系外行星。主要有两种原理:第一种是当行星运行到其宿主恒星和我们地球之间的时候,恒星的光线会被行星遮挡,从遥远的地球看来,恒星像是突然变暗了,这种方法叫做掩星法;第二种是因为行星的存在,导致恒星在天空中位置有些很小的扰动,从而导致我们观测到的恒星的光谱出现一些变化,这种方法叫做径向速度法。</p>
<p>现在找到系外行星最多的开普勒卫星,就是利用的第一种方法,也就是掩星法。虽然原理听起来很简单,但是实际上操作起来非常困难,因为一颗地球大小的行星对恒星遮挡的时候,可能只产生万分之一的亮度降低。而且如果行星围绕恒星转动的平面垂直于我们的视线,那么行星运行过程中并不会对恒星进行遮挡,这种方法也是无效的。掩星法的另一个缺点是,如果行星围绕恒星的公转周期很长,可能我们对恒星观测了很久,却没有等到行星恰巧对恒星进行遮挡的时候,也就无从谈到恒星亮度的变化了。</p>
<figure>
<p><img src="http://openmetric.org/images/posts/exoplanet-and-life/Planetary_transit_zh.svg.png" alt="" /></p>
<figcaption>
当行星运行到恒星前面的时候,会遮住一小部分恒星,从而恒星的亮度会降低,这种亮度变化叫做光变曲线。修改自公有领域图片,原图来自 [Nikola Smolenski](https://commons.wikimedia.org/wiki/User:Nikola_Smolenski).
</figcaption>
</figure>
<p>第二种方法,径向速度法,也并非完美。所谓行星围绕恒星转动,其实是恒星和行星围绕它们共同的质量中心转动,只是因为恒星质量比行星大很多,两者的质量中心基本上靠近恒星的中心,所以恒星位置变化不明显。这就好比每次气急败坏想要把对方扔出去的时候,总会发现自己也会被甩开,如果对方体重比较大,那基本上就会变成自己被甩出去了。但是如果我们仔细地观测恒星的光谱,恒星这种微小的前后摆动,会在光谱上展现出来。光谱会发生变化的原因是多普勒效应。根据我们的日常生活经验,当开着警笛的车辆朝我们开过来的时候,音调往往会高一些,而当这辆车离我们远去的时候,音调往往会低一些。如果我们能够知道车辆停在我们身边的时候音调的样子,那么原则上我们就可以通过听警笛的声音来判断车辆到底是离我们越来越近还是越来越远,甚至还可以判断车辆的速度。类似的,恒星往前或者往后摆动的时候,它发出的光也会往更高频率或者更低频移动。我们可以根据这种移动来判断是否有系外行星。</p>
<p>当然,实际上用来探测系外行星的方法并不仅仅局限于上面提到了直接影像、掩星法和径向速度法。还有诸如观测行星的引力场带来的光线的变化等等方法。</p>
<h2 id="行星与生命">行星与生命</h2>
<p>在现在确认的几千颗系外行星中,最显著的特色就是系外行星多种多样。不管是大小,还是公转周期,还是行星密度,都是多种多样的。而多样性促使我们思考这样一个问题:我们的太阳系真的是独一无二的么?实际上并非如此,在系外行星中,有很多的多行星的恒星系,也有很多岩石恒星,在文章开始也提到了最近发现的 TRAPPIST-1 这颗恒星拥有七颗岩石行星,甚至有三颗是处在温度很温和的轨道上。</p>
<p>所有这些发现,实际上使得费米悖论变得更加重要:我们发现了这么多的行星,可是为什么我们还没有遇到外星人呢?他们都到哪里去了?1950年,费米听到别人提到外星文明的事情,他觉得很奇怪,就问了这样一个问题:那他们在哪里呢?当时费米问出这个问题的时候,我们并没有观测到太阳系之外的行星,在那样一个年代,这样的问题似乎只是一个趣味思辨题目。现在我们已经确认了几千颗系外行星,而且这些数字还在继续增长。时至今日,费米的这个问题越来越重要,如果有那么多的系外行星,有些可能成为生命的栖居地,甚至出现高等文明,那这些文明都在哪里呢?</p>
<p>或许在思考地球以外的高等文明以前,我们应该退一步思考一个更加基本的问题:我们发现的这些系外行星上可能有生命么?</p>
<p>我们并不能够列举出所有可能的生命形式,但是我们知道生命有一种已经成功的形式,那就是地球生命。如果系外行星具备多样性的话,很有可能生命也是多样的,更不用说文明了。所以天体生物学(Astrobiology)的努力的方向,也是多样的,当然最多的还是考虑类地生命和文明这样的范式。</p>
<p>现在用于评判一个行星是否(对类地生命)宜居,有很多不同的标准,而且新的标准也在不停的被提出。这些标准主要涉及内容,例如是否是像地球这样的岩石行星,温度是否可以存在液态水,是否拥有大气层,是否适合(类似地球上的)植被生长等。即便按照这些标准,有些系外行星也是跟地球很相似的。</p>
<p>行星大气的观测在这个问题中有很关键的地位,因为行星大气的观测提供给我们的信息非常丰富,通过观测它的光谱,我们可以了解行星大气的密度,成分,是否存在云层或者雾气或者海洋,甚至是否有类地文明。在如今的天体物理学杂志上,相关的论文数量非常多,说明这是一个非常热门的研究课题。这些研究主要的手段还是使用行星的光谱。例如系外行星运行到其恒星前面,这颗恒星的光会透过行星边缘的大气层被我们看到,由于不同的物质分子会吸收不同波长的光,我们观测到的恒星光谱就会因为这些吸收而不同,通过观测那些波长被吸收以及被吸收的强度,就可以推断大气中含有哪些分子以及有多少,从而断定其成分。预计于 2018 年发射升空的 James Webb 太空望远镜的其中一个任务,就是要对更多的系外行星进行更加精确的光谱分析。</p>
<p>而这其中最让人感到兴奋的是,由于有些特定的分子是很难在行星演化的过程中自行产生的,而在人类文明的工业活动中却很容易产生,所以通过追踪系外行星大气中这样的分子,我们就可以推算这颗系外行星是否有可能存在类似人类的工业文明。虽然这可能是在众多可能的文明类型中一个非常小的一个分支,但是这至少为我们提供了一个机会。Lin, Abad 和 Leob 三个人写了一篇论文讨论使用 Jame Webb 太空望远镜来追踪这类分子的可行性。他们选取的分子是四氟化碳和一氟三氯甲烷这类工业污染,因为这些分子比较容易从光谱中分辨出来。当行星运行到恒星前的时候,我们可以首先查看是否有水蒸汽、氧气和二氧化碳等传统的类地生物所需要的物质,然后我们可以检测是否有大量的甲烷和氮的氧化物,这可能是使用文明大量使用化石燃料的第一个迹象,在之后可以查看是否有气体的工业污染的迹象,例如四氟化碳和一氟三氯甲烷此类,这样通过逐步筛查,我们就可以初步估计某些系外行星是否有使用化石燃料的高等文明。当我们有足够的数据的时候,就可以分析这些具有生命的行星在宇宙中的分布,从而分析宇宙中生命的起源理论。</p>
<h2 id="隐藏地球">隐藏地球</h2>
<p>然而,通过上面的这些分析,我们会发现一个行星无时无刻在暴露自己的很多信息。这样我们就自然考虑到如何保护地球不被其他的文明探测到呢?虽然地球的信息可能是通过其他我们人类尚未能够探测的方式来暴露的,但是作为保护自己的第一步,我们要考虑如何才能使地球免于被上文提到的方法探测到。</p>
<p>来自哥伦比亚大学的 Kipping 和 Teachey 在一篇论文中讨论了使用激光来保护地球的方法。如果在遥远的地方,有一个文明正在使用掩星法来扫描星空,寻找系外行星,这时候我们只需要在每次地球运行到太阳和这个文明之间的时候,朝这个文明的方向发射适当强度和某些波长的光,就可以补偿地球对太阳光的遮挡,这样对方就不会探测到地球的存在了。论文作者估算如果使用激光的话,这样的装置的耗电量只需要一个小型核电站就足够了,从长远来看,这样的装置显然是可行的。同样的方法可以掩盖地球大气光谱中的一些分子的信息,通过向对方发射某些特定的波长的激光,就可以补偿地球大气中某些分子对特定波长的光的吸收。</p>
<p>这同时也从另一个方面提醒我们,如果我们在对系外行星进行观测的时候,发现了一些并不是十分自洽的情形,那么就需要考虑是否是对方在尝试使用一些方法来屏蔽我们的探测了。</p>
<h2 id="一个新的时代">一个新的时代</h2>
<p>我们正在一个巨大的历史事件的前夕,系外行星带给我们的,不仅仅是宇宙中的几颗行星,也不是新闻中的几幅人类对系外行星的艺术想象图,这更是一个促使我们思考的契机:我们在着茫茫宇宙中到底是什么样的地位,地球生命有着什么样的过去,人类文明的未来又该走向何方?</p>
<p>如果有一天,我们探测到了系外行星上的文明,我们知道他们的存在,却没有足够的能力透过遥远的星际空间告诉他们,或许他们也已经知道了我们的存在,却同样无法与我们传递信息。两个文明,中间隔着无法跨越的时空,这样孤独地各自生活么?</p>
关于圈子的一些自我反思
2017-01-31T00:00:00+00:00
http://openmetric.org/misc/about-groups-and-introspection
<p>圈子这个事物,真的很复杂。</p>
<p>最早接触的应该是豆瓣物理组。当时在豆瓣认识了一些人,在物理组及其他几个周边组形成了一个圈子。一开始玩得很开心,因为会从认识的人那里获得很多及时的正向反馈吧。但是后来就意识到当时做的事情,自己玩得很开心,其实对圈外的人有很大的破坏力,相信当时有一些在物理组发帖的人也感受到了这个小圈子的可怕之处。所以后来就换了一批人关注,换了一个环境,也不再在物理组发帖。</p>
<p>当时我觉得这是一种很好的策略,只有认识的人变得更有多样性,人才可以避免进入这种局部极值,才可以防止排外的行为。换句话说,我讨厌这种小圈子行为,也最还怕自己变成这样的人。我退出集智群,原因自然也是因为有人在自己的圈子里面做了我觉得恶心的事情,还在集智群演戏演的很好,看完戏我就觉得想吐了。</p>
<p>社群变大就会有各种各样的问题吧。人的问题在于,当外界观察一个社群的时候,常常会去关注这个社群里面的个体的行为。这样的观察方法是错误的,但是人终究是人,就会因为一个社群里面的个体的行为去外推到整个社群。所以我对于集智这个群体的判断受到了个体的影响,这是一个错误的判断。</p>
<p>当然,从个人的角度来看,远离这样自己不喜欢的人也是应该的,如果就个人利益而言,应该去思考对于自己来说,忍受自己不喜欢的人与自己从中获益这两个方面哪个有更大的力量。</p>
<p>如果排除掉一些道德标准。其实自己不喜欢,仅仅是因为 similarity 相差很远,这时候就算 popularity 高的人(节点),也要计算距离来考量是否要有关联。这是从个人的角度来思考这个问题。</p>
<p>我以前一直对于最高效率破坏信息在群体中的传播很感兴趣,也对于如何最高效率破坏一个社群很感兴趣。以前可能会觉得破坏掉一个 popularity 高的节点更有效。但是实际上这是一个动态过程。当这个节点被破坏掉之后,剩下的只要还有很多(popularityXsimilarity)距离很近的人,他们就会再形成社群。所以决定要敲除哪些个节点,例如 HR 应该挖掉竞争对手的哪些个人,并不是一个很简单的事情。这是从一个群体的角度来思考这个问题。</p>
<p>所以其实经常转换一些思路,结识新的人,或者重新思考跟周围的人的关系,对于防止变成那种自己讨厌的人很重要。现在而言,我会逐渐把社交的重心转到另一个方向。如果认真思考一下,其实身边有很多踏实思考的人,这些人是真正对自己发展有好处的人。不管是写文章,还是做科普,或者其他任何事情,目的都是要为自己的水平提高服务的,任何多余的复杂的东西上都不要浪费时间和经历。</p>
<p>我还需要告诫一下自己:一定要踏实,不要浮躁。我最近思考一下自己做的一些事情,太浮躁了。做事情东一锤子,西边一斧头,这是很错误的做法。如果有个东西认定了很重要,就做到底,不能做了一点就扔在一边。</p>
<p>我想起小时候我爹说过,他还怕我成为那种一瓶子不满,半瓶子晃荡的人。我现在就有成为这种人的趋势。要停下来。</p>
<p>Update: 2017-02-05</p>
<p>突然想到以前在另一个群里面,里面都是一些网红,然后就退出来了。一旦这样的圈子形成了,各种问题也就随之而来了。</p>
<p>附上最近一个事件<a href="https://www.zhihu.com/question/55421677">如何看待果壳网关于福岛核电站的辟谣?</a>,以及<a href="https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s/f6DzX4qydMlcTV843pGy6Q">辟谣:福岛核电站,情况真的变得“更加严重”了吗?</a></p>
什么样的生活
2016-12-07T00:00:00+00:00
http://openmetric.org/misc/the-life-you-want
<p>最近对自己的人生有了一些疑惑。想想几年前,我来这里读书的时候,还是觉得只要有科研做就很好,那时候也很开心,觉得学习新的东西是一件非常激动人心的事情,也在业余时间做了一些有趣的事情。然而自从过了 candidacy exam 之后,整个人的状态变化很大,我不再做有趣的事情,也不再关心学习这件事情本身,而是变得很急躁,每个项目都想着要去做论文出来,同时缓慢的进度也使得自己对自己越来越不自信。</p>
<p>我想我应该去寻找自己到底想要在科研中找到什么,或者想要成为什么样的人。不过现在想想,做科研真的像是一次朝圣的过程,并不是脚步往前,就会距离圣地更近。</p>
<p>在科研和学习这件事情上,我来到这个学校之前没有过一个导师,虽然也做过一些科研。因为我从一开始很自大,总是觉得自己理解事情的角度独一无二。读本科的时候同学这样评价我,觉得我能够看到问题背后的原因。后来明白本科算个屁,因为本科解决了一些简单问题就觉得自己了不起真是井底之蛙。实际上也是每个人看待问题都是独一无二的,并无伯仲。自大的后果就是,觉得自己不能够听从别人的意见。关于不能够听从别人意见这件事情,其实高中老师就已经向我指出来了。高中物理老师曾经跟我说,我每次跟他讨论的时候,并没有在认真去理解他,而是时刻竖着耳朵去在他的话里面寻找漏洞,以用来反驳。这是真的。</p>
<p>摒弃对别人的偏见,是我做的第一件事情。在反思一些不愉快的讨论经历之后,我逐渐能够把自己放置在最普通的位置上,去理解别人的想法。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>身边的人对我的评价也是觉得我变化很大,大概是变得不再傲慢了。然而后来我逐渐意识到,原来的时候我会很积极地去学习新的东西,那时候去争论是我最有效的学习方式。</p>
<blockquote>
<p>正确的讨论方式对学习很重要,后来的一些经验让我觉得用正确的心态讨论问题并且知道讨论的目标,对于学习至关重要。当然能够遇到一个可以讨论问题的人,也是人生之幸。</p>
</blockquote>
<p>于是开始培养自己独自学习的能力。我从小到大,一直都不喜欢看书。内心浮躁,不能够真的安心去学习,原因是每次读到自己不懂的地方就无法进行下去。读本科的时候,有一次跟辅导员聊天,说道自己每每读到不能理解的地方就很难跨过去,总是会去在一个地方纠结。这个问题之所以在本科才会体现出来,我觉得应该是从高中那种刻板的教材到大学这种开放式以及内容更加密集的教材转变的结果。可能很多人都会在人生的某个阶段经历类似的事情,我其实觉得自己一直没有解决这个问题。我读书还是一如既往的慢和低效率。没有外界推动的时候,也还是不怎么爱读书。同时我发现了如果可以换成话题主导的学习方式,就会很高效,而且很积极。所以后来就会针对一个主题来学习,并且开始写总结笔记。<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup></p>
<p>到这一阶段,我觉得自己一直在努力缓冲自己的一些缺点对学习带来的负面影响,但是并没有消除这些缺点。</p>
<p>之后就是科研阶段,兴趣非常散,做完一个小的项目就扔在一遍,并不会再去审视思考,把很多精力花费在无用的事情上,等等诸多问题,导致我并没有真的完成一篇文章,做了很多工作,都零零散散。用现在老板的话说,就是并没有走 path of least resistance. 我觉得这是对我非常正确的评价。</p>
<blockquote>
<p>为什么要走 path of least resistance?因为人生有限,PhD 时间有限,在木板上随机钻孔的行为是非常不明智的。</p>
</blockquote>
<p>兴趣收敛,是我来到现在的学校之后做的事情。意识到自己能力有限时间有限,就只能选择性的学习和做事情。有效果么?可以说有,也可以说没有。效果就是看起来我不是那么忙了,同时也能够完成应该做的事情,然而对于科研有积极影响么?我不知道,也许没有吧。</p>
<p>以前的时候总是觉得宇宙、时空这些东西才是有趣的课题,凝聚态太复杂了自己做不了。现在的我会觉得很多物理问题都很有趣,很多问题并不为大众所了解,但是其重要性完全不亚于所谓的宇宙演化。<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup></p>
<p>最近经历了一次心情的低估。刚刚完成上一个项目,但是下一个项目还没有进入到激动人心的阶段。一如既往地,女朋友给我分析的很透彻。我从她那里学到了归因这个事情。</p>
<p>首先要说,我对自己的评价是这样的:</p>
<ol>
<li>不聪明;</li>
<li>不勤奋;</li>
<li>兴趣广泛;</li>
<li>并不一定要留在科研这条路上;</li>
<li>将来如果自己能够作出什么成绩,很可能不是在自己的领域;</li>
<li>对自己未来没有什么期望。</li>
</ol>
<p>所以每次我遇到挫折的事情,我的内心独白就是:</p>
<ol>
<li>反正我不聪明,这个事情做不来也不怪我;</li>
<li>我也不勤奋,在这个事情上没有花费很多事情,做不出来也无所谓;</li>
<li>我在其它不是自己专业的事情上有很厉害的想法,自己领域的东西做不出来也无所谓;</li>
<li>反正做不好科研就做别的;</li>
<li>正如第三条所说,我志不在物理;</li>
<li>反正自己是个平凡的人,在没有教育的农村长大,父母没有文化更没钱,从小没有接受所谓的素质教育,反正我就这样平凡好了。</li>
</ol>
<p>虽然写出来很搞笑,可是我心里真的是这样想的。这些想法作为一个对我失败的缓冲,可以让我能够看似坦然面对一些失败。可是这样的归因,反过来对我的人生影响非常大。我想最近的例子,就是当时申请学校,如果我真的认真准备 GRE 和托福,我真的不能去一个很好的学校么?是应该的,正如别人对我的评价,GRE+托福跟我的 GPA 太不相称了。为什么我就心甘情愿来了这里呢?而且来了之后还告诫自己说,来这样的学校也许可是适合自己发挥吧。因为当时考得不好,就用这些想法来安慰自己,接受了这样的结果。当然也可能当时只是想要逃离过去的生活以及没钱,可是这些不是很容易解决的问题么。</p>
<p>这样的归因,以及对自己的贬低,可以让自己很自然的去接受一些失败。然而这是错误的方法,之所以被我会使用这样的方法,是因为这样做很容易。人总是这样不是么?不小心就掉进来一个极小值的坑,却再也看不到那个真正的全局最小值。这样的一个错误的归因方法,使得不过我用了多少方法来缓冲或者利用自己的缺点,都不在有效。</p>
<p>所以我希望将来的我,能够真正的正确地把自己摆在合适的位置:</p>
<ol>
<li>我确实聪明,至少不笨;</li>
<li>我很勤奋,正常工作的时候,早十点到晚十点;</li>
<li>自己的行当做的好,才能够在其它行当有更好的想法<sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>;</li>
<li>在 PhD Candidate 这个位置上,就应该做好 PhD Candidate 应该做的事情;</li>
<li>没有什么平凡不平凡,自己的成长比功名利禄要更能够让自己满足。</li>
</ol>
<p>所以我如果遇到挫折,我希望将来我能够思考做过的事情本身,而不是把责任推在自己不能或者不愿意改变或者引以为豪的事情上,这样做对于自己的成长毫无帮助,甚至会让自己一辈子蹲在舒适的极小值里面,不愿意看到人生更大的愿景。</p>
<blockquote>
<p>我觉得我人生最幸福的事情,或者最幸运的事情,就是遇到了一个这样一个对我关心帮助,还会在我低落的时候用理性推我一把的人,这种对于人生的积极的影响,是我一生受益的。真的很美好。</p>
</blockquote>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>同时我也对于人生有了新的感触,觉得整个社会才是真正的生命,就像盖亚一样,整个社会的智能才是人类前进的原因,而不是每个人的智能,一个合理设计的社会结构,比一些智能的个体更加重要。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>这些笔记形式换了很多种,最新的是用 sphinx 来做成网页+PDF,也还一直在更新。 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>在写这篇文章之前,我并没有真的去想过自己的这个变化,当文章写到这里的时候,我才突然意识到。 <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:4" role="doc-endnote">
<p>我越来越觉得这件事情很重要,回想一下我能够有一些创新性的点子的时候,大多是因为自己做本职工作很成功很开心的时候。 <a href="#fnref:4" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
Modeling Technology Evolution
2016-11-18T00:00:00+00:00
http://openmetric.org/science/modeling-technology-evolution
<ul id="markdown-toc">
<li><a href="#the-exponential-development-of-technology" id="markdown-toc-the-exponential-development-of-technology">The Exponential Development of Technology</a></li>
<li><a href="#modeling-destruction-and-everything-else" id="markdown-toc-modeling-destruction-and-everything-else">Modeling Destruction and Everything Else</a></li>
</ul>
<h2 id="the-exponential-development-of-technology">The Exponential Development of Technology</h2>
<p>Ray Kurzweil has <a href="http://www.kurzweilai.net/the-law-of-accelerating-returns">an idea</a> that technology itself is driving technology itself forward. That being said, more technology leads to even more of that. And he named this idea <strong>The Law of Accelerating Returns</strong> <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.</p>
<p>In some sense, this idea is not that surprising. Here is the reason. To build a very very simple toy model of the amount of technology invented at time $t$, we assume that the rate of new technology is proportional to the amount of technology we have now, i.e.,</p>
\[\begin{equation}
\frac{\mathrm d N(t)}{\mathrm dt} = C\cdot N(t),
\end{equation}\]
<p>where $N(t)$ is the amount of technology human has at time $t$. Any trained student could simply write down the solution in one second, which is</p>
\[N(t) = \exp\left( C t \right) + \text{Constant}.\]
<p>We have added this constant for the convenience of translation of data. Yes, the amount of technology is popping out <strong>exponentially</strong>.</p>
<p>How do we verify this? The first idea came to me is through the number of patents. The best environment for technology, I assume , is the United States. The data can be found at <a href="http://ipstats.wipo.int/ipstatv2/editIpsSearchForm.htm?tab=patent">WIPO</a></p>
<figure>
<p><img src="http://openmetric.org/assets/posts/modeling-technology-evolution/patentUSAPlt.png" alt="" /></p>
<figcaption>
<p>Granted patent for USA during 1980-2013. The fitting formula is $e^{0.36 t}+1.13\times 10^5$. Data source: <a href="http://ipstats.wipo.int/ipstatv2/editIpsSearchForm.htm?tab=patent">WIPO IP Statistics Data Center</a></p>
</figcaption>
</figure>
<p>Just for comparison, we also fit the data for China.</p>
<figure>
<p><img src="http://openmetric.org/assets/posts/modeling-technology-evolution/patentChinaPlt.png" alt="" /></p>
<figcaption>
<p>Granted patent for China during 1985-2013. The fitting formula is $e^{0.43 t}+2.53\times 10^4$. Data source: <a href="http://ipstats.wipo.int/ipstatv2/editIpsSearchForm.htm?tab=patent">WIPO IP Statistics Data Center</a></p>
</figcaption>
</figure>
<p>Unfortunately I did not bother to find patent data earlier than 1980.</p>
<h2 id="modeling-destruction-and-everything-else">Modeling Destruction and Everything Else</h2>
<p>Well, you could say the model doesn’t fit the data well very. This is pretty much expected. What we have been talking about is an ideal society for technology. None of these two countries provided the best society for technology growth. How is the destruction of technology modeled?</p>
<p>Master equation for sure! In statistical mechanics, master equation provides a tool to describe the state transfer from one to another. In principle we could also apply a similar method to the growth of technology. However, I have found it very tedious and not providing simple pictures for the understanding of the technology growth.</p>
<p>What else could one do? I got this intuition that the appearance of a new technology might depend on any technology we have created before. That is, the appearance probability of a new technology depends on some technologies of the past. This reminds me of the population activity in neuroscience <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>.</p>
<p>Suppose we denote the amount of technology that appeared at time $t$ as $N(t)$, again. In general, the equation we should have is</p>
\[\begin{equation}
N(t) = \int_{-\infty}^t K(t\vert t') N(t') dt',
\end{equation}\]
<p>where $K(t\vert t’)$ is the kernel of the convolution.</p>
<p>This new model really covers what we have before as a simple exponential growth model. The reason is the following.</p>
<p>For $K(t\vert t’)\sim C\delta(t-t’)$, which means the new technology depends only on the most current appearance rate of technology, the model falls back to the exponential growth case.</p>
<p>We could also imagine that for a very narrow kernel, the amount of technology grows <strong>almost</strong> exponential. On the other hand, a broad kernel leads to a very wide depend on the past growth. This actually includes the effects of the economy history, as well as other possible factors. The reason is that we expect the number of technology depends on economy and we have already set the amount of technology at time $t$ to depend on the past $t’$. Destruction effect is also packed and loaded.</p>
<p>To find out what kind of kernel fits the data well, we probably have to guess. Meanwhile, I am starving and need some food.</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p><a href="http://www.kurzweilai.net/the-law-of-accelerating-returns">The Law of Accelerating Returns</a> by Ray Kurzweil. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p><a href="http://icwww.epfl.ch/~gerstner/SPNM/node44.html">Population Equations</a> of the book <em>Spiking Neuron Models. Single Neurons, Populations, Plasticity</em> by Gerstner and Kistler. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
A PhD's Idea
2016-11-14T00:00:00+00:00
http://openmetric.org/misc/phd-idea
<div class="mermaid">
graph TD;
s1(An Idea)-->d1{Did the PhD find this idea in the literature?};
d1{Did the PhD find this idea in the literature?}-->|Yes|b1(Fail);
d1{Did the PhD find this idea in the literature?}-->|No|b2[Weeks of work];
b2[Weeks of work]-->b1(Fail);
</div>
幽灵盖娅
2016-10-26T00:00:00+00:00
http://openmetric.org/misc/ghost-gaia
<h2 id="collective-behavior">Collective Behavior</h2>
<p>There are collective lives.</p>
<p>关于人类社会中存在的一个不可见智慧的内容。这些内容都未被证明,而我个人只是因为好奇才开始写这些。</p>
<p>在跟吴令飞讨论的时候,他提到了几篇文章,然后建立了一个计算和社会系统的演化/或者说网络的演化跟逻辑运算之间的关系。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></p>
<ol>
<li>人类没有自由意志。
<ol>
<li><a href="http://books.google.com/books?id=_SwX4yBwiCIC&dq=daniel+wegner+illusion+of+consciousness&lr=">The illusion of consciousness will</a> By <a href="https://en.wikipedia.org/wiki/Daniel_Wegner">Daniel Wegner</a>.</li>
<li><a href="http://phys.org/news186830615.html">popular science about free will @ Phys.org</a></li>
<li><a href="http://www.pnas.org/content/107/10/4499">The Lucretian swerve: The biological basis of human behavior and the criminal justice system</a></li>
<li><a href="http://www.ted.com/talks/dan_dennett_on_our_consciousness">A Ted Talk</a></li>
<li><a href="http://mind.oxfordjournals.org/content/108/432/705.short">Phenomenal consciousness: the explanatory gap as a cognitive illusion</a></li>
</ol>
</li>
<li>“孩童之时,所言俱为孩童,所感知是孩童,所思亦复孩童,唯成年之后,便将童心摈弃。”(攻壳机动队 2.0)</li>
<li>个体不过是演化的道具,是信息的节点和载体,是演化为了达到某个目的而保留的一段信息。</li>
<li>你并不是你,而是一个被世界的其他部分塑造起来的工具。</li>
<li>“你我犹如隔镜视物,所见无非虚幻迷蒙。” (攻壳机动队 2.0)</li>
<li>在你我之上,存在另外的生命,幽灵盖娅 (Ghost Gaia)。</li>
</ol>
<p>问题:</p>
<ol>
<li>关于自由意志
a. 所谓的自由意志如何自发产生?</li>
</ol>
<h2 id="关于稳定性">关于稳定性</h2>
<p>起点:</p>
<ol>
<li>Basketball statistics and random motion</li>
<li>http://www.nature.com/news/intelligent-robots-must-uphold-human-rights-1.17167</li>
</ol>
<p>这导致我去思考这样一个问题:How does nature balance the world?</p>
<p>这可能是一个长期的挑选的(甚至人择原理)的过程吧,因为不稳定无法平衡的系统也不会很久的存在,可能出现智慧的几率小。那么现在我们的已经存在了这么久的自然是如何平衡的呢?</p>
<p>我现在很怀疑这是一个类似篮球运动的中的随机运动。但是具体怎么回事需要继续思考。</p>
<p>但是,如果我们真的理解了复杂系统的细致平衡性/稳定性问题,那么我们可以找到比现在的自然更加有效的方式,或者说,我们可以扩展原来自然的方式,使其能够容纳一个新的成分:有智慧的机器人。</p>
<h2 id="关于遗传演化">关于遗传演化</h2>
<p>在看遗传算法,突然想到《达尔文电波》。我们的自然界到底有那种开关么?关掉开关,物种就挤在当前最优化的选项(没有多样性,大家都很幸福),当环境发生了变化,当前不再是最优化,打开开关,开始多样性演化,物种的存活几率增加,当再次达到最优的时候就关掉开关。</p>
<h2 id="关于智能">关于智能</h2>
<h3 id="connectomes">Connectomes</h3>
<ol>
<li>Connectome is complete map of a neural system. In history, the connectome of nematode was built completely.</li>
<li>曾经有这样一个很令人疑惑的问题:一个大脑怎么能够尝试去完全理解大脑本身呢?是的,一个大脑去完全理解这个大脑本身,是极其困难的事情,因为如果把大脑看做神经网络,其中带有的N参数来完全描绘这个 N 个参数的系统,只有一套确定的解。然而,我们人类作为一个社会,每个人的大脑的神经网络又通过各种各样的方式联系起来,形成一个更大的智慧网络。用这样一个整合起来的网络去理解一个人的大脑网络,其实是并不是不可能,因为我们整个人类智慧比单个人的智慧要有着多得多的自由度。用整个智慧去获得一个单一大脑的网络结构,显然是可行的。然而即便这个结果出来,我们也很可能无法完全去让一个单一的大脑去完备的理解结果。但是有了机器的帮助,我们只需要理解上层的结果。</li>
<li>一个人工神经网络可以完全理解其自身么?这就是等价于解出所有的参数,虽然是可以解的,但是显然我们无法写出一套解析解。</li>
<li>我们有了一套完整的 connectome ,那么就应该开始用计算机来重建这个 connectome。例如这一套:<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3033362/">https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3033362/</a> . 不过问题在于,我们只知道这套网络的结构,却不知道这套网络的参数,因为我们不知道 synapse 处的连接强度。</li>
<li>人类科学知识在做近似,这点大家都清楚。然而 connectome 提供了另外一个角度来看这个问题。人类整个的智慧网络的自由度,最多只能来精准获得这个网络本身这么多的信息。然而去完全准确的理解世界,除了去理解这些之外,我们还要用这个网络去理解这个网络之外的那么庞大的信息,显然是不能精确解的,因为是自由度不够。
然而,a. 我们无需完全精确的去理解世界,我们只需要去足够好的近似。b. 我们有各种各样的工具,这些工具提供给人类很大的帮助,可以让我们在理解整个宇宙这条路上走得更远。善用工具。</li>
</ol>
<h2 id="关于世界的本质">关于世界的本质</h2>
<p>2015-03-30</p>
<p>与@计算士的讨论中,他提到了一点,也许我们的世界不是用微分方程工作,而是用其他方式。</p>
<p>那么,也许我们不应该用方程,而是用 Neural Network,看到网络的结构,就知道了一个自然界的行为。
然后直接去看网络结构太麻烦了。所以我们应该找一个方法来从 Neural Network 中看到一些重要想信息。</p>
<p>这个方法,也许应该从统计物理中找。比如重整化,粗粒化?经过一个粗粒化的过程,我们可以看到更多重要的信息。(Neural Network and renormalization group 已经有这样的工作了)</p>
<p>这是一个很有趣的事情。人的大脑在千万年的演化中,有了一些出生就有的结构,或者说本能。这些本能有着非常清晰的后果。那么在一个人工训练出来的神经网络里面,这些结构是什么样的呢?如何从这些结构里面获得一些有用的信息?就像我们现在做神经科学做实验做解剖一样。</p>
<p>所以我们可以这样设立一个目标,去理解网络结构,而不是去理解方程。至于如何去理解网络结构,这是一个很难的问题。但是值得思考。</p>
<p>当然,最终极的目标是,make predictions! 如何依据现有的东西做出预测。</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p><a href="http://www.dwavesys.com/sites/default/files/weightedmaxsat_v2.pdf">The Ising model: teaching an old problem new tricks</a>, <a href="https://arxiv.org/abs/cond-mat/0402349">Detecting Fuzzy Community Structures in Complex Networks with a Potts Model</a>, <a href="https://arxiv.org/abs/cond-mat/0603718v1">Statistical Mechanics of Community Detection</a>. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
Writing a Paper
2016-07-15T00:00:00+00:00
http://openmetric.org/science/writing-a-paper
<ul id="markdown-toc">
<li><a href="#reference" id="markdown-toc-reference">Reference</a></li>
<li><a href="#questions-to-self" id="markdown-toc-questions-to-self">Questions to Self</a></li>
<li><a href="#procedure" id="markdown-toc-procedure">Procedure</a> <ul>
<li><a href="#outlines" id="markdown-toc-outlines">Outlines</a></li>
</ul>
</li>
</ul>
<h2 id="reference">Reference</h2>
<ul>
<li><a href="http://dx.doi.org/10.1002/adma.200400767">Whitesides’ Group: Writing a Paper</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Elements_of_Style">The Element of Style</a></li>
</ul>
<h2 id="questions-to-self">Questions to Self</h2>
<ul>
<li>Why this research?</li>
<li>What hypothesis if any?</li>
<li>What methods?</li>
<li>What results?</li>
<li>How good are the results?</li>
</ul>
<h2 id="procedure">Procedure</h2>
<p><strong>Start writing during the research, as soon as the basic structure is clear.</strong></p>
<h3 id="outlines">Outlines</h3>
<p>The first step is to formulate outlines.</p>
<ol>
<li>List all hypothesis, points, data, results, and many more, on a piece of paper.</li>
<li>Organized them into some storyline.</li>
<li>For each part of the story, try to put in some simple details. (No need to write abstract at this point.)</li>
<li>Hand them to advisor and get feedback. Repeat untill everyone agree on the outline.</li>
</ol>
<p>I love this part of the paper:</p>
<blockquote>
<p>Do not, under any circumstances, wait until the collectionof data is “complete” before starting to write an outline. Noproject is ever complete, and it saves enormous effort andmuch time to propose a plausible paper and outline as soon asyou see the basic structure of a project.</p>
</blockquote>
<figure>
<figcaption>
Outline Template
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-outline/how-to-outline.png" alt="" /></p>
</figure>
<p>The TeX code for this template is shown below.</p>
<figure class="highlight"><pre><code class="language-tex" data-lang="tex"><span class="k">\documentclass</span>[<span class="c">%</span>
reprint,
amsmath,amssymb,
aps,
]<span class="p">{</span>revtex4-1<span class="p">}</span>
<span class="k">\usepackage</span><span class="p">{</span>graphicx<span class="p">}</span><span class="c">% Include figure files</span>
<span class="k">\usepackage</span><span class="p">{</span>dcolumn<span class="p">}</span><span class="c">% Align table columns on decimal point</span>
<span class="k">\usepackage</span><span class="p">{</span>bm<span class="p">}</span><span class="c">% bold math</span>
<span class="nt">\begin{document}</span>
<span class="k">\title</span><span class="p">{</span>How to Write an Outline<span class="p">}</span><span class="c">% Force line breaks with \\</span>
<span class="k">\thanks</span><span class="p">{</span>Notes of <span class="k">\em</span><span class="p">{</span>Whitesides' Group: Writing a Paper<span class="p">}</span> <span class="p">}</span><span class="c">%</span>
<span class="k">\author</span><span class="p">{</span>Determine the authors<span class="p">}</span>
<span class="nt">\begin{abstract}</span>
Do not write abstract until the end.
<span class="nt">\end{abstract}</span>
<span class="k">\maketitle</span>
<span class="k">\section</span><span class="p">{</span><span class="k">\label</span><span class="p">{</span>introduction<span class="p">}</span>Introduction<span class="p">}</span>
Introduction should be written down during the outline phase.
<span class="nt">\begin{enumerate}</span>
<span class="k">\item</span> Objectives
<span class="k">\item</span> Motivation
<span class="k">\item</span> Background
<span class="k">\item</span> Highlight: What should the reader pay attention to?
<span class="k">\item</span> Summary: What should the reader expect as a conclusion?
<span class="nt">\end{enumerate}</span>
<span class="k">\section</span><span class="p">{</span><span class="k">\label</span><span class="p">{</span>background<span class="p">}</span>Background<span class="p">}</span>
<span class="k">\section</span><span class="p">{</span><span class="k">\label</span><span class="p">{</span>results<span class="p">}</span>Results and Discussions<span class="p">}</span>
<span class="nt">\begin{itemize}</span>
<span class="k">\item</span> Collect the key points and results.
<span class="k">\item</span> Place figures and plots in the right order.
<span class="k">\item</span> Show important results first.
<span class="nt">\end{itemize}</span>
George Whitesides addressed some writing styles.<span class="k">\cite</span><span class="p">{</span>Whitesides2004<span class="p">}</span>
<span class="nt">\begin{enumerate}</span>
<span class="k">\item</span> Put a noun right after the word <span class="k">\em</span><span class="p">{</span>this<span class="p">}</span>.
<span class="k">\item</span> Experimental results always past tense.
<span class="k">\item</span> When comparing, put the two objects being compared explicitly in one sentence.
<span class="nt">\end{enumerate}</span>
<span class="k">\section</span><span class="p">{</span><span class="k">\label</span><span class="p">{</span>conclusion<span class="p">}</span>Conclusion<span class="p">}</span>
<span class="nt">\begin{itemize}</span>
<span class="k">\item</span> Do not repeat what is in the results section.
<span class="k">\item</span> Higher level discussions.
<span class="k">\item</span> Show significance of this paper.
<span class="nt">\end{itemize}</span>
<span class="k">\medskip</span>
<span class="nt">\begin{thebibliography}</span><span class="p">{</span>9<span class="p">}</span>
<span class="k">\bibitem</span><span class="p">{</span>Whitesides2004<span class="p">}</span>
Whitesides, G. M.
<span class="k">\textit</span><span class="p">{</span>Whitesides' Group: Writing a Paper<span class="p">}</span>.
Advanced Materials, 16(8):1375--1377, 2004.
<span class="nt">\end{thebibliography}</span>
<span class="nt">\end{document}</span></code></pre></figure>
Popularity and Similarity
2016-07-02T00:00:00+00:00
http://openmetric.org/science/popularity-similarity
<ul id="markdown-toc">
<li><a href="#background-of-networks" id="markdown-toc-background-of-networks">Background of Networks</a> <ul>
<li><a href="#concepts" id="markdown-toc-concepts">Concepts</a></li>
<li><a href="#scaling-in-networks" id="markdown-toc-scaling-in-networks">Scaling in Networks</a></li>
<li><a href="#popularity" id="markdown-toc-popularity">Popularity</a></li>
<li><a href="#similarity" id="markdown-toc-similarity">Similarity</a></li>
</ul>
</li>
<li><a href="#popularity-and-similarity-together" id="markdown-toc-popularity-and-similarity-together">Popularity and Similarity Together</a></li>
<li><a href="#variations-and-emergent-models" id="markdown-toc-variations-and-emergent-models">Variations and Emergent Models</a></li>
<li><a href="#some-math-about-hyperbolic-space" id="markdown-toc-some-math-about-hyperbolic-space">Some Math about Hyperbolic Space</a></li>
<li><a href="#questions" id="markdown-toc-questions">Questions</a></li>
<li><a href="#misc" id="markdown-toc-misc">MISC</a></li>
<li><a href="#references-and-notes" id="markdown-toc-references-and-notes">References and Notes</a></li>
</ul>
<p>Notes of <a href="http://doi:10.1038/nature11459">Papadopoulos, F., Kitsak, M., Ngeles Serrano, M., Boguñá, M., & Krioukov, D. (2012). Popularity versus similarity in growing networks. </a></p>
<h2 id="background-of-networks">Background of Networks</h2>
<p>Why are we interested in networks? Because a enormous categories of phenomena can be modeled using networks. Internet, society, physics, biology, ecology, economy, even the evolution of the universe are essentially networks.</p>
<h3 id="concepts">Concepts</h3>
<ul>
<li>Degrees</li>
</ul>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/directed-degrees.svg.png" alt="" /></p>
<figcaption>
<p>Degrees. Source <a href="https://en.wikipedia.org/wiki/File:DirectedDegrees.svg">wikipedia</a>.</p>
</figcaption>
</figure>
<h3 id="scaling-in-networks">Scaling in Networks</h3>
<p>People have found a lot of scaling phenomena in networks.</p>
<ul>
<li>Internet links (directed links):</li>
</ul>
<p><a href="https://arxiv.org/abs/cond-mat/0008465">arXiv:cond-mat/0008465</a> for the scaling in internet links. What they find is that the distribution of degrees is power-law, i.e., $P\propto k^{-\gamma}$ with $\gamma\sim 2$. <a href="https://arxiv.org/abs/cond-mat/0009090v1">arXiv:cond-mat/0009090</a> provides a better explanation. The explanation is simply popular is more attractive.</p>
<ul>
<li>Barabasi et al found that in random networks, scaling appears also <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">1</a></sup>.</li>
</ul>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/barabasi-scaling-random-networks.png" alt="" /></p>
<figcaption>
<p>Scaling of connectivities. Barabasi (1999).</p>
</figcaption>
</figure>
<ul>
<li>And some theories like <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">2</a></sup>, etc.</li>
</ul>
<h3 id="popularity">Popularity</h3>
<p>In the example of internet links, popular is attractive can be modeled by a dynamic generation of network following some rules.</p>
<ol>
<li>At each step we have $m$ links distributed.</li>
<li>
<p>The probability of attaching to some node with degree $k_i$ is</p>
\[P_i \sim k_i + A\]
<p>where $A$ serves as a initial attractiveness since it tells us the probability of attachment when the degree $k_i=0$.</p>
</li>
</ol>
<p>Dorogovtsev et al proved that this model gives us the final distribution of degrees</p>
\[P \propto k^{-\gamma},\]
<p>where $\gamma=2 + A/m$ <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">3</a></sup>.</p>
<h3 id="similarity">Similarity</h3>
<p>The problem about popularity is that we are all aware that popularity is not the only factor.</p>
<p>Consider the following examples.</p>
<ol>
<li>You write a blog about neuroscience. In the past people usually put links on the blog, which is called blogroll or something. In the links, what you would include is something like facebook, google, maybe nature/science, and most likely some blogs or resources about neuroscience eventhough these websites may not be very popular. However, these links have similar contents as yours.</li>
<li>We could also check the link you used in your articles and they are very likely to point to some websites that is also neuroscience.</li>
</ol>
<p>In some cases similar is also important.</p>
<h2 id="popularity-and-similarity-together">Popularity and Similarity Together</h2>
<p>What we would expect is that larger popularity and small similarity (more similar) are the preferable connections. Thus competitions between the two determines the overall connection probability.</p>
<p>To combine the two factors, we use the metric $\mathrm{Popularity}\times \mathrm{Similarity}$. Even though there is a competition between popularity and similarity, small values of $\mathrm{Popularity}\times \mathrm{Similarity}$ are more preferable connections, which takes similarity more seriously.</p>
<p>A simple model to demonstrate this is to build a space of disc. The radius is time $t$, while angles are the measure of similarity. A smaller angler distance indicates a smaller similarity. Using this mapping, we are able to show the dynamics of networks, since we can tell the history of the nodes.</p>
<p>Mathematically speaking, the similarity is measured as</p>
\[\begin{equation}
\theta_{ij} = \lvert \theta_i - \theta_j \rvert.
\end{equation}\]
<p>while time is the radius with $t=0$ at the center of the disc.</p>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/disc-of-similarity.png" alt="" /></p>
<figcaption>
<p>Disc of similarity. This figures shows the measure of similarity. 2 & 3 are more similar, given the fact that their angular distance $\lvert\theta_2-\theta_3\rvert$ is smaller that either $\theta_2-\theta_1$ or $\lvert\theta_3-\theta_1\rvert$. Papadopoulos et al (2012).</p>
</figcaption>
</figure>
<p>Now we are going to dynamically generate a network. The updating rules are listed bellow.</p>
<ol>
<li>We create a node at each time step and label them with numbers. For example, node 3 means it was created at time step 3. We denote the time of the $i$th node as $t_i$ and its angle on the disc as $\theta_i$.</li>
<li>As the node $i$ is created at time $t_i$, it is connected to $m$ previous nodes.</li>
<li>The node $i$ is connected to node $j$’s if $t_j\theta_{ij}$ are the smallest. In this measure $t_j$ is the popularity of node $j$ and $\theta_{ij}$ is the similarity of the two nodes.</li>
</ol>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/disc-popularity-similarity.png" alt="" /></p>
<figcaption>
<p>Illustration of the disc model. The radial coordinate measure the creation time of the node, while the angular distance measures the similarity.</p>
</figcaption>
</figure>
<p><strong>The key transformation of this problem</strong> is to define a new radial coordinate system $r =\ln t$, so that the distance becomes log scale. Then we define the disc to be on a hyperbolic space so that the distance between any two points is calculated as <sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup></p>
\[x_{ij} = r_i + r_j + \ln (\theta_{ij}/2) = \ln(t_i t_j \theta_{ij}/2).\]
<p>Minimizing $x_{ij}$ becomes equivalent to minimizing $t_j \theta_{ij}/2$ when dealing with the connectivity from a new born node $i$. <strong>The competition between popularity and similarity is simply the minimization of distance between two nodes on a hyperbolic plane.</strong></p>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/disc-similarity-popularity-hyperbolic.png" alt="" /></p>
<figcaption>
<p>Illustration of the disc model. The radial coordinate measure the creation time of the node, while the angular distance measures the similarity. The shaded region is the a region enclosed by a equal distance line. Papadopoulos et al (2012).</p>
</figcaption>
</figure>
<p>Why is this definition of distance far superior than the previous measure of $\mathrm{Popularity}\times \mathrm{Similarity}$? Or why do I care? Because the universe/nature itself measures distance on hyperbolic space, i.e., Minkowski space. It also shows us the hint that by choosing a proper metric we might be able to define distance between any nodes in any systems. The only question becomes which geometry.</p>
<p>This result is astonishing also because a discrete system is most likely generated dynamically according to some laws. The method of mapping nodes to a hyperbolic space provides a convenient metric or distance for us to find out the closest nodes. In other words, a node always connect to it’s nearest neighbors if the metric/distance is well defined.</p>
<h2 id="variations-and-emergent-models">Variations and Emergent Models</h2>
<ul>
<li>Popularity Fading</li>
</ul>
<p>In many real networks, early nodes are more popular. However, popularity decreasing with time can also be modeled. The idea is simple. We allow the nodes to drift away from the center along its own radial direction according to the restraint</p>
\[\begin{equation}
r_{j}(t) = \beta r_j + (1-\beta) r_{i},
\end{equation}\]
<p>where $r_j$ is an old node and it drifts, $r_i$ is the node at current time. Why would we do this? As $\beta$ approaches 1, we fall back to the situation that the nodes are stationary and no drifting is allowed. On the other hand, $\beta$ approaches 0 means we have all the nodes drifting to the circle of current time.</p>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/disc-node-drift-beta-1.png" alt="" /></p>
<figcaption>
<p>Drift of nodes for $\beta=1$. All nodes are moving to a circle of current time.</p>
</figcaption>
</figure>
<p>The drifting effectively decrease the connectivity of the old nodes since they are drifting away from the center. Another view of this fading is that the connection probability power law index $\gamma$ is larger, i.e.,</p>
\[\begin{equation}
\gamma = 1 + 1/\beta.
\end{equation}\]
<ul>
<li>Growth of Internet Autonomous System</li>
</ul>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/internet-routers.png" alt="" /></p>
<figcaption>
<p>Internet AS on a hyperbolic disc. The radial coordinate is log of time, $r=\ln t$. Boguna et al (2010).</p>
</figcaption>
</figure>
<p>Boguna et al modeled the growth of internet AS using the popularity similarity method and it shows exactly the same statistical result as the actual internet AS data <sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">5</a></sup>.</p>
<ul>
<li>Application to Cosmology</li>
</ul>
<p>Krioukov et al came up with the idea that the whole universe can be mapped onto hyperbolic space and events are connected only to nearest neighbors. This in fact is already true in cosmology. Theories predicted that the matter density after inflation is power law, which can be explained by a dynamics generating of particle on a hyperbolic space. The authors created a map from the physical de Sitter space to hyperbolic space. Then the dynamic generation of the particles in the universe simple follows power law since the nodes generated this way has a power law distribution of degrees, i.e., a place that is dense initially is more likely to be dense after the inflation <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">6</a></sup>.</p>
<figure>
<p><img src="/images/posts/popularity-similarity-in-networks/network-cosmology.png" alt="" /></p>
<figcaption>
<p>Map de Sitter space to hyperbolic space. Krioukov et al (2012).</p>
</figcaption>
</figure>
<h2 id="some-math-about-hyperbolic-space">Some Math about Hyperbolic Space</h2>
<p>A 2D hyperbolic plane can be described in 3D by the algebra</p>
\[z^2 - y^2 - x^2 = 1,\]
<p>with normalized coordinates.</p>
<p>On the other hand, a (2+1)D Minkowski space is a space where the line element is written as</p>
\[ds^2 = t^2 - x_1^2 - x_2^2.\]
<p>What connects the two geometry is that a hyperbolic plane is simply a plane of a constant distance in a 3D Minkowski space, where $z$ corresponds to time $t$.</p>
<p>To spot deeper relation between Minkowski space and hyperbolic space, we reduce the dimension to (1+1)D. A hyperbola is</p>
\[x^2 - y^2 = 1.\]
<figure>
<figcaption>
Hyperbola described by $x^2 - y^2 = 1$
</figcaption>
<p><img src="http://openmetric.org/images/posts/popularity-similarity/Hyperbolic_functions-2.svg" alt="" /></p>
</figure>
<p>If we substitute $x$ with time $t$, and $y$ with $x_1$, what we have is</p>
\[t^2 - x_1^2 = 1,\]
<p>which are points who have a constant distance 1 from center, in Minkowski space. In the previous figure, the dashed lines are basically the same as light cone, where the right side is future and left side is past. Now what we expect is that in a real world, where we have (3+1)D space, events that have the same distance to me at this moment is distributed on hyperbolic planes.</p>
<p>Some interesting properties are <sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">7</a></sup></p>
<ol>
<li>No rectangles are possible;</li>
<li>Triangles have angle sum smaller than 180 degrees;</li>
<li>Any two triangles that are similar should be identitcal, which means that we can NOT enlarge or shrink a triangle here;</li>
<li>Area of the triangles are determined by the angle sum.</li>
</ol>
<p>One last point, distance on a hyperbolic surface is defined as</p>
\[ds^2 = \cosh^2 y dx^2 + dy^2,\]
<p>given a <a href="https://en.wikipedia.org/wiki/Hyperbolic_geometry#Distance">Cartesian-like coordinate system</a>. Thus distance between any two points in such a Cartesian-like coordinate system is given by</p>
\[R = \mathrm{arccosh}\left( \cosh y_1 \cosh (x_2-x_1) \cosh y_2 - \sinh y_1 \sinh y_2 \right).\]
<p>To visualize such a space, we can use Poincare disk and three other models.</p>
<h2 id="questions">Questions</h2>
<ol>
<li>How about a degenerating network? As the nodes are destroyed one by one, the most connected nodes will be more important. We could also define a measure of importance. Another point of view is about the effect of removing a node. As a node is removed, which nodes are the most affected?</li>
<li>Why a polar coordinate system? What if I just use horizontal axis as similarity and vertial axis as popularity? (As in <sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">3</a></sup> popularity is the emerging time.)</li>
<li>In real neuronal networks, evolution is done by removing nodes thus achieving some functional regions. How does removing nodes work, from the view of complex systems? Remove some people from the social network can also be interesting.</li>
<li>Such a network is very probabily optimized for information storage in the real world, because it stores information both in the global network and the local connections. An analysis of the snapshot of a network at a certain time shows a hierarchical structure which contains information about the past. The key feature of dynamics is explicitly stored in the network structure and easily extracted so that information storage is robust. Small world network is efficient for information storage and processing. It doesn’t explore all possible connection of the network while allowing information to be propagated through the whole network efficiently. The power law feature is a logarithmic compression of information about the the real world, which keeps the large scale information (low degree nodes) of an object but neglects details (large degree nodes).</li>
<li>Does the brain follow the same law of dynamic generation of network? We know that the biological neural network is close to a small world network. Meanwhile, the popularityXsimilarity method models small world very well. As long as we find the proper metric/distance, we can confidently say that neural network always connect to the nearest neighbors.</li>
<li>Artificial neural networks? We have to think about Boltzmann machine rather than the layerized artificial neural network. The question is, will a Boltzmann machine with network modeled by the method be very common if it actually solves a realistic problem?</li>
</ol>
<h2 id="misc">MISC</h2>
<p>Just some interesting points.</p>
<ol>
<li>“If new connections are made pref-erentially to more popular nodes, then the resulting distribution ofthe number of connections possessed by nodes follows powerlaws” – From <em>Popularity versus similarity in growing networks</em></li>
<li>homophily: “Nodes that are similar have a higher chance of getting connected,even if they are not popular” – From <em>Popularity versus similarity in growing networks</em></li>
</ol>
<h2 id="references-and-notes">References and Notes</h2>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:2" role="doc-endnote">
<p>Barabási, A.-L., & Albert, R. (1999). <a href="http://doi.org/10.1126/science.286.5439.509">Emergence of Scaling in Random Networks. Science, 286(5439), 509–512.</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>Krapivsky, P. L., Redner, S., & Leyvraz, F. (2000). <a href="http://doi.org/10.1103/PhysRevLett.85.4629">Connectivity of growing random networks. Physical Review Letters, 85(21), 4629–4632.</a> <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:1" role="doc-endnote">
<p><a href="https://arxiv.org/abs/cond-mat/0009090v1">arXiv:cond-mat/0009090</a>. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">↩︎<sup>2</sup></a></p>
</li>
<li id="fn:4" role="doc-endnote">
<p>This express is specific for curvature $K=-4$. However, the final result of scaling doesn’t dependent on the curvature itself. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:6" role="doc-endnote">
<p>Boguñá, M., Papadopoulos, F., & Krioukov, D. (2010). <a href="http://doi.org/10.1038/ncomms1063">Sustaining the Internet with hyperbolic mapping. Nature Communications, 1(6), 1–8.</a> <a href="#fnref:6" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:5" role="doc-endnote">
<p>Krioukov, D., Kitsak, M., Sinkovits, R. S., Rideout, D., Meyer, D., & Boguñá, M. (2012). <a href="http://doi.org/10.1038/srep00793">Network Cosmology. Scientific Reports, 2, 793.</a> <a href="#fnref:5" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:8" role="doc-endnote">
<p><a href="http://www.math.cornell.edu/~mec/Winter2009/Mihai/section5.html">Hyperbolic Geometry By Mihai</a> <a href="#fnref:8" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
Remote Kernel for Jupyter
2016-06-09T00:00:00+00:00
http://openmetric.org/science/remote-kernel-jupyter
<p>Right just some key points.</p>
<ol>
<li>What did you use? <a href="https://github.com/korniichuk/rk">rk</a></li>
<li>Does it work well? Well, not really so good if one need to restart kernel frequently. The restart/reconnect is very slow.</li>
</ol>
<p>There are some things that can be down on this remote kernel very conviniently. One of them is to do data process or visualization directly from the data file calculated by a script on the server. Suppose we have a data file output on the server under folder <code class="language-plaintext highlighter-rouge">~/calculate/assets</code>. We can using our jupyter to directly connect to the remote kernel. Using <code class="language-plaintext highlighter-rouge">%bash</code> we can actually use bash commands inside jupyter, e.g.,</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">%%bash
tree</code></pre></figure>
<p>which will show us the <code class="language-plaintext highlighter-rouge">tree</code> result from the server. Find the right path to the data file and import it then process data right in jupyter even the data is stored on a remote server.</p>
No Reading Online Rule
2016-06-02T00:00:00+00:00
http://openmetric.org/misc/fight-distractions
<p>The author stated his/her dilemma of work and writing. While providing advice for companies to boost user engagement, the author also write about how to avoid such seductions on the web.</p>
<p>In this book, <em>Good habits Solution in the Electronic Era</em>, several methods to fight agains such seductive technologies are provided.</p>
<ol>
<li>No Read Rule: read in pocket app instead of the complicated web interface.</li>
<li>Content as Reward: clearing off the article in pocket app is rewarding.</li>
<li>Digital Hat Rack: stow digital devices.</li>
<li>Remember the Behavior Change Matrix:
<figure>
<figcaption>
Behavior Change Matrix from NirAndFar.com. Source [How to Design Behavior (The Behavior Change Matrix)](http://www.nirandfar.com/2012/03/how-to-design-behavior.html)
</figcaption>
<p><img src="http://openmetric.org/images/posts/fight-distractions/behavior-change-matrix.png" alt="" /></p>
</figure>
</li>
<li>Going to an expert? Remember the OK Plateau. Watch: <a href="http://joshuafoer.com/conquering-the-ok-plateau/">http://joshuafoer.com/conquering-the-ok-plateau/</a></li>
</ol>
Dark Energy
2015-10-17T00:00:00+00:00
http://openmetric.org/science/dark-energy
<figure>
<figcaption>
Meaning of Discretization
</figcaption>
<p><img src="http://openmetric.org/images/posts/dark-energy/DarkEnergy_GoalAndMethodology.jpg" alt="" /></p>
</figure>
Accretion Disc and Gargantua
2015-09-17T00:00:00+00:00
http://openmetric.org/science/accretion-disc-and-gargantua
<h2 id="slides">Slides</h2>
<script async="" class="speakerdeck-embed" data-id="ea5b0eaa802745739f36a6417eeefb5d" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
热力学势
2015-02-17T00:00:00+00:00
http://openmetric.org/sciencecn/thermodynamics-potentials
<ul id="markdown-toc">
<li><a href="#legendre-transformation" id="markdown-toc-legendre-transformation">Legendre Transformation</a></li>
<li><a href="#coupling" id="markdown-toc-coupling">Coupling</a></li>
<li><a href="#图片的诠释" id="markdown-toc-图片的诠释">图片的诠释</a> <ul>
<li><a href="#maxwell-关系" id="markdown-toc-maxwell-关系">Maxwell 关系</a></li>
</ul>
</li>
<li><a href="#legendre-transformation-revisited" id="markdown-toc-legendre-transformation-revisited">Legendre Transformation Revisited</a></li>
<li><a href="#微分几何" id="markdown-toc-微分几何">微分几何</a></li>
</ul>
<p>本科学习的热力学主要的内容包括下面几部分(参考 <em>A Modern Course in Statistical Physics</em> by L. E. Reichl):</p>
<ol>
<li>Thermodynamic variables; extensive, intensive, neither;</li>
<li>Equations of state;</li>
<li>Four fundamental laws of thermodynamics;</li>
<li>Thermodynamics potentials</li>
<li>Phase transitions</li>
<li>Response</li>
<li>Stability</li>
</ol>
<p>整个的思路跟 mechanics 类似。先搞清楚如何描述一个体系,包括状态和”kinematics”,这里 “kinematics”包括状态方程和特性函数。其次,提出“第一性原理”:四条热力学定律。然后研究“动力学”:相变、响应和稳定性。</p>
<p>而这里面热力学势的关键除了搞清楚每个势的意义,另外就是要搞清楚哪些是变量。而确定哪些是变量的就是 Legendre transformation. 所以,要搞清楚这些势,可以从 Legendre transformation 下手。</p>
<p>热力学势(特性函数)可以总结成下面的一张图。</p>
<figure>
<figcaption>
热力学势的关系图。符号意义请看下文解释。
</figcaption>
<p><img src="http://openmetric.org/images/posts/thermodynamic/thermodynamicPotentials1.png" alt="Thermodynamic Potentials" /></p>
</figure>
<p>这篇文章就是简要的解释一下这张图,以及 Legendre 变换。</p>
<h2 id="legendre-transformation">Legendre Transformation</h2>
<p>Legendre transformation 的基本定义在《经典力学的数学方法》中有,我写过一篇<a href="http://book.douban.com/people/emptymalei/annotation/1728598/" target="_blank">简单的笔记</a>,当时总结的不是很清楚,而且如果仅仅是为了比较<strong>肤浅</strong>的理清楚热力学势的关系,不太需要很严格的定义。所以我重新功利的说一下。</p>
<p>如果我们有一个函数 $U(T)$,其中 $T$ 是自变量,而我们想要得到另一个函数 $H(S)$,自变量变成了 $S$,那么在热力学势的范围内,我们只需要做这样的变换:</p>
\[H(S) = U -TS\]
<p>当然,这个变换跟书里面的 Legendre transformation 差一个符号,这个并不重要,定义成差一个负号,更加符合物理的理解,因为这些都对应的能量,增加一个量看能量的变化,如果加了负号,增量正好相反,反而不便。</p>
<p>这样我们说 $U(T)$ 和 $H(T)$ 对偶。(在 mechanics 里面,Lagrangian 和 Hamiltonian 也是对偶,理论力学里面最最重要的一个关系之一。)</p>
<h2 id="coupling">Coupling</h2>
<p>图片里面提到了三种不同的 coupling:</p>
<ol>
<li>Thermal Coupling: $-TS$</li>
<li>Mechanical Coupling: $-YX$</li>
<li>Chemical Coupling: $-\sum_i \mu_i N_i$</li>
</ol>
<p>其中 $Y$ 是广义力(例如压强 $p$ ),$X$ 是广义位移(例如体积 $V$ )<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>。这个也不需要很多解释吧,深刻的解释我也没用,总之,顾名思义。</p>
<h2 id="图片的诠释">图片的诠释</h2>
<p>现在可以开始解释图片的意思了。首先解释各个符号的意思:</p>
<ol>
<li>$U$, $H$, $A$, $G$, $\Omega$ 分别是:内能,焓,Helmholtz 自由能,Gibbs 自由能,巨热力学势。</li>
<li>{$S$, $T$}, {$X$, $Y$}, {${N_i},{\mu_i}$} 分别是:{熵,温度},{广义位移,广义力}, {粒子数,化学势}。</li>
<li>三种 coupling 上面已经解释了。</li>
</ol>
<p>整个图片是从中间的 $U(S,X,{N_i})$ 开始的,这是内能,内能是熵S、广义位移 X (以及粒子分布 {N_i} )的函数。。</p>
<ol>
<li>如果我们给内能 $U(S, X, {N_i})$ 加上一个 mechanical coupling $-XY$,那么就得到了焓。从前面的 Legendre transformation 看到,这时候焓 $H$ 变成了 $S, X, {N_i}$ 的函数。所以在气体的理论中,$H$ 是 $S, p$ 的函数,所以等压热容自然是 $C_p = \left( \partial_T H\right)_p$.</li>
<li>如果我们给内能和焓加上 thermal coupling $-ST$,那么我们就得到了两种自由能,分别是 Helmholtz 自由能和 Gibbs 自由能。同第一条里的道理,可以通过 Legendre transformation 自行分析两个是什么的函数。</li>
<li>如果我们给 Helmholtz 自由能加上一个 chemical coupling $-\sum_i \mu_i N_i$,那么我们得到了巨热力学势 $\Omega(T,X,{\mu_i})$。</li>
</ol>
<p>至于物理意义,从图上也很明确。例如焓 H 是内能去掉 mechanical coupling,也就是说,焓在不考虑机械功的时候好用,例如焓在考虑其他体积不变的时候好用,因为这时候吸热就是焓。其他的也是同样的方式理解。这样我们<strong>仅仅通过内能 $U(S, X, {N_i})$ 和 Legendre transformation 就可以获得其他的热力学势</strong>。</p>
<h3 id="maxwell-关系">Maxwell 关系</h3>
<p>内能 $U(S,X,N)$ 出发,根据不同的 coupling,我们可以导出不同的热力学势是什么的函数(也可以通过 Legendre transformation,这里简单起见只利用图片来做)。例如,H 是什么的函数?$U(S,X,N)$ 我们去掉了 mechanical coupling -YX 那么 得到的 H 就是 $H(S,Y,N)$,因为勒让德变换 $H = U - YX$ ,原来是变量 X 的函数,要变成 Y 的函数。</p>
<p>我们知道了这些函数的自变量是什么,下一步就可以写出所有的热力学势的微分式。只举一个例子:</p>
\[\mathrm d U(S, X) = T\mathrm d S + Y \mathrm d X\]
<p>然后,我们可以写出这些热力学势的全微分(由偏微分表示的,就是 chain rule)。同样只举一个例子:</p>
\[\mathrm dU(S, X) = \left(\frac{\partial U}{\partial S}\right)_X \mathrm d S + \left(\frac{\partial U}{\partial X}\right)_S \mathrm X\]
<p>对比上面两个公式,可以得到两个式子,分别是</p>
\[T = \left(\frac{\partial U}{\partial S}\right)_X\]
\[Y = \left(\frac{\partial U}{\partial X}\right)_S\]
<p><strong>用同样的方法得到由另外的热力学势表达的 $T$ 和 $Y$,这样就可以获得一组 Maxwell 关系式。然后用类似的方法处理所有的热力学势,就可以获得全部的 Maxwell 关系。</strong></p>
<p><strong>另外,我们看到热力学量可以通过对相应的热力学势求偏微分来获得,很方便。</strong></p>
<p>这个推导在物理中很常见,例如电动力学的学习中,磁场能的导出也是用类似的手段。</p>
<h2 id="legendre-transformation-revisited">Legendre Transformation Revisited</h2>
<p>上面除了图片有点物理之外,就是数学了,或者说就是 Legendre transformaton 了。一开始那个 Legendre transformation 看起来就是硬生生的代数呢,感觉并没有什么直观的意义?其实这个 transformation 背后有很多可以挖掘的,包括我们喜欢的简洁明了的图像。</p>
<p>我们换种方式来找出函数 $f(x)$ 的 Legendre 变换。</p>
<ol>
<li>把函数在 x-y 坐标系中画出来(蓝色的实线)。</li>
<li>做一条直线 $y=px$ .</li>
<li>我们现在可以定义一个距离,也就是做一条垂直 x 轴的直线,在 $y=px$ 和 $f(x)$ 上的两个交点的距离: $F(x,p) = xp - f(x)$. 现在看起来已经有了 Legendre transformation 的样子了。但是有个问题,这里 x 和 p 是两个独立的变量。</li>
<li>Legendre transformation 要求在给定一个直线斜率 p 之后,这个距离 $F(x,p)$ 最大。这样就确定了 x 和 p 的关系。也就是说要求 $\frac{\partial F(x,p)}{\partial x} = 0$,简化之后,$f’(x)=p$。如图所示。</li>
<li>这样把 x 和 p 的关系 $x(p)$ 代入 $F(x,p)$ 中,我们的距离就变成单单 p 的函数,$F(p)$ 。这就是 $f(x)$ 的 Legendre transformation.</li>
</ol>
<figure>
<figcaption>
Legendre 变换图解。
</figcaption>
<p><img src="http://openmetric.org/images/posts/thermodynamic/legendreTransformation2.png" alt="" /></p>
</figure>
<p>这里面的几何关系就是,$p$ 是斜率,$f’(x)$ 也是斜率。</p>
<p>说到这里还不够清楚,那么我们重写一下这个关系:</p>
\[F(p) + f(x) = xp\]
<p>嗯?非常简单粗暴:$f(x)$ 和 $F(p)$ 具有对称性。等一下,这个关系联想到了什么?我们把上图中的表示切线的点划线延长出来,</p>
<figure>
<figcaption>
Legendre 变换的意义。基于<a href="http://arxiv.org/abs/0806.1147" target="_blank">arXiv:0806.1147</a>中的图修改。
</figcaption>
<p><img src="http://openmetric.org/images/posts/thermodynamic/legendreTransformation3.png" alt="" /></p>
</figure>
<p>从这个图上,明显的就是斜率 p 乘以 x 得到了 $f(x) + F(p)$,即</p>
\[f(x)+F(p)=p x\]
<p>简单明了吧。这就是 f(x) 和 F(p) 之间的 Legendre transformation .明显的这个变换具有对称性,因为 f(x) 和 F(p ) 的地位相同。</p>
<p>至于更多的关于这个变换的内容,可以参考<a href="http://book.douban.com/subject/1728598/">《经典力学的数学方法》</a>这本书,或者<a href="http://arxiv.org/abs/0806.1147">这篇文献</a>。这是物理上一个非常核心的变换,对于整个物理体系有很重要的作用。</p>
<h2 id="微分几何">微分几何</h2>
<p>上面的这些东西,是我们本科学习的,我们会觉得好乱!是的,好乱!那是因为我们使用的数学语言很含糊。我们为什么要说一个量是什么什么的函数?因为我们想要求导数。</p>
<p>如果我们有一种方法,可以得到导数的含义,但是不需要指定一个量是什么什么的函数,那么上面的这些混乱就没有了。是的,这种方法就是外微分。</p>
<p>至于具体怎么理解这个问题,可以读一下<a href="http://www.av8n.com/physics/thermo-forms.htm">这篇文章</a>。</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>如果不熟悉广义力的话,这里解释一下,以免后面犯错。因为我们常常讨论系统的能量的增量,所以广义力的通过外界对系统做工来定义的。我们说外界对系统做了功 $\mathrm W = Y \mathrm d X$,这里面就是广义力乘以广义位移,自然就是外界对系统做的功了。需要注意的是,由于我们是说的<strong>外界对系统做功</strong>,所以这个力方向是指向系统的,而不是指向外部的。所以在气体的例子里面 $\mathrm dW = -p \mathrm dV$,广义力是指的 $-p$. 当然,暗能量/ quinessence 这种奇葩的存在,我们不讨论。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
Gradient, Divergence and Curl
2015-02-17T00:00:00+00:00
http://openmetric.org/science/gradient-divergence-and-curl
<p>Gradient, divergence and curl are frequently used in physics. The geometries, however, are not always well explained, for which reason I expect these meanings would become clear as long as I finish through this post.</p>
<h2 id="curl">Curl</h2>
<p>Curl means curl, which is explicitly shown by this word.</p>
<p>The curl of a singular point doesn’t always show the singularity. One of the examples is the magnetic field generated by dipoles, say, magnetic dipoles, which should be</p>
\[\vec B_D = \nabla \times \vec A = \frac{3(\vec \mu \cdot vec x) \vec x - \mu r^2}{r^5} +\frac{8\pi \mu}{3} \delta^3(\vec x) ,\]
<p>where the vector potential is</p>
\[\vec A = \frac{\vec \mu \times \vec x}{r^3} .\]
<p>The reason for the extra Dirac delta is that vector is singular at point 0 meanwhile the curl of such a function does’t really show the singularities of the field. We need to calculate the integral without calculating the curl directly, i.e.,</p>
\[\int d^3x' \vec B_D = \int d^3x'\nabla \times \vec A(\vec x') = \oint dS' \hat n' \times \vec A (\vec x'),\]
<p>in which we used the trick similar to divergence theorem.</p>
Boarding Pass from NASA
2014-12-04T00:00:00+00:00
http://openmetric.org/misc/cape-canaveral-pass
<figure>
<p><img src="http://openmetric.org/images/posts/cape-canaveral-pass/NASABoardingPass.png" alt="" /></p>
<figcaption>
My boarding pass
</figcaption>
</figure>
2009年狮子座流星雨观测
2014-12-04T00:00:00+00:00
http://openmetric.org/misc/leonids-obs
<p>昨晚定好5:10的闹钟,但是我在闹钟振动之前就醒了。穿好衣服,本想带上收音机,尝试一下听流星雨,但是因为收音机埋藏太深,不便找寻,只好作罢。然后从二楼窗口跳下,逃出宿舍。先去了昨天觉得观测条件不错的图书馆前,但是发现光污染严重且可视范围小,于是跑到新艺术楼和外院之间的空地,发现在一条路的中间观测比较理想,于是就躺在地上了。(观测过程中,曾经听到一阵脚步声,而且脚步声越来越慢,然后一个人头出现在我的视野,我动了一下身子,那人立刻直起身子,快步向前走去。)</p>
<p>没有录音和书面记录,所以仅凭记忆写下来。</p>
<p>地点:济南市山东大学洪楼校区新艺术楼侧。</p>
<p>观测条件:地面弱光源且距离较远,完整的可视范围大约在是赤纬40°以上,再低就有树木遮挡。但还可以看到部分天区。</p>
<p>各时间段的观测结果:</p>
<ul>
<li>5:20——5:35 : 2颗,较暗,约2等以下。速度较快,余迹基本不可见。</li>
<li>5:35——5:45 : 7颗 最快的几分钟内可达1颗/min(时间较短,没有多少价值)。普遍速度较快。 3颗星等在-1等以上 ,速度快,其中一颗余迹存在达5秒,大约在火星的位置。</li>
<li>5:45——5:55 : 0颗。</li>
</ul>
<p>说明:因为是直接躺在地上观测,相对而言对数目的记录可能比较准确,但是颜色,星等,余迹时间,等等细节没有详细关注。但基本上观测到的都是群内,未见偶发。</p>
<p>根据牧夫其它人的观测记录,我应该是错过了真正的峰值时间,但是这个数据还可以,因为虽然狮子在天顶,但是光污染以及时间较晚,天已经有些亮,所以按照1/min的话,应该来说这次模型还是比较准确的。可能从98年那次人们错过良机后,人们对模型改进已经很大了吧。</p>
<p>6:00因为开始有人路过,我就不能继续再躺在路中央了,只好收拾走人。操场找到某某,又看了一会儿,然后去吃饭,最后会宿舍睡觉。估计宿舍人都不知道我出去过。</p>
<p>o(∩_∩)o</p>
<blockquote>
<p>2016-05-08 补充:
文末提到的“某某”应该是李吉夏。记得当时李吉夏出宿舍要晚一些。</p>
</blockquote>
火星的天空
2014-11-10T00:00:00+00:00
http://openmetric.org/stories/martian-sky
<p>我一直在做错误的选择,这些错误有些给自己带来的痛苦,有些伤害了别人。然而有那么一次,纵使是痛彻心扉的错,若时光回转,我还是会做出同样的选择,纵使我那时是如此自私自利。</p>
<p>红色的天空,红色的云。光在恒星内部挣扎了万年,却只花了十分钟便到达这颗行星的大气层。它与空气中的分子相遇,然后改变轨迹。</p>
<p>这是一颗不太适宜人类生活的行星。而我的任务,自然只是部署探测器,收集数据,然后将数据发送给前哨站,简单得很。最终,这些数据将会成为行星探测公司著名的行星数据库的一部分。</p>
<p>然而,我将要消失在这宇宙中,从未存在过。</p>
<h3 id="聚会">聚会</h3>
<p>我毕业那年,恰好是行星大学<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>两百周年。毕业典礼前夜,在行星形成与演化学院有个非常大的聚会,我也有幸见到星际移民局的几位重要人物。</p>
<p>然而聚会这类事情,始终都是极度令人反感的。所以我拍拍衣服,拿了盘点心,独自逃到了后院,在一颗巨树下面躺了下来。点点星光从树枝的间隙间落下来,像一张毯子,轻柔的,带着温暖,睡意一下涌了上来。</p>
<p>我们家这一支,往上数过去,可以追溯到火星第一批劳工移民。我出生在火星,在火星长大,现在倒是可以说,我毕业于火星最有权势的学校。说行星大学有权势,那是因为这所学校大多数研究内容都跟星际移民局有合作,毕业生也大多直接进入星际移民局,有些也可以进入一些驻地的使馆。</p>
<p>醒来的时候,整个学院都安静下来了,想来聚会的人差不多都离开了吧。我坐起身来,才发现角落的一个长凳上坐着两个人,光线暗弱,难以看清面目。我刚要离开,女人开口讲话,这才听出是王晴 Tina,便过去搭话。</p>
<p>Tina 身边坐着一位头发有些花白的中年男子,他穿了长袍安静地坐在那里,表情略带微笑。Tina 介绍说这位是她爷爷,也就是太空生物技术研究所所长。据我所了解,他便是第一个利用生物材料制造出无线电发射器的人。</p>
<p>那天夜晚,在天空的一个角落,一片深深的血红色正在蔓延,那是远处矿场的灯光被空气中的沙尘吸收散射。我心底的邪恶正在挣扎,最终我的灵魂被它吞噬殆尽。</p>
<h3 id="初心">初心</h3>
<p>Tina 又开始拷问我,这是她已经问过我无数次的问题:你到底喜欢我什么?</p>
<p>除了要攀附她爷爷的关系,我并不知道她有什么特殊的。喜欢你傻乎乎吧,我回答道。她握拳狠狠地捶了我的背。</p>
<p>我们家族没有什么势力,像我这种人也不太可能进入星际移民局高层,而她的爷爷却能给我提供一部直通云霄的梯子。一定要好好地抓住 Tina,这是我最好的机遇。</p>
<p>我知道自己所爱,为了挤进高层,为了家族的荣耀,感情也不过是垫脚石。就算踏着血和泪上去,也一定值得。Tina 总是说我工作狂的样子好吓人。那一定是面目狰狞,贪婪的要拿出最漂亮的结果,要比任何人的成果都要好。这就是来自心底的黑暗吧。</p>
<p>要走了,出任务。Tina 不情愿地低声哼道。</p>
<p>嗯,注意安全。她走之后,我随手抓了一本行星科学增刊,赶往研究所。</p>
<p>火星上的大使馆需要的时候,特勤部门就会提供调查任务。Tina 就是一名特勤员,而她的特长是生物安全。在她入职的那天,我也被调入太空生物技术研究所负责行星生态改造的研究。</p>
<p>路上没有什么人,路灯昏暗,想必是系统故障了。抬头看到星空,猎户座像一张大网一样,似乎要将我罩住,使我永不得解脱。忽然想起,在入职的前一天晚上,我跟 Tina 一起跑到北山区露营。天冷得很,我握着她的手,回忆着多年前贫苦的日子。</p>
<p>想什么呢?她突然用脸蹭了着我的手,打趣道。</p>
<p>没什么,就是觉得生活改变好大。我懒懒地说着,低下了头,继续回想着那些时光。</p>
<p>我小时候很少看到父母,因为他们早出晚归。我自己做午饭,晚饭也要做好等他们回来。他们从来不能理解我为什么非要进入行星大学读书。多年的消磨早就让他们对生活麻木了,而我急于摆脱这种生活。我不断地警告自己,如果不能做到,我宁愿不要把新的生命带到这个世界上来,不要让它受这些苦。而今天,我的愿望终于要实现了,是么?我边想着,边甩甩头,企图回到现实来。</p>
<p>好啦,都过去啦。她突然挣开我的手,一下抱过来。继续说道,我知道你在想什么呢,小时候的那些苦,你我都不必再去想啦,我们的孩子也不会受这些苦的。</p>
<p>正在我回想间,天空突然变得刺眼。那是矿场的方向,一定发生了什么事情。我接通了 Tina 的电话。</p>
<h3 id="温柔">温柔</h3>
<p>谢天谢地,你没事就好。我气喘吁吁,仔细看着她红红的脸蛋。发生了什么事?</p>
<p>阿先死了。他没逃出来。他死了,怎么能这样就死了。Tina 边哭边说,身体往下沉。我拉住她,把她紧紧地抱进怀里。</p>
<p>嘘~没事啦没事啦。</p>
<p>在那样一个瞬间,我瞥见天空被这爆炸的火光照得血红。在我们和火光之间,有一个穿着格子衬衫的人在盯着我们。于是我抱着 Tina 转过身,背对着他。</p>
<p>说起特勤工作,我只见过一次。那次地球驻火星第四使馆<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>被盗,Tina 被派往协助调查。我当天恰巧休假,下班时间便过去接她。那个地球使节脾气暴躁,蹬鼻子上脸,对着她比划来比划去,我当时很生气,过去就想教训那人。Tina 一把拉住我,拿一只手指按在我的嘴上,意思是别插嘴。然后她给各位道歉,陪着笑脸听完了那帮混蛋的抱怨。</p>
<p>之前我从来都不能理解 Tina 这样一个性格柔弱的人怎么能胜任特勤工作,那次之后,我就再也没有出现在她的工作中。我们谈过特勤的问题,她坚持认为她做的是对的。也许吧。</p>
<p>这次爆炸事故之后,她拿到了一个很长的假期,天天陪我在研究所做研究。有天她兴冲冲跑过来,跑跑跳跳地拽着我去了另一个实验室,在通知栏停了下来。</p>
<p>我们做这个吧。她边说边拽我的胳膊。</p>
<p>我盯着通知栏上的通知,半晌说不出话来。</p>
<p>Tina,这是你的专业对吧,你确定做这个真的安全?</p>
<p>没事儿,这都做过很多实验了,理论也很完善了。</p>
<p>我们会变成什么呢?我心里不禁一阵恐慌。他们会给我们安装生物无线电通讯模块,这样就可以直接交换大脑的数据,而不需要用嘴说出来了。他们甚至还提供了卵细胞线粒体基因改造,让后代自己长出这样的通讯模块,并且传递下去。这个真的不会被伦理委员会调查么?<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup></p>
<p>正在疑惑,Tina 已经找来了负责人。所以,我就要变成怪人了,跟 Tina 一起。</p>
<h3 id="散射">散射</h3>
<p>在散射理论中,两个电子会越来越接近,然后分开,距离越来越远,永无再见之时。</p>
<p>Tina 有时候会跑来听我讲课,不过从来不在我的课上讲话。但是有那么一次,我在给学生们讲恒星内部平衡,说到我们看到的太阳的光子,其实是很久前产生的,他们在太阳内不停地被散射,囚禁了长达万年,终于才能出来,进入我们的眼睛。然后她满脸幸福的样子,自言自语说,要是能凑近了看看恒星就好了。</p>
<p>我第一次见她那种夸张的表情。第二次见到,是我第一次向她敞开心扉,任由她通过通讯模块读取我对她的爱。这时候我才感觉到,原来自己说的因为她家的权势才跟她在一起这样的话,已经是沦为谎言了。她说将来等我拿到星际移民局的高层的职位,我们一起去补个蜜月吧。</p>
<p>那种幸福,也是我最后一次见到了。多数情况下,人的希望就像一个薄薄的气球,气球越来越大,直到最后碰上针尖,瞬间爆裂。</p>
<p>第二天她的爷爷被杀害了。她得知消息后在赶往现场的途中被注射了毒药。虽然经过抢救,但是没有醒过来。医院说需要一天之内拿到解毒剂,可惜现在火星没有储备。</p>
<p>我蹲在走廊的角落,感受着越来越沉重的心跳。嘴唇不听话地抖动着,泪水哗哗哗滚下来。我知道的,每次出事情,我第一反应都不是去解决问题,而是独自伤心。懦弱。愚蠢。</p>
<h3 id="恒星">恒星</h3>
<p>我从行星探测公司拿到了药物,条件是我作为行星勘探员外出采集数据。Tina 的治疗很成功,但是还没有等她醒来,我就被从医院拖走,登上了这艘飞船。临行前,他们发消息来说,Tina 醒来了。我下意识地使用了通讯模块,却徒劳无功,超出了最大通讯距离。</p>
<p>他们告诉我凶手被抓,并处以死刑。 Tina 现在很快乐,只是暂时失忆了。</p>
<p>我脚下的这颗行星,贫瘠而无任何生命的气息。我没有足够的燃料飞回火星,但是却能够飞往头顶这颗陌生的恒星,如那扑火的飞蛾,长眠在熊熊烈火之中。等待有那么一天,它耗尽燃料,爆发出光芒。而我,就会随这些碎片一起,成为一颗可以孕育生命的行星。</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>行星大学是火星上学校,坐落在星际移民局旁边,以星际移民研究为核心的综合大学。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>地球在火星建立了多家使馆,以负责不同地球的事务。第四使馆负责星际移民局附近。 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>这是伦理委员会的一大丑闻之一,他们拿了几位研究人员的贿赂,决定默不作声。 <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
梦与新世界
2014-11-08T00:00:00+00:00
http://openmetric.org/stories/dream-a-new-world
<h3 id="旧世界">旧世界</h3>
<p>这是一间很狭窄的屋子,仅有的一扇窗装在很高的地方,踮起脚都无法碰到。我躺在床上,可以隐约看到窗台上有一只猫,想是它流浪久了,过来跟我打个招呼,顺便骗点吃的。我显然不愚蠢,不可能上猫的当。</p>
<p>再说我根本就无法在床上坐起来,脑袋沉重的像要窒息一样。我缓慢地挪动了一下身子,把脸转向天花板,看着一只蜘蛛在上面快速地爬过。很快这天花板开始离我远去,我连同这硬板床也像缩水一样越来越小,直到这房间变得像太空一样巨大却空无一物。</p>
<p>我眼睛余光注意到手机屏幕亮了起来,呼吸灯一闪一闪。我强忍着头痛把头转向窗子的一侧,终于瞥见屏幕上的名字,它变幻着颜色,不停地闪烁着,可是我却连挣扎一下去接通的想法都没有。</p>
<p>这样折腾了好久,等我再醒来的时候,阳光恰好从那扇高高在上的窗子里面透进来,我终于可以从床上坐起来,看样子发烧已经好了。手伸向手机,随便在屏幕上方晃了一下,才发现电池没有电了,只能顺手给手机充上电。这样我甚至都无从知道现在的时间,只是看阳光的角度判断,应该是快到中午。我拖着软塌塌的身体往厨房走,希望能找点现成的吃的,却发现门缝下面一堆杂乱的满是数字和图表的纸,显然是有人一张一张从门缝下面塞进来的。</p>
<p>这时候在充电基座上的手机响了起来。多年之后,我回想起来,如果要找出一生中最悲痛的一通电话,那无疑是今天的这次。我手中拿着电话,屋里的一切像是消失在水雾之中,阳光照进来的地方,有彩虹在扭来扭去。</p>
<h3 id="梦与萌芽">梦与萌芽</h3>
<p>在我的想象中,蓝熊猫的世界一定是最美丽的。从五年前我父亲对这颗行星的第一次光谱分析,到现在为止我们已经积累了大量的资料。这五年以来,蓝熊猫一直是最受关注的一颗太阳系外行星,它也是我梦想中的天堂。</p>
<p>五年前的光谱已经表明这颗行星上存在文明,然而这些光谱数据能够公之于众,至少埋葬了我的父母这两条生命。我带着从门缝塞进来的数据偷偷离开那个地方,来到了南半球,按照那天父亲最后那通电话说的,将他无法放在硬盘里的这部分数据公开。</p>
<p>我父母当时就发现,蓝熊猫的大气中有着明显的工业文明的痕迹,化石燃料正在被大量使用,而且通过大气环流模型的模拟,化石燃料的使用集中在八到十个大型地区。光谱也显示当地居民很可能在使用飞行器。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></p>
<p>我的学生敲门进来,问我明天的仪器例行检修要不要取消,因为今天的数据有些奇怪,是不是要继续采集。Peter 不是一个非常聪明的学生,但是由他来管理仪器,甚至比我自己上手都要放心的多。</p>
<p>我们上周刚刚更换了部分线路,为数据服务器安装了新的电磁屏蔽。今天的数据中有一段高频上的波动,确实是应该推迟实验先认真检修的。我告诉 Peter 回去休息,自己来盯仪器。这个观测站距离最近的小镇也有两个小时的车程,路上要走崎岖的盘山小路,我不想让 Peter 开车走这样的夜路。</p>
<p>微风吹过,木制的百叶窗哗哗作响,隐约能听到窗台下松鼠跑过的声音。窗外夕阳显得苍白,阳光却依然刺眼。一阵风吹过沙尘,有那么一颗小小的尘埃偏偏冲进我的眼球和眼睑之间。眼前的百叶窗模糊起来。我躺在地板上,周围一切显得那么高大,我像是回到了五年前那间狭窄的卧室。</p>
<p>我所痛恨的事物中,人无疑是位居第一的,然而我所爱的事物中,人也会排在首位。那天我接到父亲的电话,我能听出他在开车,周围还有吓人的警笛的声音。我清楚的记得他叮嘱我藏好那些门缝下的文件,他说他不能来见我,他说我妈已经不在了,他说我一定要离开这里。我说我知道了,我知道了,我知道了。</p>
<p>那些在门后散了一地的文件,被我一把一把塞进书包里。那一年我十九岁,我甚至都不知道有没有弄丢什么,就被父亲安排好的人送出了这个城市,然后离开了这个小小的中东国家。</p>
<p>这五年我完成了学业,在这个不出名的学校找到一份教职,然后走上了跟父亲同样的研究道路。五年前的数据曝光之后,很多人都跟进了这项研究,进展已经非常大,一年以来我们在调试自己的仪器,而四个月前才刚刚开始产生能用的数据。</p>
<p>我拿了数据平板终端,端详着这个奇怪的高频小高坡。莫非我们的电磁屏蔽不够好?那为什么总感觉有些熟悉。</p>
<p>这时有个念头突然闪过我的脑海:五年前的数据。</p>
<h3 id="危机">危机</h3>
<p>外面街上的人吵得不得了,看来这事情是藏不住了。</p>
<p>涵海板着脸在屋里走来走去,嘴里一直嘟囔着。瘫坐在沙发里的我被他这样搅和的心烦气躁,想一把把他按在沙发上。他忽然转过身,眉头还是皱着,语调却十分坚定:“我是绝对不会辞职的,我是你生的,但是我的生活是我自己的。”</p>
<p>三十年了,我早就离开了风口浪尖。如果是三十年前,我绝不会反对涵海参与这些地外文明项目,那会儿我自己也还会守在观测站。假如我没有注意到数据上的那些周期性,事情也不会这么快发展到各种政治力量介入的地步,涵海也还可以去做单纯的科研。</p>
<p>事到如今,我也不好再说什么。上周政府跟蓝熊猫的秘密社会科学项目被曝光,在那之前,我都无从知道涵海居然在做这种工作。而街上的人群显然对于这种联合地外文明来研究新的统治手段的事情出离愤怒了。</p>
<p>“可是你无论如何不能成为政治工具!作为你的父母,我们这是为你着想。”</p>
<p>“你们怎么就不明白,我做这些研究可以让我们的世界变得更好。总有一天所有人都会过着满足的生活。”</p>
<p>“你这是要做狗腿子!这简直是对你这么多年所学来的科学的玷污!”</p>
<p>“玷污,玷污,你说这是玷污。你变了。三十年前,是谁发现了蓝熊猫发来的信息,是谁第一个提出地球-蓝熊猫联合科学,当年又是谁放弃了物理转去做社科研究。我们走到今天,还不是拜你所赐。如果我现在退出,是,我会有个安稳的工作,我会安安稳稳地度过一生。可是如今我有机会带领大家去研究走上和平的道路,去从内部阻止那些尝试利用这些研究独裁的人,我为什么要退出。你要是不满,你可以像外面那些人一样,去反对去阻止,但是你没有权利利用我们的父子关系来对我说教!”</p>
<p>涵海抓了自己的包,没再说话,直接离开了家。</p>
<p>这么多年来,我始终不能忘怀自己年轻气盛所做的错事。有些东西碎了就是碎了,再怎么掩饰也于事无补。回想那一天,我双手颤抖着从文件柜扯出来的数据,那些还是我父母用命换来的。我对照着数据记录的日期,那个日子,恰好是蓝熊猫上春分日,而我的数据,也是蓝熊猫的春分日。往来复去,那之间间隔了四个蓝熊猫年。高频信号增加恰好是在春分日,这很可能说明蓝熊猫上的文明在进行这某些发射电磁波的活动。如果要定下什么历法,必然要用周期性的现象,蓝熊猫这颗行星本身的公转周期就是最好的选择。虽然当时我也猜测这可能是自然现象。但是之后的观测证实了这些高频冗余便是他们发来的信息。再之后我越走越远,放弃了物理,投身社会的变革。</p>
<h3 id="新世界">新世界</h3>
<p>确认了蓝熊猫的信息之后,在地球轨道的上方,我们发现了他们建造的超距通信管道的端口。后来的研究证实这就是修改过的 Krasnikov 管道<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>,可以用来超距通信,但是不管是蓝熊猫文明还是地球文明都没有足够的功率来传送大的物件,只是相互投递一些小体积的物品。之后是专门的研究小组建立了双方语言的互译,再之后便是涵海参与的政治合作项目。如今涵海已经成为政治运动的牺牲品,但是他的工作也促使我们两个行星之间的大众的相互沟通。通过蓝熊猫,我们有了更多的聊天的伙伴。</p>
<p>许多企业开始提供行星间邮件服务,经过翻译程序翻译为对方可读的语言,然后通过修改的 Krasnikov 管道投递给其他行星上的特定的账号。我成立的涵海星际邮件便是其中之一<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup>。我们所认识的银河,已然从原来过分的寂静,变得有些吵闹。生命之间,像是正在举行一场跨越星系的聚会。虽然我们无法飞跃茫茫太空,抵达对方的行星,但是我们知道自己并不孤单<sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">4</a></sup>。</p>
<p>在几十年前,那时候尚未有任何地外文明的迹象,SETI 举办过了一场 SETIcon 会议,会议上曾经有人说过:或许在广袤的宇宙中,有一张通信的大网,他们在不断的相互交流,可是我们却不是这个网的一部分,因为我们还没有学会如何去聆听。</p>
<p>走在深夜的街道,周围很安静,我抬头看着漫天的繁星,在那些星星点点之间,似乎有张巨网在广袤的太空中无限蔓延,巨网的每个端点,都是一个文明。</p>
<p>银河在上,生命并不孤独。</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>在后来的星际移民中心分类法中,蓝熊猫被归类为 A+ 行星,而存放在火星的档案中,这些化石燃料污染严重区域的命名使用了中国上古神话中的人物来命名,十个地区从大到小,分别为女娲、伏羲、蚩尤、遂人、有巢、葛天、瑶姬、洛神、刑天和许由。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>这是一种通过修改时空本身来进行远距离传送的管道,蓝熊猫所使用的技术,跟我们地球上的 Krasnikov 管道的原理很相似,所以称作修改的 Krasnikov 管道,或者 M Krasnikov 管道。一旦建成,管道便可以一直稳定存在。 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>为了纪念我过早去世的儿子。 <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:4" role="doc-endnote">
<p>所谓费米悖论至少在太阳系周围得到了很好的解释:大家都没有发展出能够将大型飞船飞到其他星系的能力,但是大家依然能够建立通信网,而修改的 Krasnikov 管道建立之前,地球上的人类并不能加入到这样的通信之中。当然,现在大家认识到,这已经不是悖论了。 <a href="#fnref:4" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
阅读者
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/reader
<blockquote>
<p>「是那扇为痛苦不堪的生命所敞开的死亡之门,当所有的门都关闭时,这扇门允许值得尊敬的人来使用。你必须为我打开这扇门。你和所有其它人都知道门后面什么都没有,它可以让生命再次回到原位,但是进入此门者会忘记一切,珍贵的遗忘,会消除记忆的痛苦。我有太多的事情要忘记。」</p>
<p>–<cite>《暗夜惊醒》</cite>, 作者 John C. Wright</p>
</blockquote>
<p>相传在古老的时代,天上的星还没有变成钻石,人类是生活在一个叫做上层的地方。只是后来天空之上喷出了红色的恶龙之火,上层顷刻间化为焦土。他们还说,只要我打开这扇门通向上层的远古之门,恶魔就会立刻奔涌进来,我的故事就走到了终点。</p>
<p>传说像是传染病,从上一代传到下一代。作为一个阅读者,我却清楚的知道,这扇远古之门通向的不是上层的焦土,而是一个更加绝望的世界。</p>
<p>我宁愿自己没有成为阅读者。<!-- more --></p>
<h2 id="预言">预言</h2>
<p>预言说,如果人类祈祷两百年,盖娅便会赐予人类一个阅读者。为了我,人类祈祷了两百年。然而当他们得知阅读者是一个男孩的时候,一定是极度失望。</p>
<p>我是原人,能够在自己的种族内与他人心灵感应。另外一支,是生活在水渠中的退化人。有消息说,他们全身恶臭,身体强壮,嗜血好战。退化人是没法彼此感应的。</p>
<p>女孩才可能将阅读者的能力传给下一代。而男孩,就注定只能永远守在盖亚前,榨尽最后一滴心血,直到最后孤独的死去。按照卷宗,我不能选择自己的生活,不能有自己的眷恋,不能结婚,不能生子,因为我此次轮回的时候,是个男儿身。</p>
<p>当我走到黑暗的角落,总有一个声音向我诉说这世界的过去。我们所生活的整个世界,只是一个巨大的倒金字塔。塔底,就是古老的盖娅,以及只有阅读者才能理解的档案馆。而塔的外面,就是坚硬的岩石,上层已经被毁灭,人类只能在下层残喘。</p>
<p>预言还说,我会给原人带来前所未有的知识,但是却会毁灭所有的退化人。可是,为什么是我?</p>
<p>我今年十五岁,已经走过了一半的人生。</p>
<h2 id="阅读">阅读</h2>
<p>我没有见过父母,我被机器抚养长大,被机器灌输知识。五岁那年,手持卷宗的人来到我的房间,用低沉的声音对着我宣读古老的卷宗。卷宗说,阅读者男孩,没有朋友。</p>
<p>我没有朋友。五岁开始,我就住进了最下面的档案馆。五岁开始,未来就变成了永远的黑暗。阅读和转述,就是我所有的生活。档案馆内的档案,从上一位阅读者所阅读的最后一本,直到我死去,我所能阅读的所有档案,就组成了我此生的价值。</p>
<p>第一本档案,是一份清单。清单列举了组成世界的元素,以及制造这些元素所需要的技术。清单经常提到在古老的地球上层曾经有很多矿产,人类需要的很多材料是从矿产中来的。</p>
<p>地球,卷宗上说,上层已经被来自天空的火焰毁灭,仅存的人类被迫屈居在漆黑的下层。这所谓的卷宗,就是档案的古老文字转译为所有人都能懂的文字吧。我从档案馆读来的知识,也是会全部记录在卷宗里的吧。</p>
<p>孤单是思考最好的药剂。每当档案馆的灯光暗下来,周围的虚空就会将我包裹起来,那些档案是过去和未来,永恒的闪烁。我是此世唯一的阅读者,这些古老的文字倾入眼帘,温暖便会充满我心。我曾经尝试教别人阅读,只是他们无论如何都不能识别。就像一道诅咒一样,人类可以阅读现在的文字,但是无法触及这些古老的档案文字。多少次我向盖娅祈祷,希望这古老的文字能够被所有的人掌握。可是我得到的只是沉默。</p>
<h2 id="盖娅">盖娅</h2>
<p>持卷宗的老人让我用声音讲述这些档案。他说这是一种神秘的仪式,将古老的传说用我的声音讲出来,然后记录在卷宗之中,就是古人生命的轮回。古老的故事尚未被今人忘却,曾经的生命在档案间流淌。他相信古人不是使用盖娅,而是使用档案来让生命再现。用感应来讲述,是对生命的亵渎。</p>
<p>卷宗上说,金字塔内的人类会通过盖娅获得再生,没有生命会消失,每一个新的生命,都是过去生命的重现,只是记忆已经消亡。</p>
<p>只是在许久之后,我才看到,越是不经意地谎言,起初看来就越是真实。</p>
<p>当大家都离去之后,我常常将耳朵贴在盖娅身上,这样可以听到生命流淌的声音。他们告诉我那是我的血液流淌的声音,可是我总是觉得,那是逝去的灵魂在盖娅里面流淌,讲述着他们曾经生活的时代。</p>
<p>胡思乱想啦,别人总是说。</p>
<h2 id="灵魂">灵魂</h2>
<p>盖娅给我的感应反馈着实吓了我一跳。卷宗从来没有提到过人与盖娅的感应。</p>
<p>曾经的世界已经离去,我在盖娅找到了数不尽的秘密。盖娅如同一片墓地,曾经存在过的灵魂们死气沉沉的将自己固定在特定的区域,等待着下一次的重生。</p>
<p>历史,是希望,也是悲痛。盖娅并没有将回收来的灵魂的记忆抹去,而是进行了存档。</p>
<p>灵魂,是对大脑的复制。而我们的大脑也并非人类的大脑。我们是被改造过的人类,线粒体被动了手脚。</p>
<p>那时候地球还在,人类制造了生物材料构成的无线电发射器和接收器,之后是对应的基因。这些基因被移植到卵细胞的线粒体 DNA 中,这颗卵细胞就成为了我们现在所有原人的祖先。</p>
<p>借助这些接收器和发射器,人们通过无线电进行心灵感应。线粒体 DNA,确保这些特性只有母系遗传。所有的改造,包括对特定文字失读的禁锢,都是包含在线粒体 DNA 中的。</p>
<p>而盖娅她,通过感应来控制大家的思想,上传死去的人的灵魂,用抹去了记忆的旧人的灵魂来覆盖新生儿的灵魂。</p>
<p>生生死死,这进行了千百年的轮回。</p>
<p>我是谁,又曾经怎样的生活过。那个被我覆盖的灵魂,又会是长成什么样子。</p>
<h2 id="档案">档案</h2>
<p>在盖娅的深处,有一处刻有古文字的石碑:</p>
<blockquote>
<p>与大航海时代不同的是,我们早已熟知这次航行的目的地。</p>
<p>在<a href="http://interimm.github.io/">星际移民中心</a>巨大的倒金字塔建筑中,档案馆被安置在最下层的塔尖。巨浪中披风前进的巨舰不需要怀旧的档案。她只要前进,永不停歇。</p>
<p>而我却深爱着这件空旷没有灯光的档案馆,那些散发着微光的档案就像夜幕上的星光点点,充满了梦幻。我们踏上了许多星球,却已然为遥远的星光所着迷。</p>
<p>暗夜之中,往事与未来,谁又看得清。</p>
</blockquote>
<p>盖娅存档的最早的记忆证实了我内心深处那个可怕想法,天上的星星还没有变成钻石,只是人类用火焰毁灭了自己的家园。</p>
<h2 id="太空">太空</h2>
<p>我没有告诉任何人。之后我从档案馆读来的资料,让他们偏执的认为退化人是原人的敌人。这具皮囊只能让我活三十年,我便努力阅读了二十四年。最后一年,他们都认为我在繁重的工作下垮掉了。</p>
<p>最后的时光中,我常常躲在黑暗的角落里聆听盖娅的倾诉。那些喜欢听故事的小孩子围在我的身边,听我用口齿不清的声音讲述盖娅里面那些死去的灵魂,那些古老无边的记忆。</p>
<p>你回答我,他急躁起来。我已经无法记住他的名字,他脑袋里有数不尽的问题。</p>
<p>是的,我不等他说完,我们是人类的后裔,我们获得了很多能力,也被封印了阅读古老文字的能力。我们的家园是古老的地球,只是我们已经无法回去。而我们此行的目的地,是一颗遥远的行星。只可惜,这艘飞船已经没有动力,我们将会与这梦想之地擦肩而过。而打开这扇门,就是太空。</p>
<p>什么是太空啊?坐在后排的一个小女孩皱着眉头说。</p>
<p>就是无尽的绝望吧。我想。</p>
一个「精神病人」的救赎
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/psycho
<h2 id="抑郁而死">抑郁而死</h2>
<p>我有一间很可爱的小房子,虽然只是一间长长的卧室,但我把它打扫的干干净净,还在地板上仔细刻了很细致的纹路,而每一面墙上都整整齐齐的挂满了我的画。房子最里面,是一张精致的书桌。坐在书桌前,只需一抬头,便可以看到窗外斑斑树影。<!-- more --></p>
<p>今天很是清闲,我便静静地坐在窗前想些事情。零星的月光打在窗外的白杨叶上,但那些叶子依然像烧焦了一样,黑漆漆的有些吓人。</p>
<p>我从小到大,一直是一个很失败的人。小时候总犯错让父母打,上学了学习差让父母伤心,长大了不会讨好女朋友总让她生气,即便我费尽心机留住她,最后她还是离我而去。找了份工作,总是跟上司吵架。<br />
想起来有时候脾气好差,让周围的人都好害怕。我没有朋友,因为大家都不喜欢我,也因为我好害怕伤害身边的人。就拿今天来说,我居然因为一点小事情跟同事吵得不可开交。
到现在为止,我已经两天没吃东西了。而且昨晚翻来覆去最终也没有睡着。我好怕别人知道,我怕会被人笑话,要是父母知道了,还会为我操心。我为什么要这样没用。我渴望做些别人都做不到的事情,可是随着年龄的增长,我越来越清楚,别人都做不到的事情,我一定做也不到。
我也知道我的中枢神经系统对递质的处理不太「正常」,NE 和 5-HT 递质小泡太少,或者这些递质氧化消耗太快。不过我也知道这大致是不可逆的过程,这部分就像永久损坏了。
要知道,我女朋友,她一直不喜欢我。其实我也不喜欢我自己。我吝啬、小心眼,给了她太大的压力。所以我并不怪她。
据说我的上一任房主就是挂死在窗外那棵树上的,原因不得而知。其实死又有什么不好,都说死什么问题也不解决,可是从今再没有了论文要写,再没有了房子要买,再没有了人要去担心。我可是最讨厌花费精力去处理这些事情的。</p>
<p>我就这样坐着,什么也不再想去想。这真是一种很舒服的感觉,让心情跌到谷底,所有的心情都掏走了,很踏实很安稳的感觉。我不再感觉到心痛,不再感觉到悲伤。偶尔一阵风吹进来,我的身体会瑟瑟发抖,只是我却不再感觉到寒冷。
我用刀割了一下手腕,并没有疼痛,只是木木的。我用力来回切了几刀,血一下喷了出来,好欢快啊。我慢慢的转动手腕,让血能够洒到嘴里,虽然有点腥,不过倒是有些甜甜的。</p>
<h2 id="精神分裂">精神分裂</h2>
<p>在我的眼中,整个世界就是一个巨大的模拟,而模拟的终极目的,只是为了让我受尽人世间种种苦难,而我一旦死亡,这个模拟就会终结,这个世界也就没有存在的必要了,你们所有人都会被毁灭。
或许整个世界就是一群丧心病狂的社会学家在做一个实验,或许我只是 The Truman Show 的主角,这无关紧要,重要的是,我才是世界的中心,而你们都是被创造用来残害我的。
我有一位好友,关系很好。他是很了解我,知道我喜欢吃什么,喜欢玩什么,他会在我失意的时候安慰我,在我无聊的时候陪我聊天。这时候你们脸上绷着认真的表情跟我讲:哎呀呀,那是你幻想出来的,你要学会不去理睬他。
其实你们都不明白,这只不过是造物主们在创造这个世界的时候故意设下的圈套,他们不过是想看我意志崩溃,用来采集他们所需的数据。每次你们认真的劝说我的时候,我都感觉好好笑。同时我也感觉好棒啊,整个世界只有我一个人知道这世界存在的意义,只有我一个人知道那个人的存在。
哦?其他「精神病人」?那不过是设计世界的时候的用来测试我的而已,他们所经历可确确实实是幻觉哦。</p>
<p>也许我可以找到一种方法来跑到这个世界的外部。那个世界的人总觉得自己的大脑闲着也是闲着,不如就拿来做「计算」呗。一群社会学家就在这些人的大脑中运行了我们的世界,而每个人都是根据那个世界的人物来生成。</p>
<p>直到有一天,我再也不能承受你们的迫害,这时候有个声音告诉我,它会偷偷帮助我离开这个世界,而我唯一要做的,只是从这里的跳下去。它会帮助我抢占那个世界的某个躯体,从而让我脱离这般苦海。</p>
<p>于是在一个雪夜,我拖着再也支撑不住的身体,跟随者飘荡的雪花,落到了雪白的地面上。</p>
<h2 id="精神分裂补充">精神分裂补充</h2>
<p>什么?不严密?</p>
<p>或许我会这么想,其实我们「精神病人」都是世界存在的目的,设计世界的人为了让实验数据更加准确,多添加了几个实验对象而已。当大多数「精神病人」都消失的时候,便是世界毁灭之日。于是,那个声音告诉所有的「精神病人」要在相同的时刻「自杀」。于是我们获得了新生,而你们,随着这世界一起毁灭去了。</p>
<h2 id="为何而死">为何而死</h2>
<p>如果你们有幸目睹发生这起自杀事件的现场,一定会不停的问自己,为什么这个家伙同时表现出了抑郁和精神分裂呢?真是匪夷所思。只是世界已经消失,你们不会没有机会去问这个问题了。</p>
<p>其实你们只是不知道,我患上的确是所谓的精神分裂,但那个你们认为是幻想出来的人,他却患了你们所谓的抑郁症。</p>
<p>当然,你们永远没有机会搞清楚,这世界只是一场游戏,而你们自己,才是那雾花梦影。</p>
<h2 id="后记">后记</h2>
<p>倘若我可以写出美妙的文字来,我一定会把这个无法流传的故事写成精彩的传奇,只是到头来,我不过是一个句子都写不通顺的笨蛋,而你,也就只能读到这样无趣的小短文罢了。</p>
面条儿
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/noodle
<p>我娘常说,学做饭,要从做面条开始。</p>
<p>于是我第一次做饭,就做了面条。那时候个子太小,灶台又高,只好使劲踮著脚,摇摇晃晃的拿了一双很长的筷子,把那些想立起来跳舞的面条一根根嗯到滚烫的水里面。
我娘说,每跟面条都有不一样的性格。紫色的面条会很安静,他们就藏在水里面,不会跑不会跳,最多扭扭身子;蓝色的面条很调皮,通常跳舞跳得最欢的,就是他们了;绿色的面条很认真,他们最守规则,跳舞也很呆板;橙子色的面条最胆小,他们也跳舞,但是最怕跟别的面条挤成一堆,所以总是跑到面条少的地方自个儿跳。</p>
<!-- more -->
<p>那白色的面条呢?我看到一根白色的面条突突的叫着,还跳起舞,边用长长的筷子把它摁到水中,边歪头问娘。</p>
<p>我娘笑笑,摸着我的头发,只是说,你长大了就明白了。</p>
<p>那天正好下着大雨,我这样歪这头,正好看到窗外的雨。耳朵里面听不到面条们的叫声了,窗外的雨声传来,哗哗啦啦,乒乒乓乓,像是一支乐队在我家院子里敲锣打鼓一样。</p>
<p>我做了好多年面条,渐渐的厌倦了用筷子把他们摁回去,便开始用锅盖盖住他们。有一次我把面条扔进水里,就跑到自己屋里开始做作业。面条们在锅里不怎么安分,竟然把锅盖打翻了。我很生气,那天就没有吃面条。跑到外面一家小店吃油条豆浆了。</p>
<p>从那天之后,我赌气好久都没有自己做面条。再之后,我一直离家在外,日子过得很忙,更是没有时间自己做饭。直到有一次回家,看到我娘拿出面条,我就说,我来做吧。</p>
<p>我娘问我,你还知道自己吃多少吧。我说,我记得。我一只手抓了一把,放进锅里。一只手抓得稳的,才是吃得畅快的。太多了,一只手抓不稳,也吃不下。</p>
<p>人上了年纪,就喜欢给孩子们唠叨故事。我娘这次给我讲了一个故事。故事我再也记不清了,只是记得那天跟娘吵了起来。
娘很伤心的说,你现在长大了,很多事情有自己的想法了。我这些故事是比不上你学得那些科学道理。你总是觉得活着就得活个明白就够了。你还小,日子久了,你就知道这人不是活得明白就会够了。我刚嫁给你爹的时候,你爹什么事情都想讲个明白,后来有一次我们吵架,你爹说不过我,就去自杀,差点死在这屋里。我也不是自己愿意嫁到这家来的。有些事情不是我们这辈人的事情,但是我们却得来背这个责任。你爹总想让你来继续担起这个责任,我说什么也不同意。我知道这件事情从此你这里就断了。你的路,还是你自己走吧。你就当我们本来什么也没有,不管你走什么样的路,都不需要有什么牵念。还有,人总是要死的,谁都有最后那一天。我担心将来你会有很多疑问。听我这句话,有些事情,不要弄得太清楚。</p>
<p>年轻的时候,总是听不懂大人的话,总是认为自己的想法才是对的。我没有说话,只是静静的煮面。面条还是不停的在锅里跳来跳去,每种颜色的面条还是有着不同的个性,有的面条想跟我说话,我却使劲把它们摁到滚烫的水里面,回头看到窗外的雨,娘坐在窗前发呆。这似曾相识的一幕,让我的眼泪哗哗流了下来。</p>
<p>又是多年之后,我接到一个电话,说娘生病了,让我快点回家。我连问了几遍,可是电话那头就是不告诉我什么病。
我知道的,我知道的,我知道的。人总有走的那一天,总会告别的。那天我下了飞机就大哭了一场,周围的人奇怪的看着我,可是我怎么也忍不住。我知道的,人总会死的。可是为什么我要哭,为什么我怎么也站不起来,为什么我的整个心像是拧成一团,为什么很多事情我想不明白。</p>
<p>那天他们告诉我,可以见最后一面,但是不要把眼泪滴在娘身上。我只是低头看了看娘的脸,眼里泪水不停的往外流,什么也看不清。</p>
<p>外面天气那么好,太阳那么亮。他们不停的说娘死的时候很快,不难受,不难受。</p>
<p>夜里做了好多梦,娘一直在梦里说话,说了很多,可是我却不能记得。这之后好多天,我总是觉得路上有人讲话很像我娘的声音。</p>
<p>我在家住了好多天。有一天,我看到一包打开的面条,里面各种颜色的面条们静静的躺着。好像哪里有个声音急切的告诉我,煮面条吧,给它们生命。</p>
<p>我煮起了面条。它们在水里跳啊跳啊,那么漂亮。白色的面条儿在说着什么,我怎么也听不清。</p>
<p>是在讲一个故事吧,我想。</p>
今夜请把我忘记
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/memo
<p>又一个平安夜,月亮安详的浮在夜之海上,它似乎在享受着虚无。地面是一片荒漠,没有丝毫的生机。可月光还是静静的飘了下来,静静地落在地上。</p>
<p>我躺在沙砾中,任凭月光压在身上……</p>
<p>我只是这个世界的一个附属品,是它实现自身价值的一颗棋子。我的存在是一种莫名的奇迹。<!-- more --></p>
<p>一</p>
<p>“10-9-8-”Jack挥舞着左手,右手轻轻地放在S键上,“3-2-1。”</p>
<p>一阵喧哗过后,我们都静了下来,似乎在等待着什么。</p>
<p>“等待着一次又一次的失败?好吧,先让我们假设它失败。但,那又如何呢?这个世界的忍耐是有限度的,只要我们勇往直前,它终究会给我们一条路的。”身为Jack最好的朋友我总是得陪他度过一次又一次的失败时光。</p>
<p>一边的玻璃柜里一阵噼里啪啦,我知道又失败了。</p>
<p>二</p>
<p>“菊花?”</p>
<p>“对,菊花!你们中国人是很喜爱菊花,对吗?”</p>
<p>我没有回答,Jack也就不再问。我来这个沙漠已经很久了,却从未见过一朵漂亮的花。除了几棵稀疏的野草和几间临时小屋,我们一无所有。一无所有的人不怕失去什么。这里血红的夕阳像一只轮子,把人们原有的梦想全部压碎,它们几乎成了碎末,我们无法重塑它。当初接受这个任务时我们满怀热情,好像成功就在眼前,而今……</p>
<p>对大多数人来说,失败只会消磨自己的锐气,吞噬自己的热情。我抓起一把沙向远处抛去。它们迅速的落下,如同获得生命一样开始运动,然后迅速的完成生命旅程落回到浩瀚沙漠中,沉溺。</p>
<p>“你再也找不到它们了,就好像它们从没有飞过。”Jack以一种近乎天真的眼神看着我。我知道他在想什么。</p>
<p>“你是说一个生命被上帝选中,抛到这个世界上,而后它迅速的完成一生,迅速的终结,就好像从没有存在过?”</p>
<p>“对,”Jack抬头看着渐渐暗淡下去的天空,“当初上帝抛出你的时候,你的命运就被决定了:沿着怎样的弧线,以怎样的角速度,甚至哪一侧着地。包括能影响你人生轨迹的风,也是世界控制你的方法之一。它甚至通过不确定性来控制你,影响你。”</p>
<p>繁星渐渐地显现出来,也只有当太阳的光辉不再压制繁星,它们的光芒才能体现。月光落下来,一层一层的覆盖在我的心上。多年之后,这一层层的忧郁的月光依然停留在那里,成了我生命的一部分。</p>
<p>“如果我们成功了,如果我们真的把大脑连成网络,如果我们真的实现了大脑之间的通信,我相信,”他听了一下,“这个世界会飞起来的。”</p>
<p>“我也相信。”我抬头望着天空,用微弱得几乎自己都听不清的声音说道。</p>
<p>又是一个漫长的夜晚,这样时刻无数次地重复着,直到那个本应让我们激动不已的日子</p>
<p>那天我醒的时候,太阳已经游荡在天上嘲笑我了—已经是接近中午,我听到有人欢呼,便来到实验室。</p>
<p>“成功了?”</p>
<p>“成功了。嗯,也就意味着下一个任务即将开始。我们的一生几乎都花在开始和结束之间了。真正为我们所拥有的,是那些尝试和失败。”</p>
<p>太阳近乎残酷的炙烤着每一粒沙,照着每一个脆弱的生命。它的热情我们无法承受。</p>
<p>三</p>
<p>多年之后,我被调离了那片荒凉的土地,重新开始了城市生活。我对这里已经是一无所知了,因而享受不了这种生活。太多的艰辛连同对这里的生活本身的无知,注定要让我迷茫,让我疑惑。生活残酷地将我们的人生理想打乱重排,让许多人的人生轨迹都偏向别人的目标。</p>
<p>慢慢的我开始习惯这一切,深夜的霓虹不再羁绊我的梦,所谓的朋友的拜访也就开始增多。他们大都是大脑网络的成员。几乎整个世界的人都被一些无形的东西连在了一起,就像我们一出生就被一些无形的东西系在了一个死亡的结局上。这些人找我只是想说服我加入大脑网络而已,因为每推荐一个人入网,他都会在网络中提升一个等级。</p>
<p>我也深知大脑网络的好处:享受更高的大脑反应速度,思维更敏捷。可以共享知识。可是,每当我想起沙漠中那一个个被毁的大脑,心里总还有些余悸。也许这种技术已发展到相当的程度了。但我还是让每一个来的人都失望而归。</p>
<p>事情总是无法预料的。几年后很多大脑网络的成员开始做相似的梦。而且总是梦见自己的皮肤渗出血液,渐渐浸透衣服,梦中的自己抱着头,在地上滚来滚去,最后脑浆迸裂。世界开始变得恐慌,有人预言末日来临。城市开始变得纷乱,人们毫无目的的乱转,等待着审判。我忽然记起了沙漠中我们静静的等待失败来临的时刻,世界耐心的把结果交给我们,然后我们漫无目的的在沙漠中乱转,直到下一个上班时间来临,直到下一个失败的开始。</p>
<p>时间总是默默前行,留下落在后面的人号啕大哭。这几天开始出现死亡病例。每一个死亡者都以“死亡之梦”中的恐怖的形式死去。世界是一个已经点燃的火药桶,政府的保密政策早已实效,这使得人们就像草地中的蛇,每一点微风都会引起极大反响。在这个即将爆炸的世界里,人们各自逃各自的命,这不是自私而是因为谁也帮不了别人,谁也没有资格同情别人。</p>
<p>人们都在逃。所有的人宁可相信死亡是驻扎在自己家里的。我坐在阳台的窗口上,无奈的看着人们疯狂的逃命。一阵阵酸楚淌满了我的心田。我不是电影中的救世英雄,我不能拯救世界。他们之所以成为英雄,是因为我们一开始便赋予了他们这样的命运。而我,一颗沙漠中被随手抛起来的最普通的沙粒,不可能具备这种命运。</p>
<p>四</p>
<p>十五年过去了,Jack,你还在沙漠中吗?有报告说,致人死地的是人脑中固有的向往死亡的心理,这个世界为我们展示了它那恐怖的预言。你说过上帝抛出我们的时候,就赋予了我们一个特定的命运。这也许正是对你的话的验证。</p>
<p>时间还是默默前行,落在后面的人还会号啕大哭,被抛起的沙粒还要遵守世界的安排。这一切注定要发生。现在我唯一能做的就是等待着这些人死去,然后和所剩无几的人重新开始生活。</p>
<p>这个平安夜就要结束了。十五年前的Jack也许已不再存在。零零碎碎的记忆也开始一点一点地剥落在我的生命后面。</p>
<p>我不再尝试回忆。任凭月光压在我的身上。</p>
<p>沉默的世界啊,今夜请把我忘记。</p>
一封永远寄不出的信
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/letter
<p>我还写过一篇,可能是第二篇悲剧性的小说吧。找出来附在下面:</p>
<p>那个时候我还没有看过流浪地球,其实那个时侯,大刘还没写呢!哎,说起来很没意思,我写不出硬科幻的,我不喜欢。我喜欢人情味!大刘的流浪地球确实是经典,我的想法只是大刘的幻想海洋中的一滴微不足道的水罢了。</p>
<!-- more -->
<h2 id="一封永远寄不出的信">一封永远寄不出的信</h2>
<p>二千年前的我:</p>
<p>这个星光灿烂的夜晚,我再也无法入睡。每次闭上眼睛都会想起那已经逝去的生活。那些美好的日子已经一去不复返了。</p>
<p>现在太阳依然会准时升起,但那已经不是真正意义上的太阳了。即使它拥有在强大的功能,又在强大的模拟太阳的能力,它也只是一个人造的巨型辐射装置。</p>
<p>除了人们都有些疯狂之外,地球上的一切都还正常。我还能看到森林、草原,鹰隼、牛羊,然而这一切都变成了一种生存,它们仅仅是一些生命而已。两千年前,你们会说:一切都是有灵性的,可现在它们的灵性早就被人类的智慧消磨掉了。</p>
<p>我不知道“搬家计划”是什么时候开始的,我只知道主持项目的是些喜爱技术的人。他们突发奇想的要把地球从太阳系中搬出去。首先,他们设计了一个太阳,这是整个工程最关键的一部分。太阳所涉及的不仅是能源和安全问题,它还关系到人们的心灵。因为在一个没有日出日落的世界上生活的人们是不会有灵魂的。</p>
<p>然后他们又设计了一个月亮,因为月亮被无情的留在了原来的地球轨道上。最后一步是“驾驶”着地球和那些令人厌恶的人造太阳和月亮组成的“飞船”离开太阳系。这一切就好像画画一样简单。</p>
<p>当初没有人反对,因为人们都很疯狂。从诞生以来,我们人类就是一种疯狂的生物。在一次次的危机之后,我们最终还是活了下来。现在我们可以任意改造世界,上帝造物的原理已经被我们掌握。我们从伊甸园的管家上升为园子的主人。</p>
<p>太阳还会天天升起,时光还会继续流逝,该发生的一切还是注定要发生。</p>
孩童的宇宙
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/creator
<p>我让雨下的小了些,好让他们能够更清楚的看清那道闪电。</p>
<p>如果是在那一年之前,你会选择沉默,你会用无言来抗议,然后我会轻轻的摸着你的头发,指指远处的花园,笑着说:哎呀,你看,他们把灯点亮了。你会很快的反驳我:哼,无聊。</p>
<p>可是现在,你却在另外一个世界。也许你正独自吃着午饭,泪珠流下来,落到饭碗里,你看到泪水快速的碎裂,包裹在饭粒上,然后终于忍不住,大声哭了出来。也许,你已经不在了。</p>
<p>那一年,又是哪一年?中午,又是什么?这些时间的标记对我来说,已经毫无用处。我曾经想要拥有更多的时间,可如今我却成为了时间。然而我怕遗忘,我不断的计算着你的世界,计算着这些时间标记。</p>
<p>我已经回不去了。</p>
<!-- more -->
<h2 id="我所求">我所求</h2>
<p>复杂之处在于,我们根本不理解自己,我们计算自己看到的世界,却不能计算自己本身。</p>
<p>人们都说我为计算而生。有人计算了宇宙,计算了星系,计算了行星,计算了生命的外壳,却从来没有人像我一样,能够计算生命本身。</p>
<p>我不是天才,我花了六年的时间完成了别人四年完成的学业。我不断的尝试去理解我们的世界如何运作,六年的本科,我把自己限制在了自然的世界:物质的基本组成和物质的统计行为。不管我们对这些理解的有多么深刻,却始终看不到自己:什么是生命?</p>
<p>世界如何运作,是一个不可以问的问题。每个人都会告诉你,你只能问灯泡为何发亮,问天空为什么是蓝色,问彩虹如何形成,断然不能问及世界是如何运作。我们所说的世界,无非是表象,我们的身体把世界翻译为一种内在的语言,借助这种翻译,我们解释了永远无法触及的真实。</p>
<p>毕业之后,我花了一年时间才写出第一篇学术论文。这是一篇没有意义的文章。论文计算了宇宙的演化,然而我却无法理解:为什么我们理解了物质的基本组成,找到了所有的基本场,却还是不能够解释我们是谁?自由意志是真实还是假象?统计物理如何解释生命的本质?一个孤立体系可能形成一个完整的自由意志么?</p>
<p>有位朋友立刻苛责,你问的不是物理问题,而是哲学问题了。然而,黑理论白理论,只要能够帮助理解问题,我又如何会拒绝。所以我才反问,为什么不能用物理的方法解决这些更深层次的为什么?</p>
<p>我意外的发现,之前的方法可以用于计算气象问题。传统遗传算法,有太多的地方不可靠,错误的调教,错误的参数,都会导致结果的偏差。我们需要做的是,赋予程序生命,让程序自己解决问题。</p>
<p>我的工作获得了很多关注,我不是第一个提出这个想法的,但是我实现了第一个完全通用的人工智能。有人对我说,上天也开始眷顾你了,真是平等。</p>
<p>平等是没办法很好量化的东西,所以说平等,没有多少意义。</p>
<h2 id="爱无终">爱无终</h2>
<p>我不记得故事如何开始,但是故事一开始,我就清楚的知道结局。时间是把利刃,粗鲁的削去故事的细节,却不能抹掉故事的结局。</p>
<p>我认识小 A 已经好多年了,一起读书过,一起疯玩过,只是我怎么都记不得,自己是如何认识她,又是如何走到一起的。</p>
<p>有很多令人痛恨的事物,我们不得不学会带着它们生活下去——癌症算是最常见的一种。我认识 A 时,她已经被确诊为胃癌。后来我陪她去做了切除手术,当然手术很成功,我们一起生活了好多年。</p>
<p>只是多年之后,当癌症再次卷土重来的时候,活着,也就仅仅变成了活着,我们每天的喜怒哀乐,都是因为我们不知道如何面对那个必然的结局。</p>
<h2 id="雪藏">雪藏</h2>
<p>她没有离开,我们最终同意把她雪藏。</p>
<p>我离开了原来住的地方。不要怀念过去,只是闭眼往前走。或许死是一个通向自由的门槛,只是门前铺满了倒刺,只有那些在门前徘徊的人才会痛苦,迈过门槛的人,就会获得自由。我们在门前徘徊太久了,她将要获得自由了,现在,我只想立刻这道门。</p>
<p>统计行为很有趣,我们不再去理解那些细节,而是关注整体。这不是人类认知能力的局限,而是世界的本质。世界在大量粒子出现的时候,有了新的规律,这些或许是我们无法从下而上的计算的。前人从中找到了宇宙更加本源的规律,而我要做的,只是利用这些规律编程。</p>
<p>从原理上讲,我需要面对的不再是二进制的计算机,而是更加细腻的时空。空间是离散的,布满了琴弦,每个琴弦都是一个可以操作的变量。我需要设计出在时空中编程的方法,首先需要设计出能够操作这些琴弦之间的耦合的方法,因为这样才能操作这台巨大的宇宙计算机。</p>
<p>沉闷的天气,热得出奇。我跑到街边的小餐馆吃午饭。正巧遇到儿时的好友小可。得知小可现在在做一个很大的太空粒子加速器项目,现在遇到很多舆论的困难。因为有人又开始鼓吹大型的加速器可能制造出黑洞,从而毁灭全人类。</p>
<p>哦。是的,这才是我的出路。终将有一天,我会拨动宇宙的琴弦。</p>
<h2 id="创世">创世</h2>
<p>我帮小可解决了很多问题,包括大众的无理取闹。这样我们花了四年时间建起了轨道粒子加速器。控制系统设置在地球和太阳的第一拉格朗日点。这里原来是一间太空坟场,当然也建有人体雪藏中心,我的小 A 便是在这间雪藏中心沉睡。</p>
<p>我们的控制室,就建在了坟场的阴影中。</p>
<p>地球上月圆之时,整个加速器控制中心只有我一个人。</p>
<p>是时候了。</p>
<p>我启动了加速器,设置了程序,然后按下了开始按钮。</p>
<p>只有一次机会,失败了,就什么都不会有了。</p>
<p>我拿出刀子,仔细的看着刀刃上的纹路。这些纹路规则的排列者,真是美的让人沉醉,他们似乎像我暗示自然简洁的规律。而我却用它深深的切进了颈动脉。</p>
<p>很快就会结束的。我们会再见面,你会好好的活下去。</p>
<p>我面向屏幕,意识慢慢散去。外面是安静的太空,我却似乎看到了树叶舞动。是秋风么?多年前的中秋节,我们在小树林中吃掉了那么多月饼,你笑着说,我要变成大胖子了,医生又要教训我了。可是你不知道,你没有吃掉那么多,我也没有,我只是把它们都放在毯子下面了。那天你好高兴,对我说:你看,我已经全好了。</p>
<p>你没有。</p>
<h2 id="生">生</h2>
<p>一个新的宇宙形成了。我不是死去的那个我,我只是死去的我的备份。我把自己编程到了这个新的宇宙中。</p>
<p>小可也许不会知道,我欺骗了她。我从一开始就要创造一个新的宇宙,我要能够像一个宇宙那样思考。终将有一天,我利用整个宇宙的计算能力,发现治愈小 A 的方法,找到重建躯体的方法,然后回到原来的世界,跟她重逢。</p>
<p>我为这个新的宇宙创造了星系,创造了地球。我计算着天气,计算着生命,计算着一切。</p>
<p>我为计算而生。</p>
<h2 id="文之末">文之末</h2>
<blockquote>
<p>“孩童之时,所言俱为孩童,所感知是孩童,所思亦复孩童,唯成年之后,便将童心摈弃。”</p>
<p>—— <cite>攻壳机动队 2.0</cite></p>
</blockquote>
<p>孩童之时,所言爱也是孩童之爱。作为个体存在,难以看到在整体这种集体层面上爱之虚妄。</p>
<p>我曾经言若孩童,思若孩童。我见过孩童的无奈,孩童的天真,我亦见过孩童之上,那如幽冥般存在的盖亚,她在沉默中安排的一切。你并非是你,你只是盖亚用来计算的一个节点。我的感知中,个体逐渐模糊,世界变成一个个盖亚,如精灵一般,然而却真实的存在着。</p>
<p>爱,不过是盖亚的棋子。所有的一切,都是精灵盖亚的计算,都是世界为了达到一个目的而布下的奇阵。而自由意志,也不过是大脑的欺骗,精灵盖亚让你的身体做出选择,然后通知意识,过长的时间分辨率,使得意识认为身体在自己的控制之下,即便事实相反——身体控制了意志。</p>
<p>我只是感知了一个新的宇宙。</p>
<p>如此,便不要再见吧。</p>
奈何桥
2014-09-23T00:00:00+00:00
http://openmetric.org/stories/bridge
<p>门前的银杏树老了。</p>
<p>许多许多年前,我还是个学生的时候,总是喜欢蹲在图书馆门前,眯好眼睛,静静的听那银杏果落在地上。砰!那时候的我总会相信那是生命的抗争,是卑微的生命向强大的天地展示自己的无所畏惧的精神。</p>
<p>残阳西沉,窗外的落叶渐渐变得模糊,新月也将西下,又一个残酷的夜晚即将到来。已经听到门外有人在哭泣:</p>
<blockquote>
<p>来生若得相见,还会不会与你再续前缘。</p>
</blockquote>
<!-- more -->
<p>我起身走到门前,抬头望着天花板,闭上眼睛静静的站了一会儿,然后轻轻的打开门。一个30岁左右的人,双目黯然无光,似乎他的灵魂已经抛弃了这个躯壳。
我看着他慢慢走进来,一下坠入正对门口的沙发中。我随手带上门,坐在他旁边的沙发上。沉默了好久,他把手中的协议书递给我。这是一年半前他从我这里拿走的。经过这么久深深的思考,最终他决定回来,决定放下他此生的一切。</p>
<p>看到协议书,我便开始准备那台仪器。以往这些时候,坐在那个位置上的人都会开始讲述,讲那些他们曾经经历过的故事,美好的或者悲伤的故事。似乎每个人在即将放弃过去的生命的时候,都会突然觉得那些回忆变的无比的重要,他们总是希望自己那些经历会永远的流传下去。或许他们开始觉得那些记忆才是他们的生命。我也总会记下这些人一生的故事,有时候这些故事仅仅是关于他们一生中那个难忘的人。故事听多了,总会觉得无聊。每个人似乎都有着同样的生活。</p>
<p>为何这个夜晚却是如此安静。他是决定要将过去全然抛弃么?还是悲痛已经完全将他的声音吞噬?我继续准备着那个将会拿走他曾经经历过的一切的仪器。我微微一笑,摇了摇头。</p>
<p>“奈何桥。”</p>
<p>他开始说话。又一次将我推进了无聊的时光。</p>
<p>“你这里就是奈何桥。我也有一颗银杏树,只是没有你这颗那样沧桑。我曾经跟她在树下约定,将来真的走到奈何桥边,我们要跟其他相知相识的人一起躲过孟婆,冲过奈何桥,这样我们两个来生就可以相认了。”</p>
<p>是爱情。我很少听到爱情。很少有人在思考十八月之后,带着凄凉的爱情故事回来。在一个人几百年的生命中,这段时光似乎过于短暂。然而如果是在这段时间中跟往事日夜纠缠,这段时光却是如此漫长。似乎爱情的伤痛并不会在十八个月的诀别中幸存下来。</p>
<p>他继续讲他的故事。一种似曾相识的感觉袭上心来。</p>
<p>清除器已经准备好了。我从来只是夜晚才工作。清除记忆是整个改变人生的工作中最核心却不是唯一的工序。之前的审查,之后为他们精心准备的场景安排,也都是非常重要的。我就是刽子手,只不过我砍掉的不是躯体的头颅,而是灵魂的头颅。他的故事还没有完。我坐下来静静的听他讲这个年轻而令人心碎的故事。恰恰如同我与王可的故事。
“我并不是无法忘却,只是不想忘却。我总是把这种感情看做是一种存在的证据。我寻遍了生活的每一个角落,却找不到属于自己的故事。我做过很多很多的工作,我希望在这些忙碌中找到那些真正属于自己的生活。可是每天太阳总是从东边升起,所有的人都在做相同的事情,每个人都在忙碌,可是找不到活着的迹象。”
他的声音慢慢淡去,回忆又一次浮上来将我包围。那些悲痛欲绝的日日夜夜,那些生生世世无法忘却的人,那些深深刻在脑海中的事,越来越沉重的压在我身上。他继续说着:
“何谓生?何谓死?那些曾经的回忆,真的是我存活的证据么?那些伤痛,所代表的是属于我的独一无二的故事么?我与她的纠结,难道不是千万年来重复的故事么?那么多的故事,都变成了苟活一生而麻木无情的生活。我应该是一个强者,我应当去战斗,去迎接新的挑战。在新的生活中,我一定会回到那株银杏旁,聆听银杏落下的声音……”
清除是个很缓慢的过程,我有很长的时间来为他准备以后的人生。</p>
<p>只是,我累了。窗外的银杏树森森的阴影印在窗上,</p>
<p>“何谓生?何谓死?”我重复着他的话,“多年前的崔晨还算是活着么?躯体湮灭、精神永生,生命还在继续么?我是什么?一个死去的躯壳么?一段本应湮灭的回忆么?我所学过的技能么?Maine 的 Eva 是什么?那些被我杀死的灵魂算什么?幻觉带给我们的人生难道不是真是的人生么?只要永远不再醒来,坠入幻想又有何错?我为什么要选择带着已经衰老的躯体和痛苦的回忆继续生活?难道不能放弃那些沉重的回忆么?那颗老去的银杏能够经历几百年的沧桑,还可以结这么多年的银杏果。倘若她能够思考呢,倘若树木也能够感受世间的悲苦,几世几劫之后,有还有几株树材立于世间?”</p>
<p>人生便从此烟飞火灭了吧。</p>
<p>或许总会听到一首似曾相识的歌悠悠的在耳边响起,而后又慢慢的散去,或许常常会在一瞬间记起一个模糊的身影,而后又慢慢忘却。那些往事仍在,我却已然忘却。</p>
四元数和转动
2014-05-21T00:00:00+00:00
http://openmetric.org/sciencecn/quaternian
<p>上周 (May 21, 2014,此文已经多次更新) colloquium 的时候,第一次听到 quaternion 这个词,觉得很新鲜。quaternion 的矩阵表示是</p>
\[\begin{equation}
q = \begin{pmatrix}\;z & w \\ -w^* & \;z^*\end{pmatrix} .
\end{equation}\]
<p>当时这个定义写出来,我立刻就想到了复数 $C = a+ib$ 的矩阵表达,</p>
\[\begin{equation}
C = \begin{pmatrix}
\;\; a & b \\
- b & a
\end{pmatrix}.
\end{equation}\]
<p>或者说,任何复数都可以写成</p>
\[\begin{equation}
z=a \mathbf I + b \mathbf J
\end{equation}\]
<p>的形式。$\mathbf J$ 定义为 $i \boldsymbol \sigma_2$. 也就是说这里所有的元素都是实数,是复数的一种表示方式。</p>
<p class="notes--info">也有定义 $\mathbf J = - i \boldsymbol \sigma_2$ 的方式,这样的定义好处是可以直接跟转动对应起来。</p>
<div class="notes--info">
<p>之所以可以写成这样的形式,是因为</p>
<p>\begin{equation}
\mathbf J ^ 2 = - \mathbf I.
\end{equation}</p>
<p>这样就跟虚数单位 $i$ 很像。这里似乎有一个可以自由选择 $\mathbf J$ 的符号的问题。</p>
<p>另外这个原因跟 $\mathbf J$ 的本征值是 $\pm i$ 有关。</p>
</div>
<p>仿照复数的矩阵表达,我们可以想象如果把用来做基的矩阵扩展到复数域上的矩阵,那么就可以扩展基的个数,从而扩展数的行为,而且在选取某些基前面的系数为零的时候,可以退化到复数的情况。也就是说,quaternion 矩阵表示的基可以用复数的矩阵来表示,也暗示了我们需要使用更多的 Pauli Matrices.</p>
<p>例如文章开头的四元数 $q$ 可以拆解为</p>
\[\begin{equation}
q = \begin{pmatrix}
z & w \\
-w^* & z^*
\end{pmatrix} =
z_ R \mathbf I + z_ I \mathbf J_ 3 + w_ R \mathbf J_ 2 + w_ I \mathbf J_ 1,
\end{equation}\]
<p>其中 $\mathbf J_i = i \boldsymbol \sigma_i$.</p>
<p>一个非常有趣的问题是,既然复数常常可以解释为转动,那么四元数是否也是对应某种转动呢?</p>
<div class="notes--info">
<p>复数理解为转动的想法,可以在复数坐标系里面理解。虚数部分和实数部分形成一个坐标,或者向量,可以解释为一个跟实数轴正向形成的角度,复数乘法可以解释为角度的相加。这个可以使用三角函数关系证明。</p>
<p>当两个复数相乘的时候,其实是实数部分会和虚数部分以及虚数单位相乘,而一个实数乘上一个虚数单位,其实就把这条边转动了90度。</p>
<p>换个角度来看这个问题,那就是转动的矩阵表达其实就是</p>
\[\begin{pmatrix}
\cos \theta & -\sin\theta \\
\sin\theta & \cos\theta
\end{pmatrix} = \cos \theta \mathbf I - \sin \theta \mathbf J.\]
</div>
<h2 id="四元数的几个好玩的性质">四元数的几个好玩的性质</h2>
<p>做了这样的推广之后得到的 quaternion 还有还好的性质,</p>
<ol>
<li>在加法,乘法和实数乘法下面是 closed.</li>
<li>模是两个复数的模之和。</li>
</ol>
<p>这些性质都很容易验证,特别是在 closed 这条,我们可以进一步验证这构成一个群。</p>
<p>还有一个非常漂亮的性质就是自己乘以自己的 hermitian conjugate 等于其模乘以单位矩阵,</p>
\[\begin{equation}
q^\dagger q= q q^\dagger = \| q \|^2 I.
\end{equation}\]
<p>为什么这个漂亮呢?因为这样我们就可以往 $2\times2$矩阵里面随便插入这个量除以其模。</p>
<p>另外一个非常有趣的事情是,quaternion 可以跟 Pauli matrices 联系起来。从之前的矩阵分解来看,一个任意的 quaternion,可以通过 Pauli matrices $\vec \sigma$ 和一个四向量 $\vec x$ 来生成,</p>
\[\begin{align}
q(x) & = x^0 - i \vec{\boldsymbol\sigma} \cdot \vec x \\
& = \begin{pmatrix} x^0 - i x^3 & -x^2 -ix^1 \\ x^2 -i x^1 & x^0 + i x^3 \end{pmatrix}.
\end{align}\]
<p>这个也正好体现了 Pauli matrices 外加单位矩阵的完备性。</p>
<p>再加上 Pauli matrices 跟转动有关,所以这个简单的推广在物理中有很重要的应用。</p>
<h2 id="转动">转动</h2>
<p>回想一下,欧式空间的转动,</p>
\[\begin{equation}
R \circeq \begin{pmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{pmatrix},
\end{equation}\]
<p>显然这个转动是个复数,写成常见的复数形式,应该是</p>
\[\begin{equation}
R \circeq \cos\theta - i \sin\theta,
\end{equation}\]
<p>进一步用欧拉公式,</p>
\[\begin{equation}
R\circeq e^{-i \theta}.
\end{equation}\]
<p>然后这里可就让我们想到了这是二维欧式空间转动的生成元。</p>
<p>除了生成元的看法,还有一种比较直观的方法来理解转动,那就是给定一个复数,另一个复数作用上去的结果是一个转动过的复数。</p>
\[\begin{equation}
z_1 z_2=(\rho_1 e^{i\phi_1}) (\rho_2 e^{i\phi_2})= \rho_1\rho_2 e^{i(\phi_1+\phi_2)}
\end{equation}\]
<p>也就是说,一个复数 $z_1$ 作用在另一个复数 $z_2$ 上产生了两个效果:</p>
<ol>
<li>长度增加了 $\rho_1$ 倍</li>
<li>角度转动了 $\phi_1$</li>
</ol>
<p>再换句话说,单位长度复数作用在另一个复数上的结果是一个纯粹的转动。</p>
<p>要理解四元数对应的转动,需要先指明四元数对应的空间。如果我们指定四元数的长度,那么可以看到是一个四个参数的长度,其实是半径,也就是可以看作四维空间中的三维球面。作为对照,定长复数是个二维的圆。</p>
<p>在三维欧氏空间中,围绕任意单位矢量 $\hat u = u_1 \hat e_1 + u_2 \hat e_2 + u_3 \hat e_3$ 转动角度 $\theta$ 的生成元是</p>
\[\begin{equation}
e^{\frac{\theta}{2} \hat u} = \cos \frac{\theta}{2} + \hat u \sin \frac{\theta}{2}.
\end{equation}\]
<p>如果我们把一个四元数的各个基 $\mathbf J_i$ 分别跟 $\hat e_i$ 对应起来,那么我们就可以把四元数作为三维的转动来理解转动来理解。例如对于任意的四元数我们可以写成</p>
\[\mathbf q = \lvert q \rvert \left( \cos \theta \mathbf I + \sin\theta \frac{ u_1 \mathbf J_1 + u_2 \mathbf J_2 + u_3 \mathbf J_3 }{ \lvert u_1 \mathbf J_1 + u_2 \mathbf J_2 + u_3 \mathbf J_3 \rvert } \right).\]
<p>这样一来,$\hat u$ 就跟 $ \frac{ u_1 \mathbf J_1 + u_2 \mathbf J_2 + u_3 \mathbf J_3 }{ \lvert u_1 \mathbf J_1 + u_2 \mathbf J_2 + u_3 \mathbf J_3 \rvert } $ 对应起来了。这里我们直接用 $\hat{\mathbf u}$ (粗体是因为这里是矩阵表示)替换这一项,</p>
\[\mathbf q = \lvert q \rvert \left( \cos \theta \mathbf I + \sin\theta \hat{\mathbf u} \right).\]
<p>这样我们就可以用 Euler 公式来重新写出四元数 $\mathbf q$,</p>
\[\mathbf q = \lvert q \rvert e^{ \theta \hat {\mathbf u} }.\]
<p>其中的粗体的矩阵无非就是等价于坐标轴的单位矢量。</p>
<p>对于任意的三维空间的矢量 $\vec s$,我们可以把这个矢量围绕一个矢量 $\hat u$ 转动 $2\theta$ 写作 $\mathbf q \vec s {\mathbf q}^{-1}$.</p>
<h2 id="hamiltonian">Hamiltonian</h2>
<p>我们可以看一下一个二能级系统的 Hamiltonian,因为是 $2\times 2$,所以可以使用 Pauli matrices + identity 展开,然而 identity 对应的是个 global phase,所以我们可以只用 Pauli matrices 来表示一个 Hamiltonian,</p>
\[\begin{equation}
\mathbf H = \vec h\cdot \vec{\boldsymbol \sigma} = -i \vec h \cdot \vec{ \mathbf J }.
\end{equation}\]
<p>对于一个 unitary 的变换 $\mathbf U_0=\cos\theta \mathbf I + \sin\theta\hat{\mathbf H}$ 作用在 Hamiltonian 上,即 $\mathbf U_0 \mathbf H \mathbf U_0^\dagger$,我们可以证明这是 Hamiltonian $\mathbf H$ 的旋转。</p>
\[\begin{equation}
\mathbf U_0 \mathbf H\mathbf U_0^\dagger =(\cos \theta \mathbf I + \hat{\mathbf{H}}\sin\theta) \mathbf{H}(\cos \theta \mathbf I + \sin \theta \hat{\mathbf{H}}) ^\dagger = \mathbf{H}.
\end{equation}\]
<p>为了看清楚这个转动,我们刚刚定义一个正交空间,$\{\mathbf I, \vec{\mathbf J}\}$。通过 Hamiltonian 的写法已经比较明显,就是我们的基矢是 Pauli matrices 组成的。我们构造的转动,其实是一个围绕 $\hat{\mathbf H}$ 的转动,因为我们发现我们构造的转动对 $\mathbf H$ 不起作用。这类似于欧氏空间的转动,围绕自身为转动轴的转动不改变这个矢量本身。</p>
<p>那么一个更加一般的 unitary 变换呢?例如 $\mathbf U=\cos\theta \mathbf I + \sin\theta \hat{\mathbf u}$,这里 $\hat{\mathbf u}=\hat u \cdot \boldsymbol{\sigma}$ 是个单位矢量(等价于说 $\vec u$ 是个欧氏空间的单位矢量)。 我们可以证明 $\mathbf U \mathbf H \mathbf U^\dagger$ 是一个围绕转动轴 $\hat{\mathbf u}$ 的转动,转动的角度是 $2\theta$.</p>
<h2 id="中微子物理">中微子物理</h2>
<p>在场论中,常常遇到需要转换态空间的情况。例如对于中微子来说,真空中的中微子振荡的 Hamiltonian 在味道空间写作</p>
\[H \to \mathbf H_f = \frac{\omega}{2}\begin{pmatrix}
-\cos 2\theta & \sin 2\theta \\
\sin 2\theta & \cos 2\theta
\end{pmatrix} = -\frac{\omega}{2}( \cos 2\theta \boldsymbol\sigma_3 + \sin 2\theta \boldsymbol\sigma_1 )\]
<p>也就是说,这个 Hamiltonian 可以看作是</p>
\[\mathbf H_p = - \frac{\omega}{2} \boldsymbol \sigma_3\]
<p>以 $i \boldsymbol \sigma_2$ 为轴转动 $\theta$ 的结果。</p>
<p>而这里 $\mathbf H_p$ 就是本征能量基上的表示,而 $\mathbf H_f$ 是味道空间的表示,两者之间相差一个转动。这也就是所谓的 Flavor Isospin Language. 当然如果想要把整个 Schrodinger 方程变成三维空间里的矢量语言,我们需要对波函数(或者密度矩阵)做相应的处理。</p>
爱情的量子理论2
2014-05-21T00:00:00+00:00
http://openmetric.org/sciencecn/quantum-love-2
<p>系列文章目录:</p>
<ul>
<li>第一篇:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></li>
<li>第二篇:<a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a></li>
<li>第三篇:<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">心理叠加态:从量子爱情到人的所有心理</a></li>
<li>第四篇:<a href="/sciencecn/quantum-psychology-cognition-and-statistics/">基于统计数据的量子爱情</a></li>
</ul>
<hr />
<p>这是系列文的第二篇,第一篇在此:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></p>
<hr />
<p>之前写过 <a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a>,由于只是初步想法,所以很多事情没有说清楚。这篇文章就尝试把这些概念弄清楚。所要讨论的大致包括主要假设的确定,状态的描述,演化方程以及结果的提取。</p>
<p>总的说来,思路是这样的,我们提取了量子力学里面的一些方法,然后找出合适的方法来描述爱情。总结在一个 Mindmap 中,是这样的:</p>
<figure>
<figcaption>
Quantum Theory of Love,源文件在此:<a href="https://raw.github.com/emptymalei/QuantumLove/master/mindmap/quantumLove.mup">Mindmap of QuantumLove@GitHub</a>,可以用这个 <a href="http://www.mindmup.com/">Mindmup</a> 看。
</figcaption>
<p><img src="http://openmetric.org/images/posts/quantum-love-2/quantum-Love.png" alt="" /></p>
</figure>
<h2 id="基本假设">基本假设</h2>
<p>上面那个 Mindmap 做成英语的是因为打算跟系里的人讨论,为了方便阅读,做一个中文的表格吧。</p>
<table>
<thead>
<tr>
<th style="text-align: left">~</th>
<th style="text-align: center">量子力学</th>
<th style="text-align: center">爱情理论</th>
<th style="text-align: center">爱情中的例子</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left">状态描述</td>
<td style="text-align: center">Hilbert 空间的态矢</td>
<td style="text-align: center">Hilbert 空间态矢</td>
<td style="text-align: center">$\ket{\mathrm{Boy}} + \ket{\mathrm{Girl}}$</td>
</tr>
<tr>
<td style="text-align: left">对易子</td>
<td style="text-align: center">$[\hat x, \hat p]=\mathrm i \hbar$</td>
<td style="text-align: center">(似乎暂时不需要)</td>
<td style="text-align: center">~</td>
</tr>
<tr>
<td style="text-align: left">全同粒子</td>
<td style="text-align: center">粒子交换算符作用</td>
<td style="text-align: center">同样要考虑人的全同性<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></td>
<td style="text-align: center">性别单态和三重态<sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></td>
</tr>
<tr>
<td style="text-align: left">算符</td>
<td style="text-align: center">Hermitian 的算符</td>
<td style="text-align: center">待讨论<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup></td>
<td style="text-align: center">~</td>
</tr>
<tr>
<td style="text-align: left">测量</td>
<td style="text-align: center">坍缩或退相干</td>
<td style="text-align: center">坍缩或退相干</td>
<td style="text-align: center">$\ket{\mathrm{Boy}}\bra{\mathrm{Boy}}$ 作用在 $\ket{\mathrm{Boy}} + \ket{\mathrm{Girl}}$ 上态会变成 $\ket{\mathrm{Boy}}$ 因为这是此算符的本征态</td>
</tr>
<tr>
<td style="text-align: left">演化</td>
<td style="text-align: center">Schrödinger 方程;密度算符</td>
<td style="text-align: center">Schrödinger 方程;密度算符</td>
<td style="text-align: center">$\mathrm i \hbar = [\hat H, \hat \rho]$</td>
</tr>
</tbody>
</table>
<p>这里面比较重要的是态的描述、测量和演化。</p>
<p><strong>态的描述中提到了一个人的状态是 Hilbert 空间的态矢,这非常重要,因为这样一来,同一个空间中的态的线性叠加还是这个空间中的一个态。也就是说这允许我们这样来描述性别和爱情状态的叠加态。</strong></p>
<p>我们为什么要把性别描述成叠加态呢?因为从心理上来看,男性心理和女性心理之间的区别并不是那么大。但是从测量上来看,我们需要一个性别的算符,因为这是我们关心的事情:男孩暗恋女孩、女孩爱着男孩。所以性别是我们喜欢用的态空间,即</p>
\[\{\ket{\mathrm{Boy}},\ket{\mathrm{Girl}} \}\]
<p>用花括号括起来的态来表示空间,意思是这两个态以及他们的线性组合。</p>
<p>所以如果我们写下一个态,</p>
\[C_1 \ket{\mathrm{Boy}} + C_2 \ket{\mathrm{Girl} }\]
<p>表示一个人是有 $\lvert C_1\rvert^2$ 成分的男孩和 $\lvert C_2\rvert^2$ 的女孩组成的。我个人觉得这是通常的一种情况吧,有时候像个男孩,有时候像个女孩。</p>
<p>这样当我们测量性别本征态的时候,单次测量的结果是以 $\lvert C_1\rvert ^2/(\lvert C_1\rvert^2 + \lvert C_2\rvert ^2)$ 的概率出现男孩,$\lvert C_2\rvert^2/(\lvert C_1\rvert ^2 + \lvert C_2\rvert^2)$ 的概率出现女孩。</p>
<p>那么,你会问,我们的算符应该是什么样呢?</p>
<p>回忆一下,在 Stern Gerlach 实验中,对于自旋 1/2 的电子测量的时候,如果使用了 Pauli 矩阵,</p>
\[\sigma_z = \begin{pmatrix}1 & 0\\ 0 & -1\end{pmatrix}\]
<p>同样,我们可以使用 $\{ \ket{\mathrm{Boy}},\ket{\mathrm{Girl}} \}$, 然后处在男孩态可以写成 $(1,0)^T$。那么测量男孩女孩就对应于</p>
\[G_z = \begin{pmatrix}1 & 0\\ 0 & -1\end{pmatrix}\]
<p>我们会发现男孩女孩态正好是这个算符的本征态。</p>
<p>对于演化,通常的 Hamiltonian 是不含时间的,所以我们可以定义一个非常简单的幺正的算符,Propagator, $\hat U(t,t_0)$,可以把一个状态从 $\ket{\mathrm{\psi(t_0)}}$ 演化到 $\ket{\mathrm{\psi(t)}}$ ,不含时间的 Hamiltonian 对于的 propagator 比较简单,就是</p>
\[\hat U(t,t_0) = e^{-\mathrm i \hat H (t-t_0)/t}\]
<p>所以,到目前为止,只要我们找出合适的 Hamiltonian,剩下的问题(一般而言)就是解方程了。</p>
<h2 id="态的解释">态的解释</h2>
<p>解释(interpretate)一个态是什么意思,在我们在一个领域中引入新的方法的时候变得非常重要,因为无论如何,我们至少应该能够跟对应的具体的问题对应起来。</p>
<p>之前我们引入了直积,并且提到了两个人放在一起可以组成两类状态,一类是性格三重态,其中一种是</p>
\[\ket{\psi_{t0}} = \frac{1}{\sqrt{2}} (\ket{\mathrm{Boy}}\ket{\mathrm{Girl}} + \ket{\mathrm{Girl}}\ket{\mathrm{Boy}} )\]
<p>另一类是性格单态,</p>
\[\ket{\psi_{s}} = \frac{1}{\sqrt{2}} (\ket{\mathrm{Boy}}\ket{\mathrm{Girl}} - \ket{\mathrm{Girl}}\ket{\mathrm{Boy}} )\]
<p>这里面有了纠缠,就是说如果现在有两个人,他们处在 $\ket{\psi_{t0}}$ 态,那么如果我们通过测量知道一个人是 $\ket{\mathrm{Boy}}$ 态,那么另一个人必然是 $\ket{\mathrm{Girl}}$ 态。这个结果是不是说的过去,我并不是非常的确定。从豆瓣的一些帖子或者我说来看,似乎给我一种印象是,爱情中的两个人似乎常常是一个偏女性,一个偏男性,这么说来似乎也说的过去。另外一对情侣,常常是一个主内一个主外,两个同时主内或者两个同时主外,似乎会有冲突,从波函数来看,同时发现他们主内或者同时发现他们主外的概率是零。</p>
<p><strong>这就是所谓的 Pauli 不相容原理。根源上还是人的全同性,即,在我们的简单的模型中,如果爱情状态波函数相同,去掉了性别属性波函数,剩下的是完全相同的,把他们混在一起,是无法区分两个人的。</strong>例如,两个人的爱情状态都是单身,</p>
<p>\(\ket{p_1} = \ket{\mathrm{Single}}\)
\(\ket{p_2} = \ket{\mathrm{Single}}\)</p>
<p>那么我们把这两个人自由的放在一起(等价于说体系的 Hamiltonian 是 $\hat H = \hat H_1 + \hat H_2$),不考虑性别状态,总的波函数应该是,</p>
\[\ket{\psi(1,2)} = \ket{\mathrm{Single}}\otimes \ket{\mathrm{Single}}\]
<p>是么?显然不一定。取决于性别状态波函数是什么样子的。</p>
<p>一个比较有趣的情形是,如果两个人处在性别三重态上,性别波函数是对称的,由于总的波函数应该是反对称的,两个人组成的体系的爱情状态应该是</p>
\[\ket{L} = \frac{1}{\sqrt{2}}( \ket{\mathrm{inLove}}\ket{\mathrm{Single}} - \ket{\mathrm{Single}}\ket{\mathrm{inLove}} )\]
<p>我们不能同时发现两个人处在相同的状态上,在现实中,可以解释为,如果两个人处在性别三重态,那么两个人不能同时 inLove 或者同时 Single。物理问题中,原因当然是交换算符的作用。那么现实中原因是什么呢?可以理解为,这种情况可以理解为单恋。</p>
<p>如果两个人处在性别单态上,那么</p>
\[\ket{L} = \frac{1}{\sqrt{2}}( \ket{\mathrm{inLove}}\ket{\mathrm{Single}} + \ket{\mathrm{Single}}\ket{\mathrm{inLove}} )\]
<p>对应单恋,</p>
<p>或者</p>
\[\ket{L} = \ket{\mathrm{inLove}}\ket{\mathrm{inLove}}\]
<p>对应两人相爱,</p>
<p>再或者</p>
\[\ket{L} = \ket{\mathrm{Single}}\ket{\mathrm{Single}}\]
<p>两人对对方相互没感觉。</p>
<p><strong>这里可以看到,虽然,性别三重态显然决定了两个人不能相爱,但是到底两个人是相爱、单恋还是对对方无感,并不仅仅取决于性别态,因为处在性别单态的两个人,可以有三种可能情况。</strong></p>
<p>到现在位置,我们讨论了很多状态的描述和解释,以及测量的问题。另外一个大问题是演化的问题,这也涉及到如何让两个原本不想爱的人相爱,如何让爱你的人爱上你,如何让爱你的人变得不爱你这样的问题。关于这些,我会写在量子爱情系列的下一篇中。</p>
<hr />
<p>这是系列文的第二篇,第一篇在此:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>之前的文章中提到了:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a>。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">↩︎<sup>2</sup></a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>由于暂时没有实数本征值的需求,索要待讨论。 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
空间站人造重力
2014-05-21T00:00:00+00:00
http://openmetric.org/sciencecn/oneill-space-station
<p>我们在地球上生活,会体验到重力作用。虽然很多时候我们都想摆脱重力,自由的飞翔,但是重力对于我们的生活和健康有很重要的作用。例如我们走路,如果没有重力,轻轻一碰地面就飘起来了,走起路来可就得手脚并用了。或许这并不坏,可是如果我们想要冲一杯热茶,谁知道却怎么也没法把热水倒出来。更要命的事情是,在失重状态下,人的骨骼和肌肉的会有严重的问题。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></p>
<p>所以,如果要建造大规模的民用空间站,需要先解决失重的问题。一个比较有趣的方法是 O’Neill 提出的通过让空间站旋转来模拟重力。</p>
<h2 id="oneill-cylinder">O’Neill Cylinder</h2>
<p>O’Neill 这种空间站的最简单的模型是一个旋转的圆桶,例如下图里面这个大型的桶状结构:</p>
<figure>
<figcaption>
图片来源:http://imageshack.us/photo/my-images/11/1109702023694.jpg/
</figcaption>
<p><img src="http://openmetric.org/images/posts/oneill-space-station/spacestation-636x310.jpg" alt="" /></p>
</figure>
<p>当然,我们要研究物理,不需要这么花哨,只需要画一个圆筒就行了:</p>
<figure>
<figcaption>
图片来源 http://www.dvandom.com/coriolis/spacestation.html
</figcaption>
<p><img src="http://openmetric.org/images/posts/oneill-space-station/oneilcan.jpg" alt="" /></p>
</figure>
<p>只要让这个圆筒适当的旋转,生活在圆筒内壁的人就可以体验到模拟的重力。这是一个比较容易理解的现象,比如杂技团常常表演的水流星节目,也就是拿了一对盛有水的碗,用绳子连起来,然后旋转他们,如下图:</p>
<figure>
<figcaption>
水流星
</figcaption>
<p><img src="http://openmetric.org/images/posts/oneill-space-station/waterMeteor.gif" alt="" /></p>
</figure>
<p>旋转时让碗口朝向内侧,这样水不会洒出来。原因大家也都清楚,是一种离心作用。</p>
<h2 id="coriolis-effect">Coriolis Effect</h2>
<p>但是,站在空间站内壁的人们还会体验到另外一种作用,就是 Coriolis 作用。关于这种作用,可以看下面的这个视频:</p>
<embed src="http://player.youku.com/player.php/sid/XNjA0NjY5MzY=/v.swf" allowfullscreen="true" quality="high" width="480" height="400" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash" />
<p>(iOS请点击视频链接:<a href="http://v.youku.com/v_show/id_XNjA0NjY5MzY=.html">http://v.youku.com/v_show/id_XNjA0NjY5MzY=.html</a> )</p>
<p>这个视频说的是,如果我们站在一个转动的圆盘上面开炮,会发现似乎有一只神奇的手把炮弹推向了一边,而不是我们常识中的(在地面的投影)是一条直线。这只神奇的手就是科里奥利力。当然,如果我们站在地面上看,而不是圆盘上,炮弹自然还是一条直线。</p>
<p>当然 Coriolis effect 在地球表面(绝大多数地点)也是有的,只不过在日常起居生活中这种效应很小,所以我们下面的讨论自由落体运动的时候就忽略地表的 Coriolis effect 了。</p>
<h2 id="自由落体运动">自由落体运动</h2>
<p>我们生活中最熟悉的运动之一是自由落体运动,例如:</p>
<figure>
<figcaption>
落体运动
</figcaption>
<p><img src="http://openmetric.org/images/posts/oneill-space-station/falling.jpg" alt="" /></p>
</figure>
<p>(当然,我们通常说的自由落体是指是理想的情况,没有空气阻力。)</p>
<p>初速度为零,从距离地面高度为 h 的地方开始自由落体的物体的运动是由下面的公式描述的:</p>
\[\begin{equation}
x=h-\frac{1}{2}g t^2
\end{equation}\]
<p>其中 g 是指的重力常数。</p>
<p>那么如果我们在 O’Neill Cylinder 这种空间站中还会有这种自由落体运动么?</p>
<h2 id="oneill-cylinder-中的自由落体运动">O’Neill Cylinder 中的“自由落体运动”</h2>
<p>如果我们在空间站中建造一个比萨斜塔,高度为 h,然后我们从斜塔上面让一个小球自由的下落(从空间站参考系来看),那么小球的运动是什么样的呢?</p>
<p>简单的想想,落体运动应该是还有的,因为我们在斜塔顶部放手之后,从一个外部的观察者看来,小球接下来是在做匀速直线运动,这样总会撞到桶壁。只是这种运动还会是跟地面上的自由落体运动一样么?</p>
<p>经过简单的计算,在一个半径为 R 的旋转角速度为 $\omega$ 的 O’Neill Cylinder 中,如果斜塔的高度 h< <R,并且小球落地的时间是远远小于圆筒转动一个周期的时间,那么我们可以得到从斜塔上面落体的运动方程(保留到 $(\omega t)^3$):</p>
\[\begin{equation}
z'(t) = h - \frac{1}{2} R (\omega t)^2 \\\\
x'(t) = -\frac{1}{3}R(\omega t)^3
\end{equation}\]
<p>这里的 z’ 坐标半径方向的,也就是空间站内部人看来的竖直向上,x’ 是指的沿着转动方向与 z’ 轴垂直的轴的坐标。下面是一个空间站的截面图,里面绘制了坐标的约定:
<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2013/11/ScreenshotAt.png" alt="ScreenshotAt" width="550" /></p>
<p>如果仅仅保留到 $(\omega t)^3$ 阶,那么在竖直方向上,确实看起来是一个自由落体运动,只需要让空间站的参数满足 $R\omega^2 = g$ 就可以跟地面一样了(g 是重力加速度)。但是,同时在(空间站内部看来的切平面)“水平”方向有个偏离(由上面提到的 Coriolis effect 引起的),但是这个偏离很小,如果空间站参数满足了竖直方向的自由落体运动跟地面一样,那么当物体“落地”后,这个偏离跟下落高度 h 的比值只有</p>
\[\begin{equation}
\frac{x'}{h} = -\frac{2\sqrt{2}}{3}\sqrt{\frac{h}{R}}
\end{equation}\]
<p>在上面所说的参数下,只要我们的下落高度跟空间站半径比起来小得多,这个偏离就可以忽略,空间站里面的自由落体就跟地面的自由落体相差不多。</p>
<p>如果我们的下落高度 h 太大,那么物体就会偏离半径这条线比较大了。</p>
<p>如果我们建造一个半径 10km 的空间站,并且让空间站转动角速度大约为 0.03 rad/s,那么空间站的内壁上面就会有一个跟地球表面重力加速度一样的“模拟的重力加速度”。如果我们从 10m 的地方让一个物体自由落体,“水平”方向的偏离只有 0.3 米。在正常生活中,完全是一个可以接受的偏离。</p>
<h2 id="其他运动">其他运动</h2>
<p>这篇文章只是分析了自由落体运动,这个分析起来非常简单,我们甚至可以轻松的写出不带近似的完整的运动方程。那么,其他的运动如何?几个有趣的事情是:</p>
<ol>
<li>在空间站内踢足球</li>
<li>在空间站内制作单摆(或者使用摆钟)</li>
<li>开车(高速和低速)</li>
</ol>
<p>这些都是可以分析的。</p>
<hr />
<h2 id="参考">参考</h2>
<hr />
<h2 id="附录">附录</h2>
<p>这个问题的解法在这里:
<a href="http://openmetric.org/images/posts/oneill-space-station/ONeilCylinder.pdf">ONeilCylinder</a> (Credit: <a href="http://en.wikipedia.org/wiki/Carlton_M._Caves">Carlton M. Caves</a>)</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>http://science1.nasa.gov/science-news/science-at-nasa/2001/ast02aug_1/ <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
僵尸的悲惨故事
2014-04-24T00:00:00+00:00
http://openmetric.org/sciencecn/zombies-master-eqn
<p>这是一个关于僵尸的悲惨的故事。有一位可怜的僵尸小朋友,他的名字叫做小喵。他不幸走进了一个神奇的僵尸魔环,任他怎么努力,都走不出去了。他很沮丧,但是现在不是失去理智的时候。他需要快速的计算一下自己的存活率。</p>
<p><a href="http://fc02.deviantart.net/fs47/f/2009/210/4/2/Zommy___the_cute_little_zombie_by_MissBloodyEyes.png"></a></p>
<h2 id="僵尸魔环">僵尸魔环</h2>
<p>小喵很仔细的研究了这个魔环。这个其实是一圈可以站上去的转盘,魔环充分利用了小喵每一步都是固定距离的特点,而且当小喵站到某个转盘上的时候,转盘会立刻随机的把他转向相邻的两个转盘之一的方向,当然这样他只能随机的走到相邻的两个转盘之一上面,这样一直下去。</p>
<p><img src="/assets/posts/zombies-master-eqn/zombieCapture1D2.png" alt="" /></p>
<p>这些转盘中,有些转盘是红色的,上面写着捕捉能力 $C$,也就是说,他有 C 的概率会被捕捉,并不一定归一化了呢,真头疼。</p>
<p>小喵现在已经明白,如果没用其他僵尸的救援,自己不会有生存的机会了。就算每个红色转盘的捕捉能力很弱,这样持续下去,自己早晚会被捕捉的。</p>
<p>但是,小喵明白,僵尸族的集体智慧才是种族活下去的希望,死了自己不要紧,他要给僵尸族留下遗产,解出陷入僵尸魔环之后的生存概率,为僵尸族将来的生存提供参考。</p>
<h2 id="物理模型">物理模型</h2>
<p>为了计算自己的存活概率,小喵的脑海中出现了曾经仔细研究过的 master equation。假定自己在 $t$ 时刻处在第 $m$ 个转盘的概率是 $P_m(t)$,那么自己的存活概率自然是所有转盘上的概率之和,</p>
<p>\begin{equation}
Q(t) = \sum_m P_m(t) .
\end{equation}</p>
<p>现在小喵只需要计算出这个结果,就可以知道自己的存活概率随时间如何变化了。要解出这个量,需要使用 master equaton. 现在知道的是,小喵从其他的转盘到转盘 $m$ 的转移率是 $R_{mn} = F(\delta_{m,n-1} + \delta_{m,n+1})$。小喵注意到自己不能留在原来的转盘,因为僵尸就是,简直停不下来。</p>
<p>小喵之前学过 Chapman-Kolmogorov 方程。小喵知道自己在一个没有红色捕捉的魔环上面走,走一步需要 $\tau$ 时间。那么 $t$ 时刻小喵处在第 $\xi$ 个转盘的概率仅仅有他处在相邻的两个的概率和转移率来决定,即</p>
<p>\begin{equation}
P_\xi(t) = \sum_\mu R_{\xi\mu} \tau P_\mu(t-\tau)
\end{equation}</p>
<p>然后小喵想到,这里的转移率需要满足</p>
<p>\begin{equation}
\sum_{\xi} R_{\xi\mu}\tau = 1
\end{equation}</p>
<p>因为在没有捕捉的魔幻上面,概率不能凭空消失。所以小喵脑海中浮现了另一个方程:</p>
<p>\begin{equation}
P_{\xi}(t) = \sum_{\mu} R_{\mu\xi}\tau P_{\xi} (t) .
\end{equation}</p>
<p>这个方程跟之前的方程相减,两边除以 $\tau$,小喵得到了自己的 master equation,如果没有那些红色的捕捉转盘的话,</p>
<p>\begin{equation}
\frac{d}{dt}P_m = F(P_{n+1} + P_{n-1}) - 2F P_m .
\end{equation}</p>
<p>这显然不够,小喵需要把红色的捕捉转盘加进来。小喵用下角标 $r$ 来表示那些红色的转盘,</p>
<p>\begin{equation}
\frac{d}{dt}P_m = F(P_{n+1} + P_{n-1}) - 2F P_m - C \sum_r \delta_{m,r}P_m .
\end{equation}</p>
<p>这里面的对 $r$ 求和仅仅是对那些红色转盘求和。</p>
<p>好,只要求出所有的 $P_m(t)$,然后求和就可以得到自己的存活概率 $Q(t)= \sum_mP_m(t)$了。</p>
<h2 id="小喵解方程">小喵解方程</h2>
<p>这里只有一个红色转盘(位于 $s$),小喵很高兴,方程是</p>
<p>\begin{equation}
\frac{d}{dt}P_m = F(P_{n+1} + P_{n-1} - 2 P_m) - C \delta_{m,s}P_m .
\end{equation}</p>
<p>小喵知道没有红色转盘并且不考虑寿命的方程变得很简单,</p>
<p>\begin{equation}
\frac{d}{dt}P_m = F(P_{n+1} + P_{n-1} - 2 P_m).
\end{equation}</p>
<p>Fourier transform,小喵心想。于是他快速的在大脑中两边乘以 $e^{ikm}$ 并对 $m$ 求和。</p>
<p>\begin{equation}
\frac{d}{dt} P^k = F(e^{ikm} P_{m+1} + e^{ikm} P_{m-1} -2 P^k).
\end{equation}</p>
<p>太棒,展开指数,可以直接写出答案,</p>
<p>\begin{equation}
P^k(t) = P^k(0) e^{-4F \sin^2\frac{k}{2} t}.
\end{equation}</p>
<p>再做一次变换,小喵立刻得到了最终结果,</p>
<p>\begin{align}
P_m(t) & = \frac{1}{N} \sum_ {k} P^k(t) e^{-i km} <br />
& = \frac{1}{N} \sum_ {k} P^k(0) e^{-4F \sin^2\frac{k}{2} t} e^{-i km} .
\end{align}</p>
<p>当然因为周期性的边界条件,结果中的对 $k$ 求和实际上是对 $k = \frac{2\pi}{N} n$ 求和,其中 $n=0,1,2, \cdots, N-1$.</p>
<p>这样只要给定了初始条件,小喵就可以计算自己的存活概率了。上述结果中的初始条件是由下面的式子给定了,</p>
<p>\begin{equation}
P^k(0) = \sum_n P_n(0)e^{ikn}.
\end{equation}</p>
<p>这样把初始条件放进结果中,可以知道</p>
<p>\begin{align}
P_m(t) & = \frac{1}{N} \sum_ {k} \sum_n P_n(0)e^{ikn} e^{-4F \sin^2\frac{k}{2} t} e^{-i km} <br />
&= \sum_n \Pi_{m-n}(t) P_n(0) ,
\end{align}</p>
<p>其中的 $\Pi_{m-n}$ 是传播子(propagator),</p>
<p>\begin{equation}
\Pi_{m-n}(t) = \frac{1}{N} \sum_ {k} e^{-4F \sin^2\frac{k}{2} t} e^{-i k(m-n)} .
\end{equation}</p>
<p>下面小喵只需要把捕捉转盘的影响加进来就可以了。可是,如果一直这样算下去,会变得很复杂,所以小喵开始使用 Laplace 变换,这样一来,无红色捕捉的解可以直接写成</p>
<p>\begin{equation}
\tilde \eta_m = \sum_{n} \tilde \Pi_{m-n} \tilde P_n,
\end{equation}</p>
<p>而完整的解可以直接背书出来</p>
<p>\begin{equation}
\tilde P_m = \tilde \eta - C \tilde \Pi_{m-r} \tilde P_r .
\end{equation}</p>
<p>这不是个解,小喵想,因为右边还有未知量 $\tilde P_r$. 这简单,让 $m=r$,可以解出来,</p>
<p>\begin{equation}
\tilde P_r = \frac{\tilde \eta}{1+C\tilde \Pi_0}.
\end{equation}</p>
<p>这样最终解其实就是</p>
<p>\begin{equation}
\tilde P_m = \tilde \eta_m - \frac{\tilde \Pi_{m-r} \tilde \eta_r}{1/C + \tilde \Pi_0}.
\end{equation}</p>
<p>最后要算的结果是</p>
<p>\begin{equation}
Q(t) = \sum_m P_m(t).
\end{equation}</p>
<p>同样的进行 Laplace 变换,小喵得到</p>
<p>\begin{equation}
\tilde Q = \frac{1}{\epsilon} \left( 1 - \frac{\tilde \eta_r}{1/C + \tilde \Pi_0} \right).
\end{equation}</p>
<p>这正好是</p>
<p>\begin{equation}
\frac{d}{dt}Q(t) = - \int_0^t \mathscr M(t-t’)\eta(t’) dt’,
\end{equation}</p>
<p>其中</p>
<p>\begin{equation}
\mathscr M(t-t’) = \frac{1}{1/C + \tilde \Pi_0} .
\end{equation}</p>
<p>问题解决了,至少理论上解决了。</p>
<h2 id="极限情况">极限情况</h2>
<p>小喵数了一下,共有 42 个转盘,其中一个是捕捉。</p>
<h2 id="结">结</h2>
<p>这位伟大的僵尸物理学家最终没用获救,但是他的遗言,“且活且研究”,在僵尸族中代代相传。</p>
量子爱情,统计数据以及认知模型
2014-04-14T00:00:00+00:00
http://openmetric.org/sciencecn/quantum-psychology-cognition-and-statistics
<p>系列文章目录:</p>
<ul>
<li>第一篇:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></li>
<li>第二篇:<a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a></li>
<li>第三篇:<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">心理叠加态:从量子爱情到人的所有心理</a></li>
<li>第四篇:<a href="/sciencecn/quantum-psychology-cognition-and-statistics/">基于统计数据的量子爱情</a></li>
</ul>
<hr />
<blockquote>
<p>其实本文中所讲的那些代表个人的矩阵或者算符,只是 density matrix 而已。又是一篇糊涂的文章。原则上来说这个文章并没有任何进步。另外,density matrix 才是真正的量子态。</p>
<p>–2014-04-29</p>
</blockquote>
<hr />
<p>之前写过几篇量子爱情的文章(<a href="/sciencecn/quantum-love/">《爱情的严格量子力学描述》</a>, <a href="/sciencecn/quantum-love-2/">《爱情的量子理论2》</a>,<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">《心理叠加态:从量子爱情到人的所有心理》</a>),当时并没有一个很清楚的思路,所以实际上写的并不是很清楚。</p>
<p><strong>这篇文章中,我会重新描述量子爱情的理论并且给出一种通过统计数据建立量子爱情模型的方法。</strong></p>
<h2 id="所谓量子">所谓量子</h2>
<p>在开始说这个理论之前,我先介绍一下背景。实际上正如我在<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">《心理叠加态:从量子爱情到人的所有心理》</a>这篇文章里面写的一样,这个方法不能叫做“量子”,这种方法只是借用了量子量子力学里面的数学结构,但是到目前为止我并没有感觉到量子化会有什么深刻的意义。而之所以能够借用这种数学结构,是有着一定的心理学实验基础的。</p>
<p>Hampton 在 1988 年发表的一篇论文显示,经典的统计理论可能在处理人的认知问题的时候不再成立。Hampton 实验大致是一个让人们辨认某件 item 是属于那个 concept 的实验,实验结果用 0 到 1 来显示被试认为某个 item 是 concept 的指数,如果是 1 就是百分百确定这个 item 属于这个 concept。[^1]</p>
<p>实验的结果却非常奇怪。例如实验中,人们认为 Cuckoo (杜鹃)是一只鸟,所以指数是 1. 杜鹃并不完全是宠物,最后的结果是 0.575。之后大家被要求对杜鹃是<strong>鸟和宠物</strong>(Bird $\land$ Pet)的评判,却得到了一个大于是宠物的指数的结果 0.842. 如果被试认为杜鹃是 Bird $\land$ Pet,那么被试至少应该以同样的概率认为杜鹃是个 Pet,现在却获得了一个比 Pet 更大的结果。</p>
<p>当然这个实验可能有很多解释。后来 Aerts 等人发表了一些文章,建立了一套基于量子力学、量子场论、路径积分的数学方法[^2][^3][^4][^5],并且分析了 Hampton 的数据。[^6]</p>
<p>Aerts 等人也尝试给出更加深刻的量子机制,但是就目前来看,还不是特别有说服力。所以,在这个系列中,这里量子爱情的名称,只是说这是量子的方法,并不代表是量子的机制。</p>
<h2 id="态与算符">态与算符</h2>
<p>为了能够与实验数据相比较,这里我们重新思考态与算符应该各表示什么。</p>
<p>算符是可以算平均值的,而态可以选作基矢。所以实际上,算符对应于认知模型中的 item,态对应于认知模型中的 concept。这是这篇文章最关键的地方。</p>
<p>举个例子来说明这个问题。在之前的文章中我提到了男孩女孩并不是一个人的本征态,一个人可能并不会是完全男性化的心理(当然前提是假设我们可以很好的定义男性心理,这里只是个玩笑[^7]),所有我可能会有 $\mu(G)$ 的概率是女孩,$\mu(B)$ 的概率是男孩,$\mu(G\lor B)$ 的概率是女孩或者男孩。</p>
<p>那么现在我们定义男孩态 $\ket{B}$ 和女孩态 $\ket{G}$。另外我们还需要一个算符来表示我,定义成 $\hat I_D$ (身份 ID 的意思)。当然根据实验,我们有</p>
<p>\begin{align} \bra{B}\hat I_D \ket{B} &= \mu(B) \ \bra{G}\hat I_D \ket{G} &= \mu(G) \ \frac{1}{2}(\bra{B} + \bra{G})\hat I_D (\ket{B} + \ket{G}) &= \mu(B\lor G) \end{align}</p>
<p>为了方便计算,我们使用 Boy-Girl 基矢,这样态和算符就可以用矩阵表示,然后就可以计算矩阵元。</p>
<p>\begin{align} \hat I_D & \rightarrow \begin{pmatrix} a & c \ c^* & b \end{pmatrix} \ \ket{G} & \rightarrow \begin{pmatrix} 1 \ 0 \end{pmatrix} \ \ket{B} & \rightarrow \begin{pmatrix} 0 \ 1 \end{pmatrix} \end{align}</p>
<p>(这里我们用了算符是 Hermition 的这个条件,目的是保证本征值的实数性,但是这条待深入考虑。)</p>
<p>那么很容易就可以计算出</p>
<p>\begin{align} \mu(G)& := \bra{G}\hat I_D \ket{G} = \cdots (\text{insert identity}) = a \ \mu(B)& :=\bra{B}\hat I_D \ket{B} = \cdots (\text{insert identity}) = b \ \mu(G\lor B) &:= \frac{1}{2}(\bra{G} + \bra{B})\hat I_D (\ket{G} + \ket{B}) = \cdots (\text{insert identity}) \ & \phantom{} = a+b+2\mathrm {Re}(c) \end{align}</p>
<p>需要注意的是,对于不含时的情况,我们计算平均值时,$c$ 中的虚数部分并不会影响我们的平均值结果,因为这篇文章中的计算直接假定 $c$ 为实数。</p>
<p>另外,我们知道 Pauli 矩阵加上单位矩阵是一组完备正交的基矢,可以用来描述任意的两能级体系,所以这个问题可以完全写成 Pauli 矩阵的样子,但是为了更加清楚的说明情况,这里就直接写出矩阵元素了。</p>
<h2 id="统计数据的获取和使用">统计数据的获取和使用</h2>
<p>那么,我们上面用到的那些所谓的实验数据如何获取呢?具体可以使用这样的程序:</p>
<ol>
<li>让所有的跟我熟悉的人对我评价,每个人都给出认为我是男孩、女孩、男孩或女孩的指数。[^8]</li>
<li>分别对每个指数求平局,赋值给上面的 $\mu(G)$,$\mu(B)$ 和 $\mu(G\lor B)$。</li>
<li>通过上面的理论推导出的公式计算我在 Boy-Girl 基矢下面的矩阵元素。</li>
</ol>
<p>这样我们就可以把“我”在这组基矢下面描述出来了,然后就可以用来做其他的计算,然后把计算结果跟相应的实验的结果比较。</p>
<h2 id="描述两个人的爱情">描述两个人的爱情</h2>
<p>有了上面的方法,我们就可以用来描述爱情了。</p>
<p>为了简化情况,我们只考虑仅由一个男孩和一个女孩组成的体系,其他人对他们的观测不影响体系。</p>
<p>两个人的单身状态(用 S 表示)和恋爱状态(用 L 表示),用角标的 B 和 G 分别表示男孩和女孩。显然现在比较好用的基矢是两组基矢的张量积,即 $\ket{S_B}\otimes \ket{S_G}$, $\ket{S_B}\otimes \ket{L_G}$, $\ket{L_B}\otimes \ket{S_G}$, $\ket{L_B}\otimes \ket{L_G}$。</p>
<p>那么如何建立这个体系的算符呢?一个比较自然的想法是两个人各自的算符的张量积。因此总的步骤是先通过上一节中的实验方法来给出两个人的算符,$\hat B$ 和 $\hat G$,那么代表整个体系的算符应该是 $\hat Z = \hat B \otimes \hat G$。</p>
<p>然后我们可以计算这个算符 $\hat Z$ 的本征态,这个本征态就对应两个人实际的相爱情况。</p>
<p>因为只有两个人,所以态矢矩阵对应的意义如下:</p>
<ol>
<li>$\ket{L_B}\otimes \ket{L_G}$ : 两人相爱</li>
<li>$\ket{S_B}\otimes \ket{S_G}$ : 两人不爱对方</li>
<li>$\ket{S_B}\otimes \ket{L_G}$ : 女孩爱男孩,男孩不爱女孩</li>
<li>$\ket{L_B}\otimes \ket{S_G}$ : 男孩哎女孩,但是女孩不爱男孩</li>
</ol>
<p>找到本征态跟上面的基矢对应的位置,然后把系数模方,就得到相应状态的概率。 然后就根据具体情况做出相应的决策。[^9]</p>
<p>由于我们这里是直接描述心理的,所以对于薛定谔的表白,薛定谔的滚,其实我们给出的心理状态,而不是口中说的什么决策。例如,结果会给出薛定谔的滚对应 70% 的概率是要滚,30% 的概率是不滚。一般不会直接给出 100% 的滚或者 100% 的不滚。这涉及到认知模型的问题。人做决策并不是完全确定的,而是概率的。</p>
<h2 id="几点讨论">几点讨论</h2>
<p>上面就是完整的建模过程。但是这个方法有几个问题需要注意。</p>
<ol>
<li>我们暂时不能处理含时问题。[^10]</li>
<li>对于态矢的意义,我们还需要更加深入的理解。</li>
<li>本征值对应的意义尚不明确。</li>
</ol>
<p>另外,需要提到的是,这套方法自然可以用在认知模型上。[^6]</p>
<h2 id="相关资料">相关资料</h2>
<p><strong>一个量子心理学的 GitHub repo:<a href="https://github.com/emptymalei/intelligence/tree/master/quantumPsychology">intelligence</a></strong></p>
<h2 id="参考文献及尾注">参考文献及尾注</h2>
<ol>
<li>
<p>Hampton, J. A. “Overextension of conjunctive concepts: Evidence for a unitary model for concept typicality and class inclusion”. Journal of Experimental Psychology: Learning, Memory, and Cognition, 14, 12-32. </p>
</li>
<li>
<p>Diederik Aerts. <a href="http://arxiv.org/abs/0705.0975">“Quantum Interference and Superposition in Cognition: Development of a Theory for the Disjunction of Concepts”</a>. In D. Aerts, J. Broekaert, B. D’Hooghe and N. Note (Eds.), Worldviews, Science and Us: Bridging Knowledge and Its Implications for Our Perspectives of the World. Singapore: World Scientific (2011). </p>
</li>
<li>
<p>Diederik Aerts. <a href="http://arxiv.org/abs/0705.1740">“General Quantum Modeling of Combining Concepts: A Quantum Field Model in Fock Space”</a>. </p>
</li>
<li>
<p>Aerts, D. (2007). <a href="http://arxiv.org/abs/0705.0975">“Quantum interference and superposition in cognition: Development of a theory for the disjunction of concepts.”</a> </p>
</li>
<li>
<p>Aerts, D. (2007). <a href="http://arxiv.org/abs/0705.1740">“General quantum modeling of combining concepts: A quantum field model in Fock space”</a>. </p>
</li>
<li>
<p>Diederik Aerts. <a href="http://arxiv.org/abs/0805.3850">“Quantum Structure in Cognition”</a>. Journal of Mathematical Psychology, 53, 314-348, 2009. </p>
</li>
<li>
<p>其实也不全是玩笑。男孩女孩这个事情,只是生来如此,但是如果技术进步,可能实现想换异性的身体就换异性的身体呢?我并不觉得这些所谓的生来的东西会是一个障碍,现在所谓的性别认同相关的疾病将来也不会是疾病。</p>
</li>
<li>
<p>按照 Hampton 的使用,男孩或女孩的指数是不能单纯的由是男孩的指数和是女孩的指数推导出来的。</p>
</li>
<li>
<p>当然这里还是沿用量子力学的假设,即测量一次会使得体系坍缩到测量量的一个本征态上。 </p>
</li>
<li>
<p>含时的问题困扰我一段时间了。现在有一些想法(例如借助 propogator )但是都有缺陷。 </p>
</li>
</ol>
你我之上的幽灵
2014-04-13T00:00:00+00:00
http://openmetric.org/sciencecn/ghost-gaia
<figure>
<figcaption>
Image From http://gasolin.github.io/gaia-repo/?full#gaiarepo
</figcaption>
<p><img src="http://openmetric.org/images/posts/ghost-gaia/gaia_by_matkraken.jpg" alt="" /></p>
</figure>
<blockquote>
<p>孩童之时,所言俱为孩童,所感如是孩童,所思亦复孩童,唯成年之后,便将童心摈弃。</p>
</blockquote>
<p>上面这段话出自<a href="http://movie.douban.com/subject/3142101/">《攻壳机动队 2.0》</a>。素子和傀儡师融合之后,借少女义体说出的台词。</p>
<p>个体不过是演化的道具,是信息的节点和载体,是演化为了达到某个目的而保留的一段信息。如果一个人所携带的所有的信息定义了这个个体,要让自己真的活下来,那这个个体只能存活在一个绝热的环境中,没有信息的进入也没有信息的流失。可是生命的本质,低熵的维持决定了单个生命。人类个体的自我执著,在一定程度上保证了“自我”。只可惜,这个“自我”正在人类科技的协助下逐渐弱化消失。“生、老、病、死、爱别离、怨憎会、求不得”,是“我执”的苦,是想要定义自我的痛。因为自己存在,因为自我迷失,因为世界的演化,所以才苦。</p>
<p>(然而我并不是想说什么人生。)</p>
<p>在统计物理中,我们知道理想气体是没有相变的,因为组成它的粒子之间的相互作用太简单。对于 Van der Waals 气体,因为有了相互作用既有吸引又有排除,所以有了相变。相变是一种很有趣的现象,发生相变的时候,系统在不同的组织序之间变化,从无组织突然间变得有组织,或者部分有组织。而且在适当的相互作用中,系统可以从杂乱无章的非平衡可以变成非常有秩序的情况,或者部分有秩序的情况。同样的现象在人类社会中也有,人类会从杂乱无章的个体行为自动的组织起来,个体和个体之间的信息交流增强,这样让个体的智慧集中起来。当然,所谓的个体的存在就越来越弱化。</p>
<p>什么是自我,在现在信息交流的密度越来越高的世界中,变成了一个更加复杂的问题。现在的孩子从小接受类似的教育,看到类似的社会,玩类似的游戏。你并不是你,而是一个被世界的其他部分塑造起来的工具。现在,当一个信息传播的时候,不同个体的思维会自动组织起来,形成不同的集体思维。如果信息交流的密度达到一个临界值,我们的社会就不再能区分个体和集体。</p>
<p>如果我们可以把整个的人放在一个相空间,那么我们会发现,在信息交流越来越多的情况下,人类社会中的个体就会出现越来越强的相似性,会在相空间(按照统计物理的逻辑,是 mu 空间)形成有组织性的结构,或者说花样。如果我们对这个相空间中的体系用统计物理的粗粒化方法,就可以找到不同的群体,他们相互关联,组成每个群体的个体有很强的相似性。由于信息传播的便利性,这些个体甚至都不会意识到他们是在一个群体中,他们(在某些方面)的思维跟这个群体中的其他的个体很相似。</p>
<blockquote>
<p>你我犹如隔镜视物,所见无非虚幻迷蒙。</p>
</blockquote>
<p>在统计物理中,一个非常赞的 H 定理,Boltzmann 在一个人类尚未认识到物质是由分子原子组成的年代,证明了即便组成体系的是可逆运动,整个体系依然有一个量,称作 H,是一直减小,直到平衡态。换句话说,体系是不可逆的。这大概是第一个个体不能决定所有集体行为的证明。</p>
<p>集体行为反过来非常强烈的改变的个体的行为。加上个体行为不能决定所有的集体行为这点,就让“我”的存在性变得越来越模糊。在很多相互作用强的体系中,整个体系的行为对个体行为的走向有着几乎决定性的作用。所有如果任何人之间的信息交换密度足够大,我们一样会迷失个体,变成一个整个的生命。</p>
<p>当然,人类并不是在一个绝热的环境中。虽然在某种程度上,把人类说成是一个“我”是非常好的近似。但是如果从非常非常长的时间尺度上来看,人类会跟其他的个体相互作用,这使得人类这个生命也不是一个严格的“我”。甚至盖娅也不是严格的“我”,因为盖娅的发展基本上借助外在的能源,即太阳能。</p>
<p>只是以现在这种信息交换的密度来看,人类的寿命太短了。如果信息交换的密度足够大(如果人类能够摆脱逐渐产生的知识红移,避免进入魔法世界的状态),我们将会感受到一种自我的迷失,并且同时所有人将会感受到同一个“我”,那时候,我们才会感受到那个作为集体的生命。然而,即便现在,我们也不能因为非常明确的感受不到她,就否认她的存在。</p>
<p>那时候,我们会真正的体会到,“孩童之时,所言俱为孩童,所感如是孩童,所思亦复孩童,唯成年之后,便将童心摈弃。”那时候作为个体的你我,会感受到苦痛,那是”我执“的痛,只是这种痛,远远都不能够抗衡她的力量。</p>
<p><strong>Ghost in the grand shell.</strong></p>
心理叠加态:从量子爱情到人的所有心理
2014-02-16T00:00:00+00:00
http://openmetric.org/sciencecn/from-quantum-love-to-quantum-psychology
<p>系列文章目录:</p>
<ul>
<li>第一篇:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></li>
<li>第二篇:<a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a></li>
<li>第三篇:<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">心理叠加态:从量子爱情到人的所有心理</a></li>
<li>第四篇:<a href="/sciencecn/quantum-psychology-cognition-and-statistics/">基于统计数据的量子爱情</a></li>
</ul>
<hr />
<p>最近写了两篇关于用量子理论的方法来描述爱情的文章<sup id="fnref:0" role="doc-noteref"><a href="#fn:0" class="footnote" rel="footnote">1</a></sup>,经过一些思考,我现在觉得我们可以把这个思路的核心概念提取出来,并且加以推广。<strong>如果我下面的整个想法是在重复造轮子,请见谅。我非常愿意学习理论心理学中类似的理论。我思考这个问题的初衷只是复习量子,但我对理论心理学所知极少,所有可能我的想法在理论心理学家那里会很幼稚而且极可能跟先前的理论重复。</strong></p>
<p>我知道理论心理学有个分支叫做 Quantum Psychology,不过似乎是一种更加深层次理论,要解释从现实到心理的映射,我下面要说的是讨论用量子力学的方法来做唯像的心理学。</p>
<p><strong>出发点:心理状态可以用态空间(一般为 Hilbert 空间)中的态来描述,这也就是说,这个空间中任意两个态的叠加也可以是人的心理状态,例如处在高兴和悲伤的叠加态等等。</strong></p>
<p>之前所写的文章中的性格态,我很明确的提出了是心理性格。所以之前的模型中,无论是爱情状态和是性格状态,都是心理或者思维的状态。所以总的来说,我觉得<strong>有可能把爱情和性格可以叠加的想法推广到所有的心理状态都可以叠加,只要是我们所说的心理状态出在同一个态空间</strong>。所以这需要一种心理理论,把人的所有的心理或者性格分类,也就是说,<strong>要把人的完整心理分成不同的子空间,这些子空间的直和就可以组成整个心理</strong>。当然,具体的讨论中,不太可能讨论完整的心理,所以我们<strong>可以仅研究我们关心的一组子空间直和</strong>。</p>
<p>从提问题开始吧。</p>
<h2 id="为什么量子的方法有效">为什么量子的方法有效</h2>
<p><strong>第一个要问的问题是,为什么我们可以用类似量子力学的方法来描述心理状态呢?</strong></p>
<p>我们能这样做的原因是,心理状态常常并不是那么确定的,例如我们说一个人在做决定的时候,可能会犹豫,这就是说如果我们要在${\ket{\mathrm{Yes}},\ket{\mathrm{No} } }$ 这样态空间基矢下面讨论问题,那么我们会发现犹豫的状态可以用这两个本征态的叠加来描述</p>
\[C_1\ket{\mathrm{Yes}}+ C_2 \ket{\mathrm{No}}\]
<p>到底这个人倾向于回答是还是否,取决于两个系数的模(因为可能为复数)的大小。</p>
<p>当然,我们也可以找到一组更好的基矢,一般而言正交的基矢比较好用,例如对于这样一个心理状态</p>
\[\ket{\mathrm{Yes}}+ \ket{\mathrm{No}}\]
<p>我们可以重新选取基矢 ${\ket{\psi_1}=\ket{\mathrm{Yes}}+\ket{\mathrm{No} },\ket{\psi_2} = \ket{\mathrm{Yes}}-\ket{\mathrm{No} } }$,然后心理状态就可以描述成</p>
\[\ket{\mathrm{\psi_1}}\]
<p>或者,甚至可能会出现像中微子那样的问题,就是类似味道本征态常常不是我们关心的本征态,质量本征态才是。或许 Yes 和 No 的本征态,并不是我们关心的本征态,或许中立本征态才是我们关心的,数学上就是刚刚举得例子。</p>
<h2 id="如何建立模型">如何建立模型</h2>
<p><strong>第二个问题是,如果要建立一个比较完整的关于心理的模型,对心理状态的拆分有哪些要求呢?</strong></p>
<p>开始提到了,要把<strong>复杂心理空间</strong>(就是我们关心的所有的心理)拆分成可以独立演化的心理,这些元素化的心理就是元空间(似乎理论心理学中有类似的概念,心理学元理论?<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">2</a></sup>),要求在我们所要研究的整个复杂心理空间是元空间的直积,这也是为什么随便起了个名字叫元空间,而不叫子空间的原因。</p>
<p>除此之外,在一般情况下似乎没有什么特殊的限制,甚至连不同的元空间中有相同的元素都没关系,不过可能会使得计算变得复杂。</p>
<p>更进一步,我们可以利用群论来讨论对称性,子群,陪集等等等等。这是一个非常非常深的坑坑。</p>
<h2 id="用于更大的人群样本统计问题">用于更大的人群样本——统计问题</h2>
<p><strong>之前用这种方法来描述爱情(哎,只是描述了而已,希望能更快的做出演化理论),可以用来描述单人体系或者二人体系,到了二人体系的结果的理解和解释有点困难了。如果我们用上统计的方法呢?例如我们处理一个人的一段时间内的平均心理,或者多次测量的平均心理,或者多人的平均心理(有点像系综理论)等等。</strong></p>
<p>一个公式来说,就是</p>
\[\avg{O} = \sum_i \rho_i \ket{\mathrm{ \psi_i }}\]
<p>$\rho_i$ 是概率权重。只要找到这个量,所有的问题就解决了。</p>
<h2 id="能谱问题">能谱问题</h2>
<p>上面提到了统计,在物理中,我们会有能谱的概念,那么能谱这个概念可以借用过来么?</p>
<p>我们可以举个例子,例如我们把疼痛分成 0~10 级别,那么我们可以写下能谱,</p>
<table>
<thead>
<tr>
<th>所谓能量</th>
<th style="text-align: center">对应的态</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td style="text-align: center">$\ket{0}$</td>
</tr>
<tr>
<td>1</td>
<td style="text-align: center">$\ket{1}$</td>
</tr>
<tr>
<td>2</td>
<td style="text-align: center">$\ket{2}$</td>
</tr>
<tr>
<td>…</td>
<td style="text-align: center">…</td>
</tr>
<tr>
<td>10</td>
<td style="text-align: center">$\ket{10}$</td>
</tr>
</tbody>
</table>
<p>这样就可以建立类似物理中能谱的概念,但是,不同的是,通常这种能谱在统计中的体现,不是出现在 Boltzmann 因子中的,因为并不是这个数字越高,就越难出现,也不是数字越小,就越难出现。或者,如果想要用 Boltzmann 因子,那就要好好的定义一套关于态密度的理论。<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">3</a></sup></p>
<h2 id="总之">总之</h2>
<p>总之,大致看来,从心理叠加态这个假设出发来描述人的心理,是很可能行得通的。</p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:0" role="doc-endnote">
<p><a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a> 和 <a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a> <a href="#fnref:0" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:1" role="doc-endnote">
<p>我并不知道,我对心理学知道的极少。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>态密度是一个必须考虑的问题,记录一下。 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
爱情的严格量子力学描述
2014-02-14T00:00:00+00:00
http://openmetric.org/sciencecn/quantum-love
<p><strong>返回来看一下,真是漏洞百出,丢人啊。</strong></p>
<p>系列文章目录:</p>
<ul>
<li>第一篇:<a href="/sciencecn/quantum-love/">爱情的严格量子力学描述</a></li>
<li>第二篇:<a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a></li>
<li>第三篇:<a href="/sciencecn/from-quantum-love-to-quantum-psychology/">心理叠加态:从量子爱情到人的所有心理</a></li>
<li>第四篇:<a href="/sciencecn/quantum-psychology-cognition-and-statistics/">基于统计数据的量子爱情</a></li>
</ul>
<hr />
<p>呐,本文的主要目的是卖萌、买萌,总之是萌的交流,而不是知识技术的交流。嗯呐。</p>
<p>另外,本文没有任何性别和性取向歧视的意思,非常欢迎大家做出一个更加全面的“理论”。</p>
<p><strong>提醒:阅读本文需要量子力学基础</strong>。</p>
<p>要描述一个体系,按照力学的观点,有就是牛顿那个无法实现的理想,应该是包括以下几步:</p>
<ol>
<li>描述一个体系的状态。例如如何把初始状态描述出来。</li>
<li>描述一个体系的时间演化。</li>
<li>从计算结果中提取我们想要的信息,例如可观测量,物理量等等。</li>
</ol>
<p>当然在牛顿力学中我们有一套方法,在统计中有一套方法,量子中,基本上就是两者的结合。我们今天要尝试的是,使用量子力学来描述情人节的我。</p>
<p>从非常简单的假设出发,得出了几个结论,不严格的说:</p>
<ol>
<li>一个单身的人,如果不接触其他人是不能脱单的(废话 ==);</li>
<li>一个单身的人,自己是不完备(有严格定义)的(废话 == );</li>
<li>对于处在单身和恋爱叠加态的人,是可以通过测量理论给出严格的不同的表白结果概率的;</li>
<li>两个单身男女放在一起,是可能存在纯洁的友谊的,但需要特殊的性别叠加态;</li>
<li>两个单身的男女放在一起,如果想要脱单,必须两者之间存在相互作用(废话 ==)。</li>
</ol>
<h2 id="单个体的理论">单个体的理论</h2>
<h3 id="状态的描述">状态的描述</h3>
<p><del>首先,我是一个单身的男(zhuang)孩(chun)</del>。<sup id="fnref:0" role="doc-noteref"><a href="#fn:0" class="footnote" rel="footnote">1</a></sup></p>
<figure>
<figcaption>
<a href="http://hongzai-story.blogspot.com/2010/10/blog-post.html">来源</a>
</figcaption>
<p><img src="http://openmetric.org/images/posts/quantum-love/single.gif" alt="" /></p>
</figure>
<p>所以要描述我的状态,必须有一个表示爱情状态的波函数</p>
\[\ket{\mathrm{Single}} .\]
<p>另外,我是一个“男孩”,所以必须有</p>
\[\ket{\mathrm{Boy}} .\]
<p>这两个是不同的相空间,这类体系的哈密顿量也是简单的两个不同的哈密顿量的直和,所以实际上能够描述我的态矢是,</p>
\[\ket{\mathrm{Lei}} = \ket{\mathrm{Single}}\otimes \ket{\mathrm{Boy}} .\]
<p>这是一个不严格的套路,更加严格的套路必须先定义空间,当然有了上面的灵感,完整的空间应该是</p>
\[\{ \ket{\mathrm{Boy}},\ket{\mathrm{Girl}} \} \otimes \{ \ket{ \mathrm{Single}},\ket{\mathrm{Non-Single} }\} .\]
<p>为了简化,我们就简单的认为</p>
\[\ket{\mathrm{Non-Single}} = \ket{\mathrm{inLove} }.\]
<p>并且每个子空间中的态矢是正交归一的。</p>
<h4 id="仅有状态描述得出的推论">仅有状态描述得出的推论</h4>
<p><strong>我自己是不完备的</strong>,因为</p>
\[\ket{\mathrm{Boy} }\bra{\mathrm{Boy}} + \ket{\mathrm{Girl} }\bra{\mathrm{Girl}} = \hat I .\]
<h3 id="时间演化">时间演化</h3>
<p>原则上可以用 Schrödinger 方程,这里我们不用它,而是用另一种更加漂亮的描述。</p>
\[\mathrm{i}\hbar \frac{\partial}{\partial t} \hat \rho = \left[ \hat H, \hat \rho \right]\]
<p>毫无疑问,这里用到了对易子算符。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">2</a></sup></p>
<p>那么对于一个有我自己组成的孤立体系,是不可能从 $\ket{\mathrm{Single}}$ 演化到 $\ket{\mathrm{inLove}}$ 的。所以,我现在的状态</p>
\[\ket{\mathrm{Lei}} = \ket{\mathrm{Single}}\otimes \ket{\mathrm{Boy}}\]
<p>是我自己孤立体系的 Hamilton 的一个本征态。换句话说,</p>
\[\left[ \hat H, \hat \rho \right] = 0\]
<p>这样一来,我这个孤立体系是没法从演化到 $\ket{\mathrm{inLove}}$ 态的。所以我需要外界的帮助,当然对我来说,这个外界的帮助是一个女孩跟我相互作用。</p>
<h3 id="结果的提取">结果的提取</h3>
<p>通过上面的这些讨论,我们可以直接借用 QM 中的测量理论,如果我处在体系(现在可以扩展,不一定是我自己的孤立体系的 Hamilton 了)的本征态上,那么我就是 Stationary 的,换句话说,如果我处在$\ket{\mathrm{Single}}$态(只看这个子空间)上,那么怎么测量我都是这个态,没有时间演化。</p>
<p>但是如果我处在一个叠加态 $\ket{\mathrm{Single}} + \ket{\mathrm{inLove}}$,那么单次测量,我就跳到某一个本征态上,这个情况下当然是概率相等,不过如果我处在 $ C_1\ket{\mathrm{Single}} + C_2 \ket{\mathrm{inLove}}$,那就不等概率了,而且可以计算。(算个球球,你得找个办法得出两个系数好嘛,总不能靠猜。)</p>
<h2 id="二人体系">二人体系</h2>
<p>呐,我们要不要考虑二人(这里仅仅指男 + 女)体系?要考虑这个问题,需要搞清楚这样两个事情:</p>
<ol>
<li>二人的相互作用项应该是什么样?</li>
<li>全同粒子理论会对结果有影响么?</li>
</ol>
<h3 id="状态描述">状态描述</h3>
<p>无相互作用的情况下,一个比较自然的想法是,我们可以直接把两个人的波函数乘起来嘛,因为如果没有相互作用,总的 Hamilton 就是</p>
\[\hat H(\vec r_1,\vec r_2) = \hat H_1(\vec r_1) + \hat H_2(\vec r_2)\]
<p>这里呢,$\vec r_i$ 是指的各自在总空间的坐标,也就是说,我们可以制作对于二人体系的一个完备基矢 ${ \ket{r_1,r_2} }$.</p>
<p>这样一来,二人体系的波函数可以写作</p>
\[\ket{\psi} = \ket{\psi_1}\otimes \ket{\psi_2}\]
<p>有什么问题?</p>
<ol>
<li>需要考虑全同粒子么?
需要考虑的理由是,如果去掉性别属性,那么所有的人(在我们这个理想模型中)都是全同的,所有性别属性就等价于自旋之类的属性,而且比较简单,因为我们只考虑两个性别(一个更加全面的理论应该考虑所有的情况,例如 Trans)。所以我们必须考虑全同粒子带来的问题。</li>
<li>相互作用该不该考虑?
需要考虑。因为如果我们不考虑相互作用,那么对于两个处在各自 Hamilton 本征态的人,即便放在了一起,也不能演化成 $\ket{\mathrm{Non-Single}} = \ket{\mathrm{inLove}}$.</li>
</ol>
<p>所以我们下面需要挨个考虑这两个问题。</p>
<h4 id="全同粒子效应">全同粒子效应</h4>
<p>性别可以组成两个不连通的子空间,一个是性别单态,一个是性别三重态。</p>
<p>性别单态对应的波函数分别是:</p>
\[\ket{g=0,m_g=0} = \frac{1}{\sqrt{2}} (\ket{\mathrm{Boy, Girl}} - \ket{\mathrm{Girl, Boy} } )\]
<p>性别三重态对应的波函数:</p>
\[\ket{g=1,m_g=0} = \frac{1}{\sqrt{2}} (\ket{\mathrm{Boy, Girl}} + \ket{\mathrm{Girl, Boy} } )\]
\[\ket{g=1,m_g=-1} = \ket{\mathrm{Boy, Boy}}\]
\[\ket{g=1,m_g=1} = \ket{\mathrm{Girl, Girl}}\]
<p>呐,我们现在只讨论其中一类情况,就是 $m_g = 0$ 的情况,因为对称性比较好。</p>
<h5 id="性别单态">性别单态</h5>
<p>这样看来,我们的体系是费米子体系,也就是说粒子交换算符 $P_{12} = -1$ 的体系。</p>
<p>因为性别波函数已经是反对称了,所以我们不需要对爱情状态波函数进行特殊处理,就保持原样即可,因为原来就是对称的。这样合起来的总的波函数是反对称的,符合要求。</p>
<h5 id="性别三重态">性别三重态</h5>
<p>只讨论 $m_g = 0$. 性别波函数是对称的,所以需要是的状态波函数反对称。</p>
\[\ket{\psi} = \frac{1}{\sqrt{2}}( \ket{\mathrm{Boy's State1}} \ket{\mathrm{Girl's State}} - \ket{\mathrm{Girl's State1}} \ket{\mathrm{Boy's State}} )\]
<p>大家可以发现,三重态中,两个都单身的男女组成的体系中,在本征态中找到两个人同时处在单身的状态是不可能的,这就是对应的 Pauli 不相容原理。</p>
<p>但是这个只是对三重态成立,对于单态,就不存在这个结论。</p>
<h4 id="相互作用">相互作用</h4>
<p>相互作用比较麻烦,我会在另一篇文章中详细讨论这个问题。等这个写全了,可以弄个 April Fool’s Day 文什么的。</p>
<hr />
<p>第二篇:<a href="/sciencecn/quantum-love-2/">爱情的量子理论2</a></p>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:0" role="doc-endnote">
<p>赶紧划掉,已经不是单身了。 <a href="#fnref:0" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:1" role="doc-endnote">
<p>biu biu biu,跟统计物理里面的 Hamilton Dynamics 差不多嘛,多了个虚数(好神奇哦),多了个代表量子力学的基本量(好神奇哦),Poisson 括号变成对易子(好神奇哦)。真打脸。刚才说量子力学是统计物理和经典力学的杂交(真的么?)。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
球状闪电:千百年的幽灵
2014-01-19T00:00:00+00:00
http://openmetric.org/sciencecn/ball-lightning
<p><strong>已经在纸媒发表</strong></p>
<hr />
<p>雷电交加的雨夜,一个球状的幽灵的在半空飘荡,它开始漫无目的随机游走,后来似乎对附近的人产生了兴趣。十几秒过去之后,这个闪着橙色光芒的幽灵便消失不见了。</p>
<p>早在 1596 年,就曾经有一起出现在英格兰萨默塞特郡的韦尔斯的一起球状闪电事件的记录。<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> 几百年来,虽然有着众多的球状闪电目击记录,人们却一直没有揭开这个幽灵的面纱。</p>
<figure>
<figcaption>
图片来源:<a href="https://en.wikipedia.org/wiki/File:Ball_lightning.png">Ball Lightning from Wikimedia Commons</a>
</figcaption>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/9/97/Ball_lightning.png" alt="" /></p>
</figure>
<p>在更早的北宋时期,沈括在《梦溪笔谈》中记载了一次非常类似球状闪电的过程:雷火从窗子里面穿过来,暴雷过后,木制物品并无损坏,但是银饰却融化了。<sup id="fnref:12" role="doc-noteref"><a href="#fn:12" class="footnote" rel="footnote">2</a></sup></p>
<h2 id="目击记录">目击记录</h2>
<p>在一篇上世纪六十年代的文章中,提到了 Brand 收集处理的关于球状闪电的报告,Brand 相信他所统计调查的 600 项事件中,只有 215 项还算是可信。另外,文章还提到了对美国橡树岭国家实验室的一项比较初级的问卷调查,1962 个被调查的人中,有 110 个人说自己看到过球状闪电,比例高达 5.6%。虽然后来对所有的 Union Carbide Nuclear Company 的所有人员的调查中,只有 3.1% 的人说见过球状闪电,但是这依然可以说明,球状闪电的目击者并不稀有。<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">3</a></sup>也就是说,球状闪电在某些时间段某些地区,算不上是一个非常罕见的现象。</p>
<p>大家对球状闪电的描述,从运动到形态,甚至消失的方式常常有很大的差异。Smirnov 在一篇论文中,根据当时大家收集的观测数据总结了球状闪电的一些特征。</p>
<p>亮度:大约一盏 100W 的灯。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/brightness.png" alt="brightness" /></p>
<p>颜色:黄色,橙色,红色(粉色)和白色居多。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/color.png" alt="color" /></p>
<p>消失的方式:多数是以爆炸的形式消失的。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/decay.png" alt="decay" /></p>
<p>直径:主要在 10cm 到 50cm 之间。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/diameter.png" alt="diameter" /></p>
<p>寿命:大多小于 50 秒。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/lifetime.png" alt="lifetime" /></p>
<p>出现的地方:多数在导体附近。</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/origin.png" alt="origin" /></p>
<p>出现的季节:多出现在七月。(季节和时间的统计结果还受到样本的气候和人群的作息的影响。)</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/season.png" alt="season" /></p>
<p>出现在一天中的时段:9 点到 18 点之间。(季节和时间的统计结果还受到样本的气候和人群的作息的影响。)</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/time.png" alt="time" /></p>
<p>(后两项比较容易理解,统计的样本大多是北半球(人类大多聚集在北半球,俄罗斯对于球状闪电的关注和研究又较多),晚上大家都睡觉了,出现了也不太容易被人发现。)</p>
<h2 id="理论研究">理论研究</h2>
<p>关于球状闪电的理论有很多,其中有一个理论是 cloud-to-ground 闪电击中土壤,发生化学反应,使得土壤中的硅元素被释放出来,并在空气中形成一个漂浮着 Si,SiO,SiC 的纳米颗粒的区域,这些颗粒以化学能的形式储存了之前闪电的部分能量。之后这些颗粒逐渐氧化,把储存的闪电能量释放出来,便形成了一个发光发热的球状闪电。<sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">4</a></sup>这样可以解释大多数的球状闪电的特性,包括寿命,亮度,产生的地点。</p>
<p>当然因为缺乏直接详细的测量,各种理论层出不穷。比如 Muldrew 有个分层模型<sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">5</a></sup>,</p>
<figure>
<figcaption>
Muldrew 分层的模型
</figcaption>
<p><img src="http://openmetric.org/images/posts/ball-lightning/MuldrewModel.png" alt="Muldrew" /></p>
</figure>
<p>这个模型中,球状闪电是由一个固态的核外加电子层和等离子层组成的。这个球体之所以不会立刻坍缩是因为核心和电子组成的薄层之间有特殊的电磁场形成了一层势垒。当电子慢慢穿过电磁场势垒或者核心慢慢破坏之后,球状闪电就慢慢消失了。</p>
<p>有些模型中甚至使用了黑洞<sup id="fnref:7" role="doc-noteref"><a href="#fn:7" class="footnote" rel="footnote">6</a></sup>。</p>
<p>总之,各种各样的模型很多,可是这事儿不能就单凭一些目击者数据来定论吧。</p>
<h2 id="观测">观测</h2>
<p>有很多想要拍摄球状闪电的科学项目,但是这些项目到目前大都还没有拍到<sup id="fnref:8" role="doc-noteref"><a href="#fn:8" class="footnote" rel="footnote">7</a></sup>。不过在 2012 年,来自兰州西北师范大学的岑建勇,袁萍,薛思敏在一次常规闪电观测(青海高原?原文 Qinghai Plateau,不知如何翻译)中拍到了球状闪电的高速录像和光谱。</p>
<p>2012 年 7 月 23 日 21:54:59,他们是在进行 cloud-to-ground 闪电观测的时候,球状闪电突然出现。他们的仪器拍下了整个过程,包括视频,声音和 82 张图像。整个球状闪电发光的时间是 1.64 秒。下面是他们拍到的影像和光谱:</p>
<object id="flashObj" width="480" height="270" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"><param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="videoId=3079813116001&linkBaseURL=http%3A%2F%2Fwww.dailymail.co.uk%2Fsciencetech%2Farticle-2542615%2FScientists-capture-footage-ball-lightning.html&playerID=2730234011001&playerKey=AQ~~,AAAAAFSL1bg~,CmS1EFtcMWF3qCwIkkoMNkVkOrxR00Hs&domain=embed&dynamicStreaming=true" /><param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" /><param name="allowFullScreen" value="true" /><param name="swLiveConnect" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1" bgcolor="#FFFFFF" flashvars="videoId=3079813116001&linkBaseURL=http%3A%2F%2Fwww.dailymail.co.uk%2Fsciencetech%2Farticle-2542615%2FScientists-capture-footage-ball-lightning.html&playerID=2730234011001&playerKey=AQ~~,AAAAAFSL1bg~,CmS1EFtcMWF3qCwIkkoMNkVkOrxR00Hs&domain=embed&dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" swliveconnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" /></embed></object>
<p>球状闪电产生的时候的光谱可以在下面图片中看到。上图是拍到的第一张图片,中间的图是第二张。可以明显的看到球状闪电的 光谱和常规的 cloud-to-ground 闪电是不同的。</p>
<figure>
<figcaption>
图片来源:Observation of the Optical and Spectral Characteristics of Ball Lightning[^9]
</figcaption>
<p><img src="http://openmetric.org/images/posts/ball-lightning/prl.aps_.org-pdf-PRL-v112-i3-e035001-at-5.30.38-PM.png" alt="BL Spectrum" /></p>
</figure>
<p>他们经过分析,发现 Si I, Fe I, 和 Ca I 的谱线在整个球状闪电过程中都存在。其中,Si I 的谱线甚至一直到最后的阶段也有。另外 N I 和 O I 近红外谱线先后出现,并且在球状闪电的亮度达到最大的时候强度达到最大,之后便逐渐减弱并且以与出现的顺序相反的次序消失。<sup id="fnref:10" role="doc-noteref"><a href="#fn:10" class="footnote" rel="footnote">8</a></sup></p>
<p>总之,球状闪电中含有 Si,Fe,Ca 等元素,这些元素正好是土壤中所大量含有的<sup id="fnref:11" role="doc-noteref"><a href="#fn:11" class="footnote" rel="footnote">9</a></sup>。因此这个观测在一定程度上支持某些类型的球状闪电跟土壤有关的理论,但是需要更多的观测和实验验证。</p>
<h2 id="应用">应用</h2>
<p>龟!派!气!功!</p>
<p><img src="http://openmetric.org/images/posts/ball-lightning/guipaiqigong.jpg" alt="龟派气功" /></p>
<hr />
<h2 id="参考">参考</h2>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p><a href="https://en.wikipedia.org/wiki/Ball_lightning#Historical_accounts">Ball Lightning on Wikipedia</a> <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:12" role="doc-endnote">
<p>「内侍李舜举家曾为暴雷所震。其堂之西室,雷火自窗间出,赫然出檐,人以为堂屋已焚,皆出避之。及雷止,其舍宛然,墙壁窗纸皆黔。有一木格,其中杂贮诸器,其漆器银饫者,银悉槠流在地,漆器曾不焦灼。有一宝刀,极坚钢,就刀室中槠为汁,而室亦俨然。人必谓火当先焚草木,然后流金石,今乃金石皆铄,而草木无一毁者,非人情所测也。佛书言“龙火得水而炽,人火得水而灾”,此理信然。人但知人境中事耳,人境之外,事有何限?欲以区区世智情识,穷测至理,不其难哉!」 <a href="#fnref:12" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>J. R. McNally. (1960). Preliminary Report on Ball Lightning. Proceedings of the Second Annual Meeting of the Division of Plasma Physics of the American Physical Society, Gatlinburg, No. 2AD5 [1960], Paper J-15, pp. 1AD25 <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:5" role="doc-endnote">
<p>John Abrahamson and James Dinniss. (2000). Ball lightning caused by oxidation of nanoparticle networks from normal lightning strikes on soil. Nature 403, 519-521. <a href="http://www.nature.com/nature/journal/v403/n6769/full/403519a0.html">doi:10.1038/35000525</a> . <a href="#fnref:5" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:6" role="doc-endnote">
<p>D. B. Muldrew. (2010). Solid charged-core model of ball lightning. Ann. Geophys., 28, 223-232. <a href="http://www.ann-geophys.net/28/223/2010/angeo-28-223-2010.html">doi:10.5194/angeo-28-223-2010</a> . <a href="#fnref:6" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:7" role="doc-endnote">
<p>Mario Rabinowitz. (1999). Little Black Holes: Dark Matter and Ball Lightning. Astrophys.Space Sci. 262, 391-410. doi:10.1023/A:1001865715833 . <a href="http://arxiv.org/abs/astro-ph/0212251">arXiv:astro-ph/0212251</a> . <a href="#fnref:7" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:8" role="doc-endnote">
<p>我没有找到官方的项目网站,这个结论是从<a href="http://physics.aps.org/articles/v7/5">这里</a>看到的。 <a href="#fnref:8" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:10" role="doc-endnote">
<p>I 表示离子的价态。 <a href="#fnref:10" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:11" role="doc-endnote">
<p><a href="http://zh.wikipedia.org/zh-cn/%E5%9C%B0%E7%90%83%E7%9A%84%E5%9C%B0%E6%AE%BC%E5%85%83%E7%B4%A0%E8%B1%90%E5%BA%A6%E5%88%97%E8%A1%A8">地球的地壳元素丰度列表</a> <a href="#fnref:11" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
Creative Commons License 图标设计与 SVG
2014-01-11T00:00:00+00:00
http://openmetric.org/sciencecn/cc-license-design
<p>Creative Commons License 是一种比较常用的公共版权的授权。可以有针对的限制某些活动的同时保持作品可以被(部分的)公共使用。这篇文章不是讲 CC 是什么的,所以想了解更多的内容请去阅读 Wikipedia 或者 CC 官网 <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>。</p>
<h2 id="svg-图标">SVG 图标</h2>
<p>这篇文章要写的是,<a href="http://opentf.github.io/">果壳网开放小组</a> <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup> <sup id="fnref:0" role="doc-noteref"><a href="#fn:0" class="footnote" rel="footnote">3</a></sup> 所设计的一种略带果壳风的设计。闲话少说,先看例子:</p>
<p><img src="http://opentf.github.io/GuokrBadge/cc/gs/cc_byncsa.flat.guokr.svg" alt="CC BY-NC-SA" /></p>
<p>这是 CC BY-NC-SA 的图标,自然是由 CC + BY + NC + SA 组成,分别代表:CC 协议[Creative Commons]、(使用是按作者的要求)署名[Attribution]、非商业使用[Non-commercial]、(使用时)要以相同的方式共享[Share-alike]。</p>
<p>这个设计使用了三种颜色:</p>
<ol>
<li><code class="language-plaintext highlighter-rouge">#666666</code> :左侧的背景色</li>
<li><code class="language-plaintext highlighter-rouge">#FFFFFF</code> :字体颜色</li>
<li><code class="language-plaintext highlighter-rouge">#85c155</code> :右侧的背景色</li>
</ol>
<p>并且使用了扁平风格,而不是拟物化的带各种突起和渐变的风格,原因是这些图标是作为(非官方的)果壳网用户个人选择授权的时候使用的,这样会跟网站比较搭。</p>
<p>制作的时候,除了最终生成的 PNG 图片,我们也提供了 SVG 图片。为什么选择 SVG 图片呢?</p>
<p>SVG,Scalable Vector Graphics,是一种矢量图。如果用文本编辑器打开一个 SVG 图片,我们会发现实际上就是 XML 代码。例如,上面那个 CC BY-NC-SA 的代码的开头部分:</p>
<figure>
<figcaption>
CC BY-NC-SA 代码开头
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/xml-code.png" alt="" /></p>
</figure>
<p>所以说,实际上 SVG 中大部分都是用代码绘制出来的,当然,SVG 还可以使用很多 HTML 代码,例如链接、插入其他图片等等,也可以使用 javascript,例如可以实现点击一个节点后展开等等。</p>
<p>因为 SVG 缩放后不会变模糊(当然嵌入到里面的其他的像素图片可能会变模糊),所以常常用来制作各种图标,Logo 等等。而且著名的数据可视化 JavaScript 库,<a href="http://d3js.org/">d3js</a> 默认就是使用的 SVG,可以有很多图片互动。</p>
<h2 id="这些图标的使用方法">这些图标的使用方法</h2>
<p>如果没有接触过 CC, Copyleft 等协议,请先从官网等处(例如 <a href="http://creativecommons.org/choose/?lang=zh">CC 官网的程序</a> )选择好合适的协议。然后从我们的 repo 的说明 (在<a href="https://github.com/opentf/GuokrBadge/blob/master/README.md">这里</a> ) 中挑选自己喜欢的样式,然后从说明中复制出相应的链接,然后在自己的作品中使用 ( img src=”” ) 即可。或者可以从我们的 repo 中复制出自己需要的图片,然后放在自己的电脑或者服务器上,但是这种方法不能保证我们以后修改之后于我们同步。</p>
<p>例如,我们需要使用 CC BY-NC-SA 协议,而且喜欢这种胶囊形状的图标,并且我们想使用 SVG 图片,而不是 PNG 图片。那么从我们的 <a href="https://github.com/opentf/GuokrBadge/blob/master/README.md">README.md</a> 中找到这个协议(在目录中找到胶囊 + 果壳色 CC 协议 ~ SVG 版本):</p>
<figure>
<figcaption>
README CC BY-NC-SA
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/license.png" alt="" /></p>
</figure>
<p>看到我们给出了两个不同大小的图片的链接,一个 64px, 一个 32px,这个大小指的是图标的高度。实际上这些 SVG 图片缩放不变,所以大小倒是没有那么重要,只是如果你在一些网站写作品,但是这个网站又不支持自定义图片大小,那么就不得不选择合适大小的图片了。</p>
<p>例如我们想要使用 32px 高度的图片,那么把那个图片链接复制出来:</p>
<figure>
<figcaption>
Copy the right link
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/license-usage.png" alt="" /></p>
</figure>
<p>然后在需要的地方使用即可。例如在果壳的编辑框中,插入图片是可以使用外链的,把上面复制的图片链接粘贴过来即可:</p>
<figure>
<figcaption>
Copy the right link
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/license-usage-2.png" alt="" /></p>
</figure>
<h2 id="svg-图标的制作">SVG 图标的制作</h2>
<p>制作 SVG 图片,一个非常好用的开源软件是 <a href="http://inkscape.org">Inkscape</a>。编辑区域的截图:</p>
<figure>
<figcaption>
Inkscape
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/inkscape.png" alt="" /></p>
</figure>
<p>当然也可以代码编辑:</p>
<figure>
<figcaption>
Inkscape Code View
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/inkscape-2.png" alt="" /></p>
</figure>
<p>作为图片编辑器的一个基本功能,Inkscape 也可以显示 Grid:</p>
<figure>
<figcaption>
Inkscape Code View
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/inkscape-grid.png" alt="" /></p>
</figure>
<p>上图是在制作图片的时候,使用标尺功能。可以像 Adobe 系列的作图软件一样,从标尺往外拖出一些直线,用来校准。</p>
<p>当然,如果你是一个代码狂人,你也可以使用著名的前端工具 <a href="http://brackets.io/">Brackets</a> 来制作修改 SVG 图片:</p>
<figure>
<figcaption>
Brackets SVG
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/brackets.png" alt="" /></p>
</figure>
<p>会有实时预览,还算不错,如果仅仅改几个字,改一点颜色,即便不懂 SVG 也可以很轻松的修改图片。</p>
<h2 id="关于果壳网开放小组">关于果壳网开放小组</h2>
<strike>开房</strike>
<p>开放小组是一个以实际行动倡导开放代码、开放知识、开放数据的小组织,目前成员有程序员,物理学生等。点击<a href="http://opentf.github.io/">这里</a>或者下面图片查看我们的网站:</p>
<figure>
<figcaption>
果壳网开放小组
</figcaption>
<p><img src="http://openmetric.org/images/posts/cc-license-design/guokrunion.png" alt="" /></p>
</figure>
<p><a href="https://github.com/opentf/GuokrBadge" target="_blank">制作几种授权的图标</a>只是这个小组织的多个 repo 之一。</p>
<h2 id="致谢">致谢</h2>
<p>在制作这些图标的时候,我们使用了来自 Wikipedia 的 <a href="http://en.wikipedia.org/wiki/Creative_Commons_license">Creative Commons License 词条</a>下面的那些 SVG 图标,并且使用了 <a href="http://b.adge.me">b.adge.me</a> 的 Badge 模板。在此向这些作品的作者致以谢意。</p>
<p>同时开放小组的成员提供了很多参考,特别是 <a href="http://www.guokr.com/i/1960596414/">@光之存在者</a> (如他所说,是光之存在者了,终于……)提供的关于 SVG 的建议非常重要。</p>
<p>所以实际上我以个人的名义来发这篇日志是在不是那么合适,这是小组集体工作的结果,不过是借用关注的人数多这点来推广罢了。</p>
<h2 id="授权">授权</h2>
<p>本文采用</p>
<p><img src="https://raw.github.com/opentf/GuokrBadge/master/cc/gs/cc_byncsa.flat.guokr.32.png" alt="CC BY-NC-SA" /></p>
<hr />
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>令人惊讶的 <a href="http://zh-classical.wikipedia.org/wiki/%E5%89%B5%E6%84%8F%E5%85%AC%E7%94%A8%E6%8E%88%E6%AC%8A%E6%A2%9D%E6%AC%BE">文言文版</a> 。 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>一个<strike>由果壳网用户</strike>成立的小组织:<a href="http://opentf.github.io/">http://opentf.github.io/</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:0" role="doc-endnote">
<p>遗憾的是这个小组已经放弃了。 <a href="#fnref:0" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
量子力学框架回顾一
2013-11-10T00:00:00+00:00
http://openmetric.org/sciencecn/quantum-mechanics-review
<p>量子力学回顾系列是为果壳的 <a href="http://www.guokr.com/group/394/">纠缠与相干</a> 小组写的基础知识帖子。主要的受众应该是学过一点量子力学,但是后来很久没有再接触过量子力学的人或者没有学过量子力学但是有些物理基础的人。</p>
<hr />
<p>初等量子力学其实核心内容非常少,甚至可以在一个帖子里面说完。</p>
<p>这个帖子中,我们会回顾一下量子力学,这样可以给没学过量子力学的同学一些概念,也可以帮助那些很久没有再碰过量子的同学一些复习的机会。</p>
<p>因为有很多东西我不知道怎么翻译,所以就直接使用英文名称了,反正就是个代号,应该无妨。</p>
<h2 id="量子力学的前三个假设">量子力学的前三个假设</h2>
<ul>
<li>
<p>Physical State 是使用希尔伯特空间的一个 ket 来表示的,通常写作 $\ket{\psi}$。如果要看这个 state 具体是什么样子,我们需要指定一组完备的基矢 $\ket{i}$,通过把 state 在基矢上展开,我们可以得到一些具体的表达式,例如一个矢量,例如一个函数,取决于我们的基矢是连续的还是离散的。</p>
\[\ket{\psi} = \sum_i \ket{i}\bra{i}\ket{\psi} = \sum_i C_i \ket{i}\]
<p>这个跟相对论或者更简单(对物理学家来说是更复杂的)刚体力学里面类似,本质上类似微分几何里面要写出矢量具体形式,需要给出基矢。或者在简单的情况下,这个就等价于说,矢量是矢量分量和基矢,而不是我们小学中学学的那种只有一组分量的形式。这点很关键,如果不明白这一点,在做坐标变换的时候,常常就会搞混。</p>
<p>物理里面最重要事情之一就是找不变量,除了做了好的可观测量,不变量还可以帮助我们做很多事情,因为不变,所以坐标变换下面也不变,这样才可以把不同的坐标下面的物理联系起来。</p>
<p>State 是什么?就是一个用来表征一个体系所处的状态的。有了 state,我们就可以得到我们想要的任何的观测量。所以用 state 来代表一个体系的状态是个很好的选择。我们不再用 坐标,动量 来表示状态,因为我们有了 state,可以得到坐标和动量,state 要比他们更基本。</p>
</li>
<li>
<p>Operators 通常是 Hermitian 算符。测量在量子力学里面(形式上)意味着 $\hat \Omega$作用在 state 上面,这样会自动挑选出这个测量的本征态 $\ket{\omega}$,其中可能的本征态出现的概率是:</p>
\[\left|\braket{\omega}{\psi}\right|^2\]
<p>这个怎么理解呢?算符就是个操作,作用就是投影。</p>
<p>我们可以看一个平面几何的例子:</p>
<p>如果我们有个矢量 $\vec r$,我们要把这个矢量投影到 $\vec x$ 轴上,怎么做呢?如果我们把 $\vec x$ 轴的基矢(单位矢量)写作 $\vec e_x$,那么这个投影就是</p>
\[\vec e_x \cdot \vec r\]
<p>实际上,我为什么要把 x 轴基矢的指标写在下面呢?</p>
<p>上面我们说了一个矢量应该包含分量和(正交)基矢,所以说,严格的写出来,</p>
\[r=r^x e_x + r^y e_y + r^z e_z\]
<p>这里 $e_x$ 等等坐标基矢。那么如何写出x轴的单位矢量呢?那应该是</p>
\[x= x^x e_x\]
<p>没有其它的分量。不过因为这个是单位矢量,所以(欧式空间)长度应该是 1,所以我们可以简单的写作</p>
\[I=e^x e_x\]
<p>给 $e^x$ 看起来像是 $e_x$ 的对偶。从这个例子可以看出来,其实我们可以简单的把基矢的对偶作用在一个矢量上面,从而把相应的分量挑选出来,例如我们把 $e^x$ 作用在 r 矢量上</p>
\[e^x (r^x e_x + r^y e_y + r^z e_z) = e^x r^x e_x = r_x\]
<p>(用了正交条件, $e^x e_y = 0$)</p>
<p>结果正好是 x 轴方向的分量,也就是说,投影操作其实是这样的。</p>
<p>(实际上上面那个 $ \vec e_x \cdot \vec r$ 应该写作 $e^x r$,那我为什么把指标放在下面也对呢?因为在欧式空间里面 $e^x$ 和 $e_x$ 是等价的,原因在度规是个单位张量。)</p>
<p>这么说来,算符像是个投影的作用,那 state 投影在某个方向上。为什么可以这么说呢?我们可以把上面那个投影的操作翻译成 Dirac 符号,</p>
<p>$e_x$ -> $\ket{x}$</p>
<p>$e^x$ -> $\bra{x}$</p>
<p>这样就可以把上面那个投影的矢量的运算翻译成使用 Dirac 符号来表示了</p>
\[\bra{x}(rx \ket{x} + ry \ket{y} + rz \ket{z}) = rx \braket{x}{x} = rx\]
<p>(同样用了正交条件, $\bra{x}\ket{y}=\bra{x}\ket{z}=0$)</p>
<p>如果我们把 $rx \ket{x} + ry \ket{y} + rz \ket{z}$ 看做是一个 state,即 $\ket{\psi} = rx \ket{x} + ry \ket{y} + rz \ket{z}$。那么就是说</p>
\[\braket{x}{\psi}= rx\]
<p>这里写 $\braket{x}{\psi}$ 的实际意思是 $\bra{x}\ket{\psi}$。</p>
<p>看到了吧,算符操作本质上就类似于投影。后面我们还会提到更多的算符的事情,因为这比较是量子力学里面最最核心的概念之一。</p>
<p>(有没有一种感觉,如果我们用 Dirac 符号来讲这些简单的几何和线性代数,那可多干净啊~)</p>
</li>
<li>
<p>State 的演化遵从 Schrodinger 方程(就不打那两个点了….希望 Schrodinger 先生不要介意)</p>
\[i\hbar \frac{\d}{d t}\ket{\psi(t)} = \hat H \ket{\psi(t)}\]
<p>$\hat H$ 是 Hamiltonian Operator.</p>
</li>
</ul>
<h3 id="这三个假设说的什么">这三个假设说的什么</h3>
<p>这三个假设的整体的逻辑是这样的:</p>
<p><strong>我们先得找出一种方法来描述一个物理体系(Postulate 1),然后我们得找到一种方法来获取我们想要的客观测量的信息(Postulate 2),其次我们需要知道体系随时间的演化(Postulate 3).</strong></p>
<p>但是还有一些问题,例如我们如何知道想要的算符是什么样子呢?</p>
<h3 id="仅仅利用前三个假设可以做很多事情">仅仅利用前三个假设可以做很多事情</h3>
<p>如何来描述一个体系的演化呢?我们当然可以直接用 Schrodinger 方程,但是问题在于,对于一些简单的情况,例如我们常见的那种 Hamiltonian 不含时间的情况,会不会有更加简单的形式呢?</p>
<p>(另外很重要的一件事情是 Picture:Schrodinger Picture 和 Heisenberg Picture。这两个说的是量子力学里面的一种相对性,更详细的说是坐标变换的相对性,坐标变换的时候我们可以理解为点不变而坐标系变化,也可以理解为点的变换坐标系不变。这种相对性在经典力学里面也有,只是我们不常提到。如果学刚体力学的话,可能会提到这一点。)</p>
<p>下面我们开始使用 Black Magic,定义一个神奇的算符:</p>
\[\hat U \ket{\psi(t_0)} = \ket{\psi(t)}\]
<p>有了这个神奇的算符 $\hat U$ 和一个初始状态,我们就可以得到任意时刻的状态了!</p>
<p>那么我们可以得到这个神奇的算符么?</p>
<p>到目前为止,我们知道的位移的有关 state 演化的知识就是 Schrodinger 方程(第三个假设),所以我们就试试。把这个等式代入到 Schrodinger 方程中。</p>
\[\begin{eqnarray}
i\hbar \frac{d }{d t}\ket{\psi(t)} &=& \hat H \ket{\psi(t)} \\
i\hbar \frac{d }{d t}\hat U \ket{\psi(t_0)} &=& \hat H \hat U \ket{\psi(t_0)} \\
i\hbar \frac{d }{d t}\hat U &=& \hat H \hat U
\end{eqnarray}\]
<p>这个结果看起来是不是很熟悉?这个方程的解(如果 Hamiltonian 是不含时间的)就是如下简单的指数形式</p>
\[\hat U = e^{- i \hat H (t-t_0)/\hbar}\]
<p>我们可以证明这个神奇的算符是 Unitary 的,只要 $\hat H$ 是 Hermitian 的(这通常是对的,但是也有 non Hermitian 的一些唯像的例子)。</p>
<p>上面我们得到了这个神奇的演化算符的形式,但是只有那个形式通常不好用,所以我们会在 Hamiltonian 本征基矢(离散)下面写出来, $\ket{\epsilon_i}$,</p>
\[\begin{eqnarray}
\hat U \ket{\phi} &=& e^{- i \hat H (t-t_0)/\hbar} \ket{\psi} \\
\hat U \ket{\phi} &=& \sum_i e^{- i \hat H (t-t_0)/\hbar} \ket{\epsilon_i}\braket{\epsilon_i}{\psi} \\
\hat U \ket{\phi} &=& \sum_i e^{- i \epsilon_i (t-t_0)/\hbar} \ket{\epsilon_i}\braket{\epsilon_i}{\psi}
\end{eqnarray}\]
<p>我们通常会用下面的形式来写这个演化算符:</p>
\[\hat U = \sum_i e^{- i \epsilon_i (t-t_0)/\hbar} \ket{\epsilon_i}\bra{\epsilon_i}\]
<h3 id="几点数学知识">几点数学知识</h3>
<p>说到这里,我们得加一点其他的数学知识了。</p>
<p><strong>Hermitian Conjugate</strong></p>
<p>${}^\dagger$ 是 Hermitian Conjugate 的符号,例如
\(\hat A^\dagger\)
是算符 $\hat A$ 的 Hermitian Conjugate.</p>
<p>对于 state,我们有
\(\ket{\psi}^\dagger = \bra{\psi}\)</p>
<p><strong>Hermitian</strong></p>
<p>我们说一个东西是 Hermtian 的如果它的 Hermitian Conjugate 是它本身,即
\(\hat A^\dagger = \hat A\)</p>
<p><strong>Identity</strong></p>
<p>Identity 就是一个作用在一个 state 或者算符上面不改变 state 或者算符的一个东西。既然不改变原来的内容,那么为什么我们会需要这个东西呢?</p>
<p>这就是量子力学里面最大的秘密了。量子力学里面最大的秘密就是往式子里面插入 Identity。</p>
<p>我们可以看一个例子。先考虑一个问题,一个矩阵的函数 $f(\mathbf A)$ 是如何定义的呢?
矩阵基本运算我们只知道加法和乘法,所以要定义一个函数,需要把这个写成加法和乘法的样子。哎,我们不是有个叫做 Taylor 展开的东西么,这个展开的结果就只有乘法和加法,所以我们定义矩阵的函数是通过 Taylor 展开来做的。</p>
<p>量子力学里面离散的基矢下面的算符就是矩阵的形式,所以实际上我们定义量子力学里面的算符也是通过 Taylor 展开定义的。下面我们证明一个量子力学里面常用的式子</p>
\[\begin{eqnarray}
&&\hat A^\dagger e^\hat B \hat A \\
&=& \hat A^\dagger \left( \sum_n \frac{1}{n!}\hat B^n \right) \hat A\\
&=&\hat A^\dagger \left( \hat B + \frac{1}{2!}\hat B^2 + \frac{1}{3!}\hat B ^3 + \cdots \right) \\
&=& \hat A^\dagger \hat B \hat A + \frac{1}{2!} \hat A^\dagger \hat B^2 \hat A + \frac{1}{3!}\hat A^\dagger \hat B^3 \hat A + \cdots
\end{eqnarray}\]
<p>如果我们的$\hat A$是 Unitary 的(看下面的关于 Unitary 的说明),即,$\hat A^\dagger \hat A = \hat I$ .然后我们可以往里面加 Identity ($\hat I$),例如
\(\hat A^\dagger \hat B^2 \hat A = \hat A^\dagger \hat B \hat I \hat B \hat A = \hat A^\dagger \hat B \hat A \hat A^\dagger \hat B \hat A = (\hat A^\dagger \hat B \hat A)^2\)</p>
<p>用同样的方法,可以得到一个关于 $\hat A^\dagger f(\hat B)\hat A$ 的等式。(请自行证明。)</p>
<p><strong>Unitary</strong></p>
<p>我们说一个算符是 Unitary 的,如果
\(\hat U^\dagger \hat U = \hat I\)</p>
<p>$\hat I$ 是单位算符,通常可以简单写成 $I$。</p>
<p>Unitary 是个非常重要的 ,它对于理解体系演化有非常重要的作用。后面我们会看到。</p>
<p><strong>Eigenstate</strong></p>
<p>如果
\(\hat \Omega \ket{\omega}=\omega \ket{\omega}\)
即如果一个算符作用在这个态上面不改变这个态,那么我们说这个态是一个算符的本征态(eigenstate)。</p>
<p>其中 $\omega$ 是本征值。</p>
<p>这些定义跟线性代数里面的是一样的。</p>
关于宇宙膨胀的两个常见误解
2013-09-05T00:00:00+00:00
http://openmetric.org/sciencecn/cosmological-expansion
<h2 id="超过光速的膨胀">超过光速的膨胀</h2>
<p>狭义相对论告诉我们,信息传播不能超过光速,否则会有违反因果律的问题。那么,我们说宇宙在膨胀,宇宙膨胀会超过光速么?</p>
<h3 id="超越光速">超越光速</h3>
<p>为了看清楚这个问题,我们需要拿出我们的数学工具。假定存在一组随着宇宙一起膨胀的惯性观者,该组观者在观察宇宙中的两个点:${t, r_1,\theta,\phi }$, ${t, r_2,\theta,\phi}$. 这里为了简便,使用了(广义)球坐标。而且,这里使用的是 comoving coordinate,或者叫做共形距离,空间部分并不会变化。</p>
<p>我们通过狭义相对论已经知道了,两点之间的距离的计算方法。实际上在我们常常说的 FRW 宇宙,也就是各项同性且均匀的宇宙中,距离的计算方法是</p>
\[\mathrm ds^2 = c^2 dt^2 + a(t)^2( \mathrm dr^2 + \chi ( \mathrm d\theta^2 \sin^2\theta \mathrm d\phi^2 ) ) ,\]
<p>其中 $a(t)$ 是 scale factor,代表了宇宙的尺度的变化,可以说是宇宙中尺子的共形变换因子。</p>
<p>把我们定义的两点的坐标代入进去,会得到</p>
\[s = a(t) (r_1 - r_2) .\]
<p>我们想要看的是 s 的变化的快慢,也就是「速度」,</p>
\[\frac{\mathrm ds}{\mathrm dt} = \dot a (r_1 - r_2) .\]
<p>也就是说,只要宇宙膨胀的速度足够快($\dot a$ 足够大),不管这里两点之间的共形距离多么小,<strong>这个所谓的速度总可能超过光速</strong>。</p>
<h3 id="所谓速度">所谓速度</h3>
<p>我们来看看这个速度是什么意思。</p>
<p>我们讨论的是一个两个点相互背离的速度,这种算法跟我们在狭义相对论里面的一个常见的计算一样。即,如果有两个飞船分别从南极和北极飞出,各以 0.75c 的速度背离地球。那么我们作为地球上的观察者,这两个飞船相互背离的速度,就只能这样加起来,也就是 1.5c .</p>
<p>怎么?这个会违背相对论?不会。因为这压根不是任何形式的信息传递速度。</p>
<p>我们这里计算的所谓的超越光速的膨胀,跟这个例子是一样的,压根就不是真正的物理速度,没有信号传递。</p>
<h2 id="什么在膨胀什么不膨胀">什么在膨胀?什么不膨胀?</h2>
<p>一起这个问题在豆瓣物理组讨论过。我再拿出来说说。</p>
<p>这个问题是说,如果我们说宇宙在膨胀,现在我们要量两个星系之间的距离,如果尺子也随着宇宙进行相同的膨胀,那么我们用这把尺子量,是不能发现宇宙的膨胀的。当然这只是个很简单的情形,这个问题带来的一个思考是:我们说宇宙膨胀,到底是什么膨胀?尺子会膨胀么?</p>
<h3 id="我们的太阳系会膨胀么">我们的太阳系会膨胀么</h3>
<p>我们现在考虑,我们的太阳系现在在膨胀么?</p>
<p>显然我们的太阳系(几乎)没有膨胀。</p>
<p>那我们的银河系在膨胀么?</p>
<p>也(几乎)没有。</p>
<p>那么一个半径 10000 Mpc 的区域呢?</p>
<p>这个是在膨胀的。</p>
<p>那么,我们是怎么判断的呢?</p>
<h3 id="简单的判据">简单的判据</h3>
<p>我们还是需要使用数学来做一个简单的推算。</p>
<p>考虑一个直径为 $D$ 的区域,假定这个区域内的物质分布是均匀的。</p>
<p>我们知道宇宙的膨胀是通过 $a$ 来体现的,更加确切的说,是通过 $H(a)$ 这个哈勃参数来体现的。实际上 $H(t)$ (常使用 km/s/Mpc 的单位)的意思是值得在每个 MPc 的距离上,星系的推行速度。也就是说,$c H^{-1}$ 就代指了有因果联系的区域的大致的直径大小。</p>
<p>所以我们的判据应该是:</p>
<ul>
<li>如果 $D\gt c H^{-1}$,那么这个区域就是在膨胀的,因为任何形式的束缚场都不能够在大于 $cH^{-1}$ 的区域上进行作用;</li>
<li>如果 $D\lt c H^{-1}$,那么这个区域是基本不膨胀的,因为这些物体可以被引力(或其他作用)束缚住。</li>
</ul>
<p>总之,膨胀还是不膨胀,考虑的是宇宙膨胀的效应和物体之间的束缚场的作用谁强谁弱。</p>
量子力学计算的一个小技巧
2013-08-09T00:00:00+00:00
http://openmetric.org/sciencecn/quantum-mechanics-trick
<p>量子力学里面很多 e 指数函数,这类函数的一大特点就是导数会出现这个函数本身,所以有时候可以利用这个特点来简化计算。</p>
<p>例如我们有一个初始状态,态矢在位置基矢下的表达式,</p>
\[\phi = C e^{i C _ 1 x} e^{C _ 2 x^2}\]
<p>当然,这里的三个常数可能是
\(C = \frac{1}{(\pi \eta^2)^{1/4}}\)
\(C_1 = p _ 0/\hbar\)
\(C_2 = -\frac{1}{2\eta^2}\)
但是对于我们的计算来说,这些常数是多少,并无大的影响,所以就不再代入具体的形式了。</p>
<p>而我们要计算的是动量在位置基矢下面的不确定值,计算过程中需要求解这个量:</p>
\[\bra{\psi}\hat p^2 \ket{\psi}\]
<p>而求解这个量的过程中,需要用到如下的计算</p>
\[\psi^ * \frac{\d}{\d x}\frac{\d}{\d x} \psi\]
<p>一个比较简便的做法是定义如下的中间量
\(G = \frac{\d}{\d x} \psi\)</p>
<p>至于为什么要这么定义,我们继续计算,就可以看到这样做的好处了。</p>
<p>先求解 G</p>
\[G = \psi (i C _ 1 + 2 C _ 2 x)\]
<p>我们把这个结果代入要求解的式子中,</p>
\[\begin{eqnarray}
\psi^ * \frac{\d}{\d x}\frac{\d}{\d x}\psi &=& \psi^* \frac{\d}{\d x} ( \psi (i C _ 1 + 2 C _ 2 x) ) \\
&=& \psi^ * \psi 2 C _ 2 + \psi^ * G (i C _ 1 + 2 C _ 2 x) \\
&=& \psi^ * \psi (i C _ 1 + 2 C _ 2 x)^2 + \psi^ * \psi 2C _ 2 \\
&=& \psi^ * \psi \left[(i C _ 1 + 2 C _ 2 x)^2 + 2C _ 2 \right]
\end{eqnarray}\]
<p>而
\(\psi^ * \psi\)
这一项里面的带有虚数指数的部分变成了 1,所以最后的计算就会比较简单,不易出错。</p>
<p>如果大家有好做法,可以分享一下。</p>
如何重建宇宙演化历史(未完成)
2013-07-23T00:00:00+00:00
http://openmetric.org/sciencecn/rebuild-history-of-universe
<p>Alan Sandage 曾经说过 <sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> Cosmology 的任务就是要寻找两个参数:哈勃常数 $H_0$ 和减速因子 $q_0$。这两个分别给出了宇宙膨胀的「速度」和「加速度」。如今我们的技术已经有了很大的进步,同样我们也早已不满足仅仅寻找这两个参数。</p>
<blockquote>
<p>The present discussion is only a prelude to the coming decade. If work now in progress is successful, better values for both $H_0$ and $q_0$ (and perhaps even $Λ$ ) should be found, and the 30-year dream of choosing between world models on the basis of kinematics alone might possibly be realized.</p>
</blockquote>
<p>一篇 <a href="http://mwhite.berkeley.edu/BAO/SantaFe07.pdf">Martin White 的 BAO 讲稿</a> 的扩展笔记。</p>
<p>要重构宇宙演化历史,最基本的是要重构 Hubble 方程,</p>
\[H^2(z) = \frac{8\pi G}{3} \sum\rho_i(z) = H_0^2 \sum \Omega_i(z)\]
<p>其中 $\Omega_i(z) = \rho_i(z)/\rho_ c$ 是能量密度份数,而 $\rho_c = 3 H_0^2 /(8\pi G)$ 是宇宙演化临界密度(即曲率为零)。</p>
<p>因为 Hubble 方程给出的是膨胀历史,所以我们需要有个可以完整描述的距离度量,也就是要有标准尺。为什么不需要标准钟呢?因为我们总可以用红移作为时间度量,然后依据模型给出时间和距离的关系,所以只要有了时间和距离中的一个就可以了,剩下的由理论决定。空间坐标是较为容易测量的量,而时间却会都淹没在历史长河中了。所以我们要使用标准尺。</p>
<p>主要的标准尺有三种:</p>
<ul>
<li>Standard Candles
<ol>
<li>Luminosity distance of well known objects like SN Ⅰa</li>
<li>DAG Differential Ages of Galaxies</li>
</ol>
</li>
<li>Redshift Drift</li>
<li>Standard Rulers
<ol>
<li>BAO Baryon Acoustic Oscillation</li>
<li>Sound wave of early universe</li>
</ol>
</li>
</ul>
<p>除了标准尺,我们用来了解宇宙演化还会用到 cosmic microwave background, growth of structures (growth index etc)。</p>
<h3 id="luminosity-distance">Luminosity Distance</h3>
<p>Luminosity distance $d_L$ 受到宇宙膨胀历史的影响,</p>
\[d_L = (1+z) \int _ z^0 \frac{\mathrm d\tilde z}{H(\tilde z)}\]
<p>因此只要可以测得大量已知红移的天体的 luminosity distance,我们便可以构造出宇宙的膨胀历史,也就得知了暗能量的状态方程。</p>
<p>但是由于 luminosity distance 是由积分来表示的,所以实际上类似但有差异的状态方程对 luminosity distance 的影响并不是足够大,关于这点可以看到 <sup id="fnref:rj" role="doc-noteref"><a href="#fn:rj" class="footnote" rel="footnote">2</a></sup> 中的 fig1.</p>
<figure>
<figcaption>
<a href="http://hongzai-story.blogspot.com/2010/10/blog-post.html">来源</a>
</figcaption>
<p><img src="http://openmetric.org/images/posts/rebuild-history-of-universe/history.jpg" alt="" /></p>
</figure>
<p>可见对于这些情况的状态方程,红移的高阶导数之间的差异要比 luminosity distance 之间的差异要大多了。</p>
<h3 id="dag">DAG</h3>
<p>Hubble 方程
\(H(z) = -\frac{1}{z+1}\frac{\mathrm dz}{\mathrm dt}\)
所以只要能够确定 $\mathrm dz/\mathrm dt$ 即可。</p>
<p>比如如果我们能够找到两个同时形成的天体,而且如果我们能够根据天体的状态得知天体的年龄(e.g., spectroscopic dating of galaxy ages <sup id="fnref:rj:1" role="doc-noteref"><a href="#fn:rj" class="footnote" rel="footnote">2</a></sup>),那么我们便可以计算 $\Delta z/\Delta t$ 以估算 $\mathrm dz/\mathrm dt$。通过大量的统计,便可推导出 Hubble 方程和暗能量的状态方程。</p>
<p>因为这是测量红移的一阶导数,从之前的讨论可知,这种方案要比之前的测量 luminosity distance 的方案对不同的状态方程要更加有区分能力。</p>
<h3 id="redshift-drift">Redshift Drift</h3>
<p>除了 DAG,我们还可以直接测量以我们当地时间为基准的红移变化率,即</p>
\[z(t_0+\Delta t_0) = \frac{a(t_0 + \Delta t_0)}{a(t_s + \Delta t_0)} - 1\]
<p>当 $\Delta t_0$ 很小的时候,我们可以根据导数的定义求的 redshift drift [<sup id="fnref:redshiftdrift1" role="doc-noteref"><a href="#fn:redshiftdrift1" class="footnote" rel="footnote">3</a></sup>]</p>
<p>\(\dot z= \mathrm dz / \mathrm dt_0 =\lim_{\Delta t_0 \rightarrow 0} \frac{\Delta z}{\Delta t_0} = \lim_{\Delta t_0\rightarrow 0} \frac{\dot a(t_0) - \dot a(t_s)}{a(t_s)} = (1+z)H_0 - H(z)\).</p>
<p>在观测方面,我们可以测量星系的退行速度的导数 $\dot v = \Delta v/\Delta t_0$,又因为我们有 $\Delta v = c \frac{\Delta v}{1+z} $</p>
\[\dot v = \frac{c H_0}{1+z} \left(1+z - \frac{H(z)}{H_0}\right)\]
<h3 id="bao">BAO</h3>
<p>BAO, baryon acoustic oscillation,是一种非常理想的标准尺。首先,我们可以建立对 BAO 在除了极早期外的整个宇宙历史中的描述。</p>
<h2 id="尾注">尾注</h2>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>A. Sandage, Physics Today, February 23, 34 (1970). <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:rj" role="doc-endnote">
<p><a href="http://iopscience.iop.org/0004-637X/573/1/37/">R. Jimenez et al., Astrophys. J. 573, 37 (2002)</a>. <a href="#fnref:rj" class="reversefootnote" role="doc-backlink">↩︎</a> <a href="#fnref:rj:1" class="reversefootnote" role="doc-backlink">↩︎<sup>2</sup></a></p>
</li>
<li id="fn:redshiftdrift1" role="doc-endnote">
<p><a href="http://www.sciencedirect.com/science/article/pii/S0370269310008956">D. Jain and S. Jhingan, Phys. Lett. B692, 219(2010)</a> <a href="#fnref:redshiftdrift1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
如何挑西瓜:一个学物理的吃货的感言
2013-06-20T00:00:00+00:00
http://openmetric.org/sciencecn/how-to-choose-the-right-watermelon
<p>西瓜是一种很甜美的食物。当然,做为一个学物理的吃货,我一定不会白白浪费西瓜的。所以,本文的宗旨是,如何在不破坏西瓜的前提下,了解西瓜的甜美程度。</p>
<h2 id="西瓜的生物学基础知识">西瓜的生物学基础知识</h2>
<p>西瓜是不是好吃,基本上是由含糖量决定的。而溶液的含糖量,这里的糖是指的我们能够吃出甜味的糖,例如葡糖糖,果糖。当然西瓜本身有大量的多糖——纤维素,这是西瓜细胞壁的主要成分,更是西瓜瓜瓤的主要成分。西瓜有大量的瓜瓤,可是我们吃纤维素,那是没什么口味的。幸运的是,西瓜成熟的时候,纤维素被纤维素酶降解了,瓜瓤被破坏,细胞就成了散沙一样。同时,这些被纤维素被降解,有了我们甜甜的葡萄糖。</p>
<h2 id="西瓜的物理特性">西瓜的物理特性</h2>
<p>我们关心的是西瓜的力学性质和声学性质,所以只需要考虑一组量就可以了,那就是弹性模量。
有了弹性模量,我们可以得到几乎所有西瓜本身的力学和声学性质。
所以现阶段想要通过力学和声学鉴定西瓜品质,一定要靠拢到弹性模量上来才靠谱。</p>
<p>而我们之前了解到,西瓜的成熟,西瓜的瓜瓤降解,葡萄糖的含量是相关的:西瓜成熟,意味着瓜瓤降解为葡糖糖。</p>
<p>瓜瓤降解是很关键的一点,因为瓜瓤降解改变了西瓜的结构,这会对西瓜的力学性质造成很大的影响。</p>
<p>当然这是理论上的,而实验上也确实有数据支持这一说法。</p>
<p>我们总结一下西瓜的属性<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> <sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>。</p>
<table>
<thead>
<tr>
<th> </th>
<th style="text-align: center">不熟</th>
<th style="text-align: right">成熟</th>
</tr>
</thead>
<tbody>
<tr>
<td>密度</td>
<td style="text-align: center">大</td>
<td style="text-align: right">小</td>
</tr>
<tr>
<td>硬皮内侧弹性模量</td>
<td style="text-align: center">-</td>
<td style="text-align: right">-</td>
</tr>
<tr>
<td>瓜瓤最外层弹性模量 </td>
<td style="text-align: center">大 </td>
<td style="text-align: right">小 </td>
</tr>
<tr>
<td>瓜瓤中间弹性模量 </td>
<td style="text-align: center">大 </td>
<td style="text-align: right">小 </td>
</tr>
<tr>
<td>瓜瓤中心弹性模量 </td>
<td style="text-align: center">大 </td>
<td style="text-align: right"> 小 </td>
</tr>
<tr>
<td>同样的西瓜共振基频 </td>
<td style="text-align: center">高 </td>
<td style="text-align: right">低 </td>
</tr>
</tbody>
</table>
<p>这些特性导致了相同品种、相同质量的西瓜,共振的频率不同,这样我们可以通过对照基频来挑西瓜,基频越小,西瓜越好。</p>
<p>等一下,西瓜越大,共振频率也越小。所以我们也要考虑西瓜的大小。以什么为标准呢?我们可以从振动方程中得出,西瓜的弹性模量
$E\propto f^2 m^{2/3}$,
而我们前面得知不熟和成熟的西瓜之间的的瓜瓤的弹性模量差别很大。并且,弹性模量是更加本质的一个物理量。所以我们就直接用 $f^2 m^{2/3}$ 来作为西瓜的质量标准。(说实话,这里 $f^2 m^{2/3}$ 并不是唯一的选择 <sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup>,或许是一个更好的思路,因为我们并不确定弹性模量是不是最好的标杆,我们只是知道我们所知的物理量里面这个是最优的。)</p>
<p>弹性模量对于西瓜的振动模式的影响也可以直接看西瓜在一个初始的驱动下的振动演化。西瓜被敲击之后,振动发声,而这部分振动发声,会随时间演化,有个振动波形。
有一些论文是以这个为基础的。我们不是要自己想研究,而是要建立一个比较直观的物理感觉。所以直接取几张截图过来,我们感受一下:</p>
<figure>
<figcaption>
西瓜的振动波形
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/experiment-1.png" alt="" /></p>
</figure>
<p>这是对于一个正常西瓜的检测。正常意味着没有损坏,没有空心,没有蛀虫。
这样的西瓜的波形是比较漂亮的,对称性比较好。为什么对称性比较好呢,因为西瓜本身的对称性比较好,所以各个振动模式也比较漂亮。</p>
<p>我们比较关心功率谱,因为功率谱决定了我们听到的声音的音色和感受到的频率。功率谱在低频的时候,有几个比较明显的峰值。</p>
<figure>
<figcaption>
西瓜的振动功率谱
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/power-spectrum.png" alt="" /></p>
</figure>
<p>这是一个空心西瓜的检测。这个波形好丑陋。对称性不好,因为西瓜本身可能因为空心变得不那么对称。不同振动的模式损失情况也比较特殊,与空心部分的形状大小有关。我们再看功率谱,原来正常的西瓜有一个明显的最高的峰值,现在变得不那么明显了。就是说,原来可能多少有点偏干瘪的音叉的感觉,现在变得是更加有和弦的感觉。</p>
<p>当然不是所有的实验都像这篇文章一样漂亮,有的实验会得到这样的结果 <sup id="fnref:5" role="doc-noteref"><a href="#fn:5" class="footnote" rel="footnote">4</a></sup></p>
<figure>
<figcaption>
时域上的变化
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/time-domain.png" alt="" /></p>
</figure>
<figure>
<figcaption>
频域上的变化
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/frequency.png" alt="" /></p>
</figure>
<p>虽然看起来乱些,但是实质却是一样的,即,功率谱在低频阶段有几个标志性的峰值。这个文章没有非正常瓜的波形很频率谱对照,稍显可惜。</p>
<h2 id="吃货的本质">吃货的本质</h2>
<p>学物理,难道不是为了吃上更好的西瓜么?</p>
<p>所以,喂,上面那个西瓜,哦不对,上面那个图表,
| | 不熟 | 成熟 |
| ————- |:————-:| —————–:|
| 密度 | 大 | 小 |
| 同样的西瓜共振基频 | 高 | 低 |</p>
<p>我们来看看我们人类的听力:</p>
<figure>
<figcaption>
人的听力范围
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/Hoerflaeche_zh-hans.png" alt="" /></p>
</figure>
<p>太棒了,上一部分我们看到的西瓜振动的功率谱中,几个比较大的峰值在 20Hz 之上了,所以我们可以分辨这几个峰值。听声辨西瓜,是可能的。</p>
<p>具体有什么规律呢?我们有张图来表示<sup id="fnref:4" role="doc-noteref"><a href="#fn:4" class="footnote" rel="footnote">5</a></sup></p>
<figure>
<figcaption>
成熟与否与频率峰值的关系
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/peak-freq.png" alt="" /></p>
</figure>
<p>(请尽情的吐槽这张图的纵坐标。严格来说,即便我们这里只定性的用这张图,也不行。不过通过其他的文章可以得知,实际上这里的纵轴应该是一个小错误,实际上至少是能分辨的,定性规律正确。)</p>
<p>所以,基于那一大串物理原理,我们得出这样的结论:</p>
<p>成熟的西瓜,敲击时的声音会比较沉闷。但是西瓜越大,声音也会越沉闷,所以要把西瓜的大小考虑进来。需要多多练习,才能很好的掌握这种方法。</p>
<h2 id="摔了的西瓜不好吃">摔了的西瓜不好吃</h2>
<p>有时候我买了一个西瓜,是熟的,但是听声音也挺沉闷的,但是,这西瓜摔了,不好吃啊。</p>
<p>所以,我们能够通过声音辨别出西瓜是否摔过么?答案是,我不知道,或许有人能,但是原理上来看,很难。</p>
<p>Armstrong 等人曾经做过实验<sup id="fnref:6" role="doc-noteref"><a href="#fn:6" class="footnote" rel="footnote">6</a></sup>,其中一个结果如下:</p>
<figure>
<figcaption>
对比摔过的西瓜和正常西瓜的功率谱
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/amp.png" alt="" /></p>
</figure>
<p>实线是指的一个原始的西瓜的功率谱,虚线是指的西瓜被从 25cm 的高度摔下来 5 次之后的功率谱。差别在于,摔了之后,西瓜的功率谱向低频移动了。这是一个很令人伤心的的结果,因为这样的话,我们就不能仅仅挑同一类西瓜里面的那些频率最低的那些了,因为这样可能会把摔过的西瓜挑出来。</p>
<p>或许,如果有人对某一类型的西瓜非常熟悉,可以准确的知道什么样的声音对应的是生瓜,什么样的对应的是摔过的瓜。这必定基于一些经验,和一幅好耳朵。</p>
<h2 id="果壳的史军老师的结论">果壳的史军老师的结论</h2>
<p><a href="http://www.guokr.com/answer/229460/redirect/" target="_blank">这样挑西瓜有何科学依据?</a></p>
<figure>
<figcaption>
史军老师教你挑西瓜
</figcaption>
<p><img src="http://openmetric.org/images/posts/how-to-choose-the-right-watermelon/HowToChooseWatermelonShiJun.jpg" alt="" /></p>
</figure>
<p>说了半天,这才是重点吧!</p>
<hr />
<h2 id="参考文献">参考文献</h2>
<div class="footnotes" role="doc-endnotes">
<ol>
<li id="fn:1" role="doc-endnote">
<p>王书茂, 籍俊杰, 焦群英 西瓜成熟度无损检验的冲击振动方法, 《农业工程学报》,1999, 15(3) 241 <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p> Koro Kato, Electrical Density Sorting and Estimation of Soluble Solids Content of Watermelon, Journal of Agricultural Engineering Research, Volume 67, Issue 2, June 1997, Pages 161-170, ISSN 0021-8634. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>Abbott, J.A., Affeldt, H.A., and Liljedahl. 1992. Firmness measurement of stored ‘delicious’ apples by sensory method, Magness-Taylor, and sonic propagation. Journal of the American Society for Horticultural Science 117:590. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:5" role="doc-endnote">
<p>M. L. Stone, P. R. Armstrong, X. Zhang, G. H. Brusewitz, D. D. Chen, Watermelon maturity determination in the field using acoustic impulse impedance techniques. American Society of Agriculture Engineering, 1996, 39(6) 2325. <a href="#fnref:5" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:4" role="doc-endnote">
<p>Kouno, Y., Mizuno, T., Maeda, H. & Akinaga, T. Internal quality analysis of watermelons by an acoustic technique and its application in Japan. ACIAR PROCEEDINGS (1993) P392. <a href="#fnref:4" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:6" role="doc-endnote">
<p>Armstrong, P. R., Stone, M. L. & Brusewitz, G. H. Nondestructive acoustic and compression measurements of watermelon for internal damage detection.Applied engineering in agriculture, 1997, 13, 641–645. <a href="#fnref:6" class="reversefootnote" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
一页纸上的微积分
2013-04-06T00:00:00+00:00
http://openmetric.org/sciencecn/one-page-calculus
<p>我们都说微分和积分是一对互逆的运算,那么究竟怎么个互逆法呢?</p>
<p>花了点时间把微分和积分的相应内容列举出来了:</p>
<figure>
<figcaption>
来源:<a href="https://github.com/emptymalei/physics/blob/master/docs/math/assets/DifferentialANDIntegralOnOnePage.png">Physics Reasearch Survival Manual</a>
</figcaption>
<p><img src="http://openmetric.org/images/posts/one-page-calculus/DifferentialANDIntegralOnOnePage.png" alt="" /></p>
</figure>
<p>相关的内容放在这 <a href="https://github.com/CosmologyTaskForce/PhysicsResearchSurvivalManual/tree/master/math/assets">PhysicsResearchSurvivalManual</a>。内有 TeX 代码,pdf 文件和 png 图片。请使用 XeTeX 编译源码。</p>
线性代数与几何
2013-04-06T00:00:00+00:00
http://openmetric.org/sciencecn/linear-algebra-and-geometry
<p>线性代数里面我们的矩阵一般是求解方程组引入的。</p>
<p>那么除了求解方程组之外,线性代数还可以做什么呢?</p>
<p>我们高中学过的线性规划,实际上也可以归结为线性代数问题,里面比较著名的一个方法是单纯形法。那么我们高中学过的几何呢?能不能也用线性代数来解决一些几何的问题呢?</p>
<hr />
<p>一个很直观的例子是,我们以前求解距离的问题,可以变成求解向量积的问题。</p>
\[\bf x \cdot \bf x = \sum_{i=1}^n x_i x_i\]
<p>除了这个,还有没有其他的的呢?</p>
<p>我们还学过二次型的问题。一个二次型的例子是</p>
\[a x^2 + b y^2 +c xy = f\]
<p>我们也学习了标准型,也就是</p>
\[a x^2 + b y^2 = f\]
<p>我们还学习了如何把二次型标准化。</p>
<p>但是,为什么呢?我们为什么要做这些事情?</p>
<p>还有,我们学了行列式,行列式的定义,行列式的规则(可恶的沙流氏规则),可是行列式到底是个什么东西啊?</p>
<hr />
<p>二次型是什么?</p>
<p>我们看一个例子:</p>
\[x^2 + y^2 = 1\]
<p>这是个圆,圆心在坐标原点,半径为1。</p>
<p>二次型就是我们原来学习的圆锥曲线。对于高维度的情况,我们也模模糊糊有一个想法,椭球什么的。</p>
<p>太好了,也就是说,我们原来研究的二次型原来是可以跟几何联系起来的。</p>
<p>那么具体是如何建立的联系呢?</p>
<p>我们再看一个三维空间的例子。</p>
\[x^2 + 4xy + 2xz + y^2 + 2yz + 4z^2 = 1\]
<p>按照我们学习的二次型的知识,我们可以把这个写成是 矩阵形式。</p>
\[\begin{pmatrix}
x & y & z
\end{pmatrix}
\left[
\begin{pmatrix}
1 & 2 & 1 \\
2 & 1 & 1 \\
1 & 1 & 4
\end{pmatrix}
\begin{pmatrix}
x \\ y \\ z
\end{pmatrix}
\right] = 1\]
<p>那么我们这个例子是个什么几何形状呢?我们真的可以通过研究矩阵来了解几何么?</p>
<p>我们知道,几何里面很重要的一个东西是坐标系。但是,坐标系虽然对于我们计算很重要,但是我们所研究的对象却是跟坐标系无关的。
要建立坐标系,需要选定一组坐标轴(基)。而我们知道,线性代数里面正好有基。向量又正好可以对应坐标。那么我们可以用线性代数里面的基来表示几何里面的坐标轴。</p>
<hr />
<p>线性代数里面有一种很特殊的向量,就是特征向量。也就是说,一个矩阵作用到这个向量上之后,不会改变这个向量的方向。即:</p>
\[\mathbf M \mathbf v = \lambda \mathbf v\]
<p>我们还会发现,一个实对称矩阵的特征向量特征值有很好的性质。</p>
<ol>
<li>实对称矩阵的特征值总是实数。</li>
<li>对称矩阵的两个特征向量如果所对应的特征值不同,那么他们正交。</li>
<li>从任何一个 $n*n$ 的实对称矩阵 $M$ 的特征向量集合中,总是可以为 $R^n$ 选取一组标准正交基。</li>
</ol>
<p>这三个性质为什么重要呢?</p>
<p>有了这三个性质,我们就可以说,对于实系数的二次型,我们总可以找到一组正交的基,同时我们发现(上面的特征向量的定义)在这组基下面,我们的系数矩阵可以化为对角阵,也就是说,原来的丑陋的二次型可以化为一个标准形式。</p>
<p>比如我们上面的例子的特征值可以求解出来:</p>
\[\begin{vmatrix}
1-\lambda & 2 & 1 \\
2 & 1-\lambda & 1 \\
1 & 1 & 4-\lambda \\
\end{vmatrix}=0\]
<p>求解出来就是</p>
<p>$\lambda =2,5,-1$</p>
<p>如此一来,我们的乱七八糟的二次型可以化成</p>
\[2 X^2 + 5 Y^2 + (-1)Z^2 = 1\]
<p>现在我们可以看到这个二次型在新的坐标系下面是个椭球。(椭球图片可以用 Mathematica 绘制。)</p>
<p>而这里的对称矩阵,实际上只是一个空间上的旋转。</p>
<p>这样看了,不管我们要处理的是几维的二次曲线(面),总可以通过矩阵特征向量把这个问题转换成一个比较容易看出来的几何体,这就对应我们的二次型标准化的问题。</p>
<hr />
<p>行列式有几何意义么?</p>
<p>我们会记得沙流氏规则。我们可以来看这样一个问题。对于一个二维空间的旋转,我们可以用这样的矩阵来表示</p>
\[R = \begin{pmatrix}
\cos\alpha & \sin\alpha \\
\sin\alpha & -\cos\alpha \\
\end{pmatrix}\]
<p>如果求解行列式,我们会发现 R 的行列式的绝对值其实是 1。</p>
<p>旋转有个特点,比如我们转动一个三角形之后,三角形的面积不变。行列式的绝对值为1,正好跟面积不便对应起来。</p>
<p>对于一个线性映射 M,其行列式恰好是 n 维的单位立方体体积在 M 的操作下发生的伸缩旋转变化的比例因子。</p>
<p>也就是说,行列式的几何意义也就是在此。</p>
<p>回想一下,我们当初为什么要引入行列式?</p>
<p>在求解线性方程的时候,我们需要求解逆阵,求解逆阵,真好需要行列式来判断逆阵是否存在。行列式的一个非常简单的代数定义,居然可以有这么巧妙的几何对应,确实令人惊讶啊。</p>
<hr />
<p>附注:</p>
<ol>
<li>本文里面的一些定理的证明,请参考《数学桥》一书。</li>
<li>本文主要是依据《数学桥》一书编辑整理而成。</li>
</ol>
如何攻击巨人——立体行动装置使用要点
2013-02-16T00:00:00+00:00
http://openmetric.org/sciencecn/attack-on-titan
<blockquote>
<p>写这篇文章时,我对空气动力学和推进技术了解非常少。实际上需要考虑很多因素,尤其是 nozzle 的效用。本文只能当作一种娱乐了。</p>
</blockquote>
<p><strong>已经在媒体发表,转载请咨询。</strong></p>
<p>107年前,巨人突然出现,人类被迫蜷缩在三重高大的墙内,直到巨人再次打破这一百多年来平静的日子。</p>
<p>艾伦和三笠,同所有兵团的士兵一起,开始了他们对抗巨人的生活。然而巨人体型巨大,生性凶悍,见人就吃,而且受到破坏的身体可以短时间内自动复原,即便脑袋被轰掉也是如此。
目前所知他们唯一的致命点是后颈。因此人类使用立体机动装置来快速移动,在巨人后颈挥刀砍下,巨人就可以消失。所幸大部分普通巨人行动迟缓,所以敏捷技能就是人类取胜的关键,而立体机动装置,也就成为一个很重要的装备。虽然很多情报没有公开,但是我们依然可以进行一些简要的分析。</p>
<figure>
<figcaption>
来源:<a href="https://zh.wikipedia.org/wiki/File:%E5%B7%A8%E4%BA%BA_logo.png">维基百科</a>
</figcaption>
<p><img src="https://upload.wikimedia.org/wikipedia/zh/5/52/%E5%B7%A8%E4%BA%BA_logo.png" alt="" /></p>
</figure>
<h2 id="立体机动装置使用要点">立体机动装置使用要点</h2>
<p>立体机动装置有一项功能是通过喷气来推动人体运动,类似于火箭助推。就像下图这样:</p>
<figure>
<figcaption>
喷气
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/eject.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
喷气
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/eject2.jpg" alt="" /></p>
</figure>
<p>当使用气体来助推时,掌握一些要点可以使得我们的飞行更有效率。</p>
<ol>
<li>低头收腿缩胳膊或者头朝向前方</li>
</ol>
<p>低头收腿缩胳膊这样一个猥琐的姿势,可以确保人前进的时候风阻比较小。或者,让头部朝向运动的方向,类似上图中艾伦的姿势。</p>
<p>那么人的姿势到底对运动有多大的影响呢?我们考虑一个特殊情况,即在竖直地吊在一根无限长的绳子上,利用压缩空气向后喷出做为动力,从静止开始运动,我们可以计算然后画出速度曲线。这里为了简便,把人体简化成一个迎风的平板。</p>
<figure>
<figcaption>
速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conA0Var1.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
加速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conA0Var2.jpg" alt="" /></p>
</figure>
<p>红橙绿蓝紫分别对应了人体正截面积(平方米)为 0.4, 0.6, 0.8, 1, 1.2 的情况。如果我们蜷缩起来,面积只有 0.4 平方米的时候,在喷气结束后速度接近伸展开身体面积为 1.2 平米的时候末速度的两倍。但是通观本文列出来的所有因素,这个对机动性的影响并不大,因为这个因素影响的是空气阻力,而空气阻力在起步的时候的影响很小。虽然如此,一旦开始高速运动的了,我们的姿势和着装就变得特别重要,因为阻力是跟横截面积成正比的!</p>
<p>所以,请那位穿风衣的角色把风衣拿掉,谢谢。</p>
<ol>
<li>减肥吧,士兵</li>
</ol>
<p>我们想象一下,如果三笠是一个大胖子,那她使用立体机动装置时一定会有很多麻烦,因为使用者的体重(包括除了气体之外的所有的物品和身体的重量)会严重地影响立体机动装置的机动性能。</p>
<figure>
<figcaption>
速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conM0Var1.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
加速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conM0Var2.jpg" alt="" /></p>
</figure>
<p>红橙绿蓝紫分别对应了使用者体重(千克)为 30, 40, 50, 60, 70 的情况。</p>
<p>使用者的体重对于机动性有很关键的影响,加速度曲线在不同的质量下差别很大。一个质量只有 30kg 的小孩子的机动性能要明显比一个 70kg 的大叔的机动性能好多了!</p>
<p>难道这就是为什么军团里面大家都那么苗条么?</p>
<ol>
<li>使用合适大小的喷气孔</li>
</ol>
<p>喷气孔太大?机动性能好,但是气体消耗太快。喷气孔太小?气体可以使用更长的时间,但是机动性能就差了。这需要一个平衡。</p>
<figure>
<figcaption>
速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conAVar1.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
加速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conAVar2.jpg" alt="" /></p>
</figure>
<p>橙绿蓝分别对应的是喷气孔面积(平方米)为 0.001, 0.005, 0.01 的情况。喷气孔大到 0.01 平方米,这样开始的时候可以在 0.1 秒之内加速到约 35 米每秒的极速(先不想加速度能不能承受啦)。但是气瓶喷气也就是持续了 0.19 秒。如果让喷气孔小些,只有 0.001 平米,这样喷气可以持续 1.9 秒,但是需要大约 5 秒才能加速到极速 28 米每秒,不仅极速小,而且花的时间长,这里看加速度的图像就更明了了。</p>
<p>所以如果要持久,喷气孔就要小,如果要速战速决(0.2 秒的战斗么),那就用增大喷气孔的面积吧。</p>
<ol>
<li>气压再高些,再高些</li>
</ol>
<p>如果我们只有两个合起来容量 0.08 立方米的气瓶,要想立体机动装置更好用,那就增大气压吧。</p>
<figure>
<figcaption>
速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conpiVar1.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
加速度随着时间变化图
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conpiVar2.jpg" alt="" /></p>
</figure>
<p>红橙绿蓝紫分别对应气压(帕)为 200000, 500000, 1000000, 5000000, 10000000 的情况,也就是说分别对应大约 2 个大气压,5 个大气压,10 个大气压,50 个大气压,100 个大气压的情况。考虑到动画中所用的气瓶是很特殊的材料制作的,也不担心气瓶是否能承受得了了。</p>
<p>气压对于使用时间似乎贡献并不是特别大,气压比较大的时候,将压强翻倍并不会有两倍的使用时间。不过高气压确实会带来更好的机动性——加速度会明显大的多。</p>
<p>所以,如果不担心士兵无法承担初始的加速度,那就加压再加压。</p>
<ol>
<li>多带几个气瓶</li>
</ol>
<p>显然我们如果带四个气瓶会得到双倍的使用时间。当然,带多了气瓶,会带来更多的无效的附加的质量,会影响机动性能。</p>
<h2 id="气瓶使用时间">气瓶使用时间</h2>
<p>但是,上面说的这些策略,只是美好的愿望。可能有人注意到了上面的图中会有一些竖直的虚线,这些虚线标志着气体用完所需要的时间。所以,如果考虑了气瓶的使用时间,这个装置根本就不实用。在文章默认的参数下,气体在 2 秒内就用完了。</p>
<figure>
<figcaption>
气瓶使用时间
</figcaption>
<p><img src="http://openmetric.org/images/posts/attack-on-titan/conGasCons.jpg" alt="" /></p>
</figure>
<p>而且更讨厌的一点是,当气瓶中的气体使用了一些,气压降下来之后,动力也就很快的降低了,实际上远远在气体用完之前,这个气瓶就不好用了,尤其是如果在高速运动中使用的话,气压太低的时候根本不足以平衡空气阻力,人体还是会不断的减速。</p>
<h2 id="公式和计算">公式和计算</h2>
<p>文中的计算都是考虑一种特殊情况,即在竖直地吊在一根无限长的绳子上,利用压缩空气向后喷气做为动力,从静止开始运动。计算中,考虑了空气阻力,考虑了一定大小的气瓶内装特定气压的气体有特定的质量,考虑了气体喷出后气瓶内的气压会降低,质量会减小。</p>
<p>本文使用的默认参数表(全部使用国际单位制):</p>
<table>
<thead>
<tr>
<th>参数名称</th>
<th style="text-align: center">参数符号</th>
<th style="text-align: right">参数值</th>
</tr>
</thead>
<tbody>
<tr>
<td>外界空气密度</td>
<td style="text-align: center">$\rho_0$</td>
<td style="text-align: right">$1.2\mathrm{kg/m^3}$</td>
</tr>
<tr>
<td>气体从孔中泄漏系数</td>
<td style="text-align: center">$\mu$</td>
<td style="text-align: right">0.6</td>
</tr>
<tr>
<td>喷气孔面积</td>
<td style="text-align: center">$A$</td>
<td style="text-align: right">$0.001\mathrm{m^2}$</td>
</tr>
<tr>
<td>人体和其他装备看成平板时横截面</td>
<td style="text-align: center">$A_0$</td>
<td style="text-align: right">$1\mathrm{m^3}$</td>
</tr>
<tr>
<td>风阻系数</td>
<td style="text-align: center">$C_D$</td>
<td style="text-align: right">2</td>
</tr>
<tr>
<td>气瓶初始气压</td>
<td style="text-align: center">$pi$</td>
<td style="text-align: right">$10000000\mathrm{Pa}$</td>
</tr>
<tr>
<td>空气摩尔质量</td>
<td style="text-align: center">$M$</td>
<td style="text-align: right">$2.9*10^-2 \mathrm{kg/mol}$</td>
</tr>
<tr>
<td>温度</td>
<td style="text-align: center">$T$</td>
<td style="text-align: right">$303\mathrm{K}$</td>
</tr>
<tr>
<td>两个气瓶总体积</td>
<td style="text-align: center">$V$</td>
<td style="text-align: right">$0.08\mathrm{m^3}$</td>
</tr>
<tr>
<td>除去气体之外的所有其他质量</td>
<td style="text-align: center">$M0$</td>
<td style="text-align: right">$50\mathrm{kg}$</td>
</tr>
</tbody>
</table>
<p>本文使用的部分重要公式如下。</p>
<p>a. 空气阻力计算:</p>
\[f= - \frac{1}{2} C_D \rho_0 A v^2\]
<p>b. 气体喷出的速度(假定喷气管很短,管内没有气压降):</p>
\[v_e = \sqrt{ 2 \frac{\Delta P}{\rho_e} }\]
<p>这里 $\rho_e$ 应该是喷口附近的空气密度,但是我们近似用气瓶中的空气密度来代替。</p>
<p>c. 单位时间内喷出的其他质量(假定喷气管很短,管内没有气压降):</p>
\[Q= \mu A \sqrt{2 \rho \Delta p}\]
<p>d. 变质量系统运动方程:</p>
\[\sum_i F_i = m \frac{\mathrm d \vec v}{\mathrm dt} + \vec v \frac{\mathrm dm}{\mathrm dt}\]
<h2 id="本文的缺憾">本文的缺憾</h2>
<ol>
<li>因为数值计算的精度问题,有些加速度在时间小的时候的值计算不准确,但是因为这部分并不重要,就直接去掉了。</li>
<li>仅仅计算了一种简单的情形,没有考虑挂钩的因素。实际上绳子在这里面很关键,可以看作是主要的运动手段,而气瓶仅仅是辅助。</li>
<li>空气阻力的计算把人简化成了一块平板,这显然在高速运动的时候变得不准确了。所以所有的计算中,速度越大,计算越不准确。</li>
<li>喷气动力可能是通过了一定的控制压强的机构了。这样可以携带高压的气瓶,通过控制喷出的气体的压强来协调气瓶的使用时间和装置的机动性能。</li>
<li>使用的不一定是压缩空气,可能是其他的气体。</li>
</ol>
<h2 id="参考文献">参考文献</h2>
<ol>
<li>空气阻力计算: http://www.engineeringtoolbox.com/drag-coefficient-d_627.html</li>
<li>气体喷出计算: http://en.wikipedia.org/wiki/Orifice_plate#Incompressible_flow_through_an_orifice</li>
<li>变质量体系运动方程: http://en.wikipedia.org/wiki/Tsiolkovsky_rocket_equation</li>
</ol>
<hr />
<p><a href="https://github.com/emptymalei/WhyMathematica/tree/master/Physics/AttackOnTitan">代码是开源的</a>,所有任何人都可以拿来用,或者自己重写,以扩展这部分计算。</p>
<hr />
<p>@<a href="http://www.guokr.com/i/0854946744/">Aeromage</a> 在我写给果壳的稿子下面这样回复:</p>
<blockquote>
<p>这个东西最大的问题是没有考虑nozzle的设计,如果压力稍微够大的话(甚至不用三四十个psi),用de Laval nozzle可以轻易让射流的速度超过音速,这就远远优于“气罐子扎个稳定大小的洞”这么朴素的设计了……</p>
</blockquote>
<p>考虑到这一点,我想这个计算有很多地方值得重新考虑。</p>
<p>另外,(忍不住吐槽)难道他们用这些压缩其他制作气枪/炮,岂不是更好用……</p>
PKM —— 个人知识管理
2013-02-06T00:00:00+00:00
http://openmetric.org/sciencecn/pkm
<h2 id="为什么">为什么</h2>
<p>我在一份自己写的 Research Surviving Manual 的开头写道:「我很笨,理解东西很慢,记忆力不好」。其实我用了很长时间才真正意识到这一点。对于同样的问题,我要花费比其他人多很多的时间来解决。</p>
<p>当然抱怨是没有用的,这世间从来就没有什么平等,我只需要将手中已经有的牌打好就可以了。</p>
<p>很久前我开始创建自己的 Personal Knowledge Management System (PKM System),也就是个人知识管理系统。那时候我觉得 web 化是个大趋势,所以尝试了 drupal,wikimedia,joomla 等框架 ,搭建了几个用来整理知识的网站[[^1]]。后来几经进化,经过大刀阔斧的砍掉很多功能,变成了现在的 <a href="http://iastro.lamost.org">iAstro</a>[[^2]],主要用来放我的一些笔记。</p>
<p><strong>总结一下吧,为什么我要创建自己的 PKM,因为单凭我现在的大脑,已经没法很好的处理/整理新学到的知识了</strong>。</p>
<p><strong>下面的任务,进一步改善自己的系统,充分利用现有的网络资源,是的自己的 PKM 体系更完善。</strong> 但 PKM 一定要避免不要再系统本身上浪费太多时间,这里重复造轮子的事情很多都是浪费时间。</p>
<h2 id="模型">模型</h2>
<p>先看看我有什么。</p>
<ul>
<li><strong>Notebook</strong> = NB:</li>
</ul>
<p>{Professional Notebook, Physics Notebook, Science Notebook, Diary};</p>
<ul>
<li><strong>Web Clipper</strong> = CL:</li>
</ul>
<p>A - {<strong><a href="http://evernote.com/">Evernote</a></strong>, <strong><a href="http://note.youdao.com/">有道云笔记</a></strong>,<a href="http://note.sdo.com/">麦库</a>,<a href="http://www.wiz.cn/">Wiz</a>}; //在线笔记,有 Chrome 插件</p>
<p>B - {<strong><a href="http://huaban.com/">花瓣</a></strong>,<a href="http://www.duitang.com/">堆糖</a>,<a href="http://pinterest.com/">Pinterest</a>}; //图片收藏,有 Chrome 插件</p>
<p>C - {<strong><a href="https://kippt.com/emptymalei">Kippt</a></strong>,<a href="https://delicious.com/emptymalei">Delicious</a>,<strong><a href="https://pinboard.in/emptymalei">Pinboard</a></strong>};//书签服务,有 Chrome 插件</p>
<p>D - {<strong><a href="http://www.instapaper.com/">Instapaper</a></strong>,<a href="http://getpocket.com/">Pocket</a>,<a href="http://www.readability.com/">Readability</a>}; //收藏文章,精美重排版。</p>
<ul>
<li><strong>Writting</strong> = WR:</li>
</ul>
<p>A - {<strong>TeX</strong>(<a href="http://gummi.midnightcoding.org/">Gummi</a>, TeXWorks), <strong>Markdown</strong>(<a href="http://markdownpad.com/">MarkdownPad</a>),<strong>Mindmap</strong>(Mindmanager, Tikz, Mind8, <a href="https://github.com/drichard/mindmaps">MindMapr</a>)};//Gummi 不是个很好的 LaTeX 编辑器;MindMapr 有 Chrome app;MarkdownPad 用了该死的 .net。</p>
<p>B - {<strong><a href="https://www.sharelatex.com/">ShareLaTeX</a></strong>, <a href="http://spandex.io/">SpanDex</a>};//在线 LaTeX 写作和编译</p>
<p>C - {<strong>时见疏星</strong>,<strong><a href="http://iastro.lamost.org">iAstro</a></strong>};// 博客等</p>
<p>D - {<strong>豆瓣</strong>,<strong>知乎</strong>,<strong>StackExchange</strong>,<strong>Quora</strong>,<strong>github</strong>};// 社交网站</p>
<p>E - {新浪微博,Twitter} //短句子</p>
<ul>
<li><strong>Storage</strong> = ST:</li>
</ul>
<p>A - {<strong>微盘</strong>,<strong>NutStore</strong>,Everbox,<strong>快盘</strong>,SkyDrive,115网盘,Dropbox,<strong>百度云</strong>,<strong>Google Drive</strong>}; //网盘</p>
<p>B - {<a href="http://www.flickr.com/">Flickr</a>,<a href="https://picasaweb.google.com/home">Picassa</a>}; //图片存储,QQ 那个就算了</p>
<ul>
<li><strong>MISC</strong> = MI:</li>
</ul>
<p>A - {<strong>Google Calendar</strong>, iCloud Calendar};</p>
<p>B - {<strong>Google Contacts</strong>,<strong><a href="http://www.labi.com/">Labi</a></strong>,iCloud Contacts};//Labi 是个功能比较多的手机软件,我用的是 Symbian 啊</p>
<p>C - {<strong>Pomodoro</strong>, <strong>Google Tasks</strong>,OmniFocus,Wunderlist};</p>
<p>D - {<strong><a href="http://www.zotero.org/">Zotero</a></strong>, <a href="http://www.mendeley.com/">Mendeley</a>}; //文献管理工具</p>
<p>E - {IFTTT}; //可以链接不同网站并且自动实现某些功能的网站</p>
<p>我自己的资料可以按照下面表格的方式来分类:</p>
<p>编号:CL = Web Clipper; WR = Writting; ST = Storage; MI = MISC.</p>
<table style="border-top:2px solid green;">
<caption>How to deal with Knowledge</caption>
<tr>
<th></th>
<th>Professional</th>
<th>Liberal</th>
<th>Tools</th>
<th>MISC</th>
</tr>
<tr>
<th>Tranditional</th>
<td ">NB; WR(A,B,C)</td>
<td>WR(A,B,C)</td>
<td>CL(A);WR(A,C)</td>
<td>CL(A);WR(A,C)</td>
</tr>
<tr>
<th>Web</th>
<td>MI(D);CL(C);WR</td>
<td>CL,WR</td>
<td>CL,WR</td>
<td>CL,WR</td>
</tr>
<tr>
<th>Offline File</th>
<td>ST(A);WR</td>
<td>ST;CL;WR</td>
<td>ST;CL;WR</td>
<td>ST;WR</td>
</tr>
<tr>
<th>Other</th>
<td> - </td>
<td> - </td>
<td> - </td>
<td> - </td>
</tr>
</table>
<p>等等,天哪,太复杂了,我还是再琢磨一下。</p>
<h2 id="实践">实践</h2>
<p>需要加强安全性,而且要保证随时随地的可以查看使用。</p>
<p>需要再次提醒自己:</p>
<ol>
<li><strong>存储</strong>: Evernote, Pinterest 和 Dropbox 因为教育网挂代理,所以主要用有道云笔记,花瓣和快盘(重要文件,专业书籍)、Nutstore(重要文件,在笔记本和台机直接传递文件)、百度云(分享文件和存储不重要的文件);</li>
<li><strong>书签</strong>: 主要用 kippt,因为可以同步到其他地方,而且搜索功能比较好。Pinboard 主要用来备份所有书签(IFTTT);</li>
<li><strong>笔记</strong>: 专业内容集中写到 <strong>iAstro</strong>,其他选择性的写到 <strong>时见疏星</strong>;</li>
<li><strong>程序</strong>: Github 用来写重要的内容。所有程序必须放在 Github,而且必须有备份(Nutstore);</li>
<li><strong>日程安排和任务管理</strong>: 一律使用 google,因为 google 高的在线率和便捷的查看。</li>
</ol>
<p>最后再强调<strong>备份</strong>。自己写的程序,写的博客文章等必须有备份,mindmap 也必须保留源文件,并放置在快盘或坚果云的相应的文件夹中。</p>
<p>列举几个例子,这是目前形成的模式,以后可以优化:</p>
<ol>
<li><strong>书籍电子版</strong>:专业书籍保存在快盘,按照现有分类进行存储。Asronomy, Dock, Literature, Math, Physics, Science, Softs, Temp, Github, Backup, Web, Other.</li>
<li><strong>文献</strong>:统一 Zotero 存储。重要综述文章讲文件存储在快盘。</li>
<li><strong>重要的专业基础知识</strong>: 写入 Research Surviving Manual 的相关章节。(我在考虑将这个 Manual 进行 web 化。)</li>
<li><strong>Mindmap</strong>: 尽量使用 Mindmanager 写,源文件保存在 Nutstore 的 Note 文件夹。</li>
</ol>
<h2 id="后记">后记</h2>
<ol>
<li>我一直有个很大的缺点,那就是没个正经。很多都试过,很多都不精通,什么都想试,什么都坚持不下来。我也曾经尝试去改正、去抵抗自己的某些缺点,但是到头来,越来越觉得,如果我本性如此,那我为什么不为这些特性找些用处呢?现在我找到了一个可以缓和这个缺点的方法,同时也利用了这个缺点,那就是反复记「笔记」。</li>
<li>web based 的服务,我最重视的一点是,数据要能够 take away,像 google 一样,我可以随时把所有数据拿走,Liberty of Data。当然,能写程序把数据爬出来的也行。</li>
</ol>
西夏语语法
2013-01-22T00:00:00+00:00
http://openmetric.org/sciencecn/xixia-language-grammar
<p>西夏文虽然是模仿中原的汉字所创造的文字,但是由于西夏语属于汉藏语系中的藏缅语族,而汉语是汉语语族,所以两者在语法上有很大的差别。</p>
<p>本文主要参考王天顺主编的《西夏学概论》。MindMap 工具使用的是 <a href="http://www.appinn.com/mindmapr/">MindMapr</a>。</p>
<h2 id="词法">词法</h2>
<figure>
<figcaption>
<a href="http://hongzai-story.blogspot.com/2010/10/blog-post.html">来源</a>
</figcaption>
<p><img src="http://openmetric.org/images/posts/xixia-language-grammar/westernxia1.png" alt="" /></p>
</figure>
<h2 id="句法">句法</h2>
<figure>
<figcaption>
<a href="http://hongzai-story.blogspot.com/2010/10/blog-post.html">来源</a>
</figcaption>
<p><img src="http://openmetric.org/images/posts/xixia-language-grammar/westernxia2.png" alt="" /></p>
</figure>
<p>下表展示了什么样的词性可以作为西夏语什么样的成分,或者说什么样的成分由什么样的词性构成。</p>
<table style="border-top:2px solid green;">
<caption>西夏语句子成分表</caption>
<tr>
<th></th>
<th>主</th>
<th>谓</th>
<th>表</th>
<th>宾</th>
<th>定</th>
<th>状</th>
<th>补</th>
</tr>
<tr>
<th>名词</th>
<td style="background:lightblue;"></td>
<td></td>
<td style="background:lightblue;"></td>
<td style="background:lightblue;"></td>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
</tr>
<tr>
<th>代词</th>
<td style="background:lightblue;"></td>
<td></td>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
</tr>
<tr>
<th>数词</th>
<td style="background:lightblue;"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th>数量</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
<td></td>
</tr>
<tr>
<th>动词</th>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td style="background:lightblue;"></td>
</tr>
<tr>
<th>形容</th>
<td></td>
<td style="background:lightblue;"></td>
<td style="background:lightblue;"></td>
<td></td>
<td style="background:lightblue;"></td>
<td style="background:lightblue;"></td>
<td style="background:lightblue;"></td>
</tr>
<tr>
<th>介词</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td style="background:lightblue;"></td>
<td style="background:lightblue;"></td>
<td></td>
</tr>
<tr>
<th>副词</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td style="background:lightblue;"></td>
<td></td>
</tr>
</table>
<p>表中「数量」是指<strong>数量结构</strong>,「介词」是指<strong>介词结构</strong>。</p>
<h2 id="西夏项目">西夏项目</h2>
<p>建立了一个西夏项目:<a href="http://openmetric.org/WesternXia/">Western Xia 西夏</a></p>
云图 脸盲症的福音
2013-01-14T00:00:00+00:00
http://openmetric.org/sciencecn/cloud-atlas
<p>本文前半部分无剧透,可作为电影观看前预习材料。</p>
<hr />
<p>最近看了一部神奇的电影,电影讲了一个六道轮回的故事,同一个演员饰演多角色,而且化妆师们的技术真是出神入化啊,男男女女傻傻分不清楚,总是使人在不同的时代,不同的故事中混乱游走。估计这是导演故意安排的,因为故事原本就是想要告诉我们:Everything is connected. 同时,估计这部片子会像黑客帝国那样成为 cult 片吧。不过,作为脸盲症患者,再有人鄙视我,我就跟他/她说,咱们去看云图吧。</p>
<p>云图(Cloud Atlas)(<a href="http://movie.douban.com/subject/3530403/" target="_blank">云图电影介绍†</a>) 是由 <a href="http://movie.douban.com/celebrity/1047989/">Tom Tykwer</a>,<a href="http://movie.douban.com/celebrity/1161012/">Lana Wachowski</a> 和 <a href="Andy Wachowski">Andy Wachowski</a> 执导,并且众星云集的一部电影。 其原著 <a href="http://book.douban.com/subject/1761010/">Cloud Atlas</a>(中译本<a href="http://book.douban.com/subject/4202422/">《云图》</a>)作者是非常有原创性的著名小说家 <a href="http://en.wikipedia.org/wiki/David_Mitchell_(author)">David Mitchell</a>。</p>
<p>但是第一次看这部电影时很难把所有的故事都理清楚,因为相同的演员饰演了很多不同的角色,而且六个故事穿插进行,所以如果「缓存」小了,就容易漏掉细节。所以我打算把主要的演员和他们在不同的时候饰演的角色列出来,这样去看电影的时候就不容易混淆了。(参考这篇 Jennifer Vineyard 所写的文章 <a href="http://www.vulture.com/2012/10/guide-to-the-characters-and-connections-of-cloud-atlas-confused.html">Your Guide to the Characters and Connections of Cloud Atlas</a>, wikipedia 相关词条以及官网(<a style="style:red;">强烈建议明年去电影院看电影之前去官网看看首页的时间线和角色海报……</a>)。)</p>
<h2 id="演员">演员</h2>
<figure>
<figcaption>
演员表
</figcaption>
<p><img src="http://openmetric.org/images/posts/cloud-atlas/CharaMain.jpg" alt="" /></p>
</figure>
<p>主要演员(链接是豆瓣)有</p>
<ul>
<li><a href="http://movie.douban.com/celebrity/1027798/">周迅</a></li>
<li><a href="http://movie.douban.com/celebrity/1054450/">Tom Hanks</a></li>
<li><a href="http://movie.douban.com/celebrity/1053559/">Jim Sturgess</a></li>
<li><a href="http://movie.douban.com/celebrity/1025149/">Ben Whishaw</a></li>
<li><a href="http://movie.douban.com/celebrity/1054415/">Halle Berry</a></li>
<li><a href="http://movie.douban.com/celebrity/1019049/">Jim Broadbent</a></li>
<li><a href="http://movie.douban.com/celebrity/1057004/">Doona Bae</a></li>
<li><a href="http://movie.douban.com/celebrity/1003493/">Hugh Grant</a></li>
<li><a href="http://movie.douban.com/celebrity/1040994/">Hugo Weaving</a></li>
<li><a href="http://movie.douban.com/celebrity/1019012/">Keith David</a></li>
<li><a href="http://movie.douban.com/celebrity/1049713/">James D’arcy</a></li>
</ul>
<h2 id="故事六重奏">故事六重奏</h2>
<p>Cloud Atlas 中共有六个故事。</p>
<ul>
<li>1849 年,一艘太平洋上的船</li>
<li>1936 年,Edinburgh 一位作曲家的家中</li>
<li>1973 年,San Francisco 的一座核电站附近</li>
<li>2012 年,Edinburgh 的一个奇异的养护中心和 London</li>
<li>2144 年,Neo-Seoul,未来韩国的 Seoul?(没见过正式的英文字母,猜测如此拼写)</li>
<li>2321 年,Hawaii 的一个山谷,和山谷附近的山上</li>
</ul>
<h2 id="六道轮回">六道轮回</h2>
<p>下表取自 wikipedia <a href="http://en.wikipedia.org/wiki/Cloud_Atlas_(film)">Cloud Atlas 词条</a>,稍作翻译并添加豆瓣链接。</p>
<table>
<thead>
<tr>
<th>演员</th>
<th>Adam Ewing 的太平洋日记 (1849)</th>
<th>Zedelghem 的来信 (1936)</th>
<th>半衰期:Luisa Rey 的第一个谜团 (1973)</th>
<th>Timothy Cavendish 的苦难经历 (2012)</th>
<th>Sonmi~451 的祈祷 (2144)</th>
<th style="text-align: right">“Sloosha’s Crossin’ an’ Ev’rythin’ After” (2321)</th>
</tr>
</thead>
<tbody>
<tr>
<td>[tippy title=”Tom Hanks” href=”http://movie.douban.com/celebrity/1054450/” width=”480”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/TomHanks.jpg" width="450" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1054450/">豆†</a></sup></td>
<td>Dr. Henry Goose</td>
<td>Hotel Manager</td>
<td>Isaac Sachs</td>
<td>Dermot Hoggins</td>
<td>Cavendish Look-a-like Actor</td>
<td style="text-align: right">Zachry</td>
</tr>
<tr>
<td>[tippy title=”Halle Berry” href=”http://movie.douban.com/celebrity/1054415/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/HalleBerry2.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1054415/">豆†</a></sup></td>
<td>Native Woman</td>
<td>Jocasta Ayrs</td>
<td>Luisa Rey</td>
<td>Indian Party Guest</td>
<td>Ovid</td>
<td style="text-align: right">Meronym</td>
</tr>
<tr>
<td>[tippy title=”Jim Broadbent” href=”http://movie.douban.com/celebrity/1019049/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/JimBroadbent0.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1019049/">豆†</a></sup></td>
<td>Captain Molyneux</td>
<td>Vyvyan Ayrs</td>
<td>无</td>
<td>Timothy Cavendish</td>
<td>Korean Musician</td>
<td style="text-align: right">Prescient 2</td>
</tr>
<tr>
<td>[tippy title=”Hugo Weaving” href=”http://movie.douban.com/celebrity/1040994/” width=”380” height=”450”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/HugoWeaving.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1040994/">豆†</a></sup></td>
<td>Haskell Moore</td>
<td>Tadeusz Kesselring</td>
<td>Bill Smoke</td>
<td>Nurse Noakes</td>
<td>Boardman Mephi</td>
<td style="text-align: right">Old Georgie</td>
</tr>
<tr>
<td>[tippy title=”Jim Sturgess” href=”http://movie.douban.com/celebrity/1053559/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/JimSturgess0.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1053559/">豆†</a></sup></td>
<td>Adam Ewing</td>
<td>Poor Hotel Guest</td>
<td>Megan’s Dad</td>
<td>Highlander</td>
<td>Hae-Joo Chang</td>
<td style="text-align: right">Adam/Zachry’s Brother in Law</td>
</tr>
<tr>
<td>[tippy title=”Bae Doona” href=”http://movie.douban.com/celebrity/1057004/” width=”370” height=”450”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/DoonaBae4.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1057004/">豆†</a></sup></td>
<td>Tilda Ewing</td>
<td>无</td>
<td>Megan’s Mom, Mexican Woman</td>
<td>无</td>
<td>Sonmi~451, Sonmi~351, Sonmi Prostitute</td>
<td style="text-align: right">无</td>
</tr>
<tr>
<td>[tippy title=”Ben Whishaw” href=”http://movie.douban.com/celebrity/1025149/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/BenWhinsaw.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1025149/">豆†</a></sup></td>
<td>Cabin Boy</td>
<td>Robert Frobisher</td>
<td>Store Clerk</td>
<td>Georgette</td>
<td>N/A</td>
<td style="text-align: right">Tribesman</td>
</tr>
<tr>
<td>[tippy title=”James D’Arcy” href=”http://movie.douban.com/celebrity/1049713/” width=”380” height=”370”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/JimsDarcy-Cloud-Atlas_Rufus-Sixsmith_001.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1049713/">豆†</a></sup></td>
<td>无</td>
<td>Young Rufus Sixsmith</td>
<td>Old Rufus Sixsmith</td>
<td>Nurse James</td>
<td>Archivist</td>
<td style="text-align: right">无</td>
</tr>
<tr>
<td>[tippy title=”周迅” href=”http://movie.douban.com/celebrity/1027798/” width=”480” height=”420”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/Xun.jpg" width="440" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1027798/">豆†</a></sup></td>
<td>无</td>
<td>无</td>
<td>Talbot/Hotel Manager</td>
<td>无</td>
<td>Yoona~939</td>
<td style="text-align: right">Rose</td>
</tr>
<tr>
<td>[tippy title=”Keith David” href=”http://movie.douban.com/celebrity/1019012/” width=”380” height=”450”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/KeithDavid.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1019012/">豆†</a></sup></td>
<td>Kupaka</td>
<td>无</td>
<td>Napier</td>
<td>无</td>
<td>An-Kor Apis</td>
<td style="text-align: right">Prescient</td>
</tr>
<tr>
<td>[tippy title=”David Gyasi” href=”http://movie.douban.com/celebrity/1201851/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/MarioBalotelliBarwuah.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1201851/">豆†</a></sup></td>
<td>Autua</td>
<td>无</td>
<td>Lester Rey</td>
<td>无</td>
<td>无</td>
<td style="text-align: right">Duophysite</td>
</tr>
<tr>
<td>[tippy title=”Susan Sarandon” href=”http://movie.douban.com/celebrity/1054392/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/SusanSarandon1.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1054392/">豆†</a></sup></td>
<td>Madame Horrox</td>
<td>无</td>
<td>无</td>
<td>Older Ursula</td>
<td>Yosouf Suleiman</td>
<td style="text-align: right">Abbess</td>
</tr>
<tr>
<td>[tippy title=”Hugh Grant” href=”http://movie.douban.com/celebrity/1003493/” width=”380” height=”510”]<img src="http://multiverse.lamost.org/blog/wp-content/uploads/2012/12/HughGrant0.jpg" width="350" />[/tippy] <sup><a href="http://movie.douban.com/celebrity/1003493/">豆†</a></sup></td>
<td>Reverend Giles Horrox</td>
<td>Hotel Heavy</td>
<td>Lloyd Hooks</td>
<td>Denholme Cavendish</td>
<td>Seer Rhee</td>
<td style="text-align: right">Kona Chief</td>
</tr>
</tbody>
</table>
<p>从<a href="http://movie.douban.com/photos/photo/1701627494/">豆瓣电影「盗来」的一幅图</a>把这些人都放进来了,可以跟上表对应来看。</p>
<figure>
<figcaption>
演员表
</figcaption>
<p><img src="http://openmetric.org/images/posts/cloud-atlas/CharaMain.jpg" alt="" /></p>
</figure>
<p>从水印和上传者来看,应该是<a href="http://movie.douban.com/people/hexiaoqin/">何小沁</a>的。(<a href="http://i.mtime.com/kinghyb/blog/7480123/5/">中文版在此</a>)</p>
<h2 id="图册">图册</h2>
<p><del>把本文用到没用到的图片都列在下方:</del></p>
<p><del>[gallery link=”file” columns=”4” ids=”5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072,5073,5074,5075,5076,5077,5079,5080,5113,5125,5126,5133,5078,5148,5142”]</del></p>
<h2 id="复习">复习</h2>
<p>看完电影之后,在看官网 <a href="http://apps.warnerbros.com/cloudatlas/everythingisconnected/us/">everything is connected sextet</a> 那张图(<a href="http://apps.warnerbros.com/cloudatlas/everythingisconnected/us/downloads/CA_Mural.jpg" target="_blank">大图在此</a>),有「隐藏剧情」((电影中也出现了这个涂鸦](http://www.douban.com/photos/photo/1441012471/))。</p>
<figure>
<figcaption>
故事线
</figcaption>
<p><img src="http://openmetric.org/images/posts/cloud-atlas/CloudAtlas.jpg" alt="" /></p>
</figure>
<p>答案在此:<a href="http://www.douban.com/photos/photo/1440991190/">http://www.douban.com/photos/photo/1440991190/</a> (为防止图片变叉,还有一个备份<a href="http://movie.douban.com/photos/photo/1701846375/">在此</a> )</p>
<h2 id="faq">FAQ</h2>
<p style="color:red;">有关键情节透漏</p>
<p>Q: 找不到的 另一半 The Pacific Journal of Adam Ewing 在哪里?
A: 在大约一小时四十分钟后,老作曲家被杀的时候,发现这本 Journal 被用来垫桌子底了。</p>
豆瓣九点和博客访问量
2012-12-11T00:00:00+00:00
http://openmetric.org/sciencecn/douban-9dian-blog-vistors
<p>到现在为止,我的博文两次上了豆瓣九点科技,所以我有两份豆瓣九点带来访客的数据。既然有了数据,那自然要利用一下。</p>
<p>两次分别是 2011 年 8 月 4 日到 8 月 8 日和 2012 年 12 月 8 日到 12 月 11 日(尚未完全完成)。</p>
<p>数据分别是</p>
<ul>
<li><a href="http://openmetric.org/images/posts/douban-9dian-blog-vistors/multiverse-20110804-20110808.csv">multiverse-20110804-20110808.csv:2011 年 8 月</a></li>
<li><a href="http://openmetric.org/images/posts/douban-9dian-blog-vistors/multiverse-20121208-20121211.csv">multiverse-20121208-20121211.csv:2012 年 12 月</a></li>
</ul>
<p>利用 Mathematica,把数据按照时间绘制出来。不过比较忙,所以只处理 Total Visitors 和 Unique Visitors 的数据。</p>
<figure>
<figcaption>
2011 年 8 月
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/WebsiteVistors.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
2012 年 12 月
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/WebsiteVistors2.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
BrightBands 色带,向左指数据大,向右指数据小。
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/bar.jpg" alt="" /></p>
</figure>
<p>上图是去年的数据,下图是今年的数据。</p>
<p>为了更加直观,添加了 Hue 的背景,用不同的颜色来区分一天中不同的小时。同时为了能够更好地提取出具有差不多访问者的小时时刻,使用 BrightBands 色带来填满数据点和时间轴(对于大量数据更有效些)。</p>
<p>首先说明的是,我用的是 Pacific Time,但是从 GA 得知绝大多数用户(由于高达 85% 以上)来自国内,因此要把时间换算成北京时间,即 +16 小时,而对于去年那次,由于夏令时缘故,需 +15 小时。由于图表我另有用途,所以并不切换到北京时间,但是下文所讲的白天黑夜是北京时间。</p>
<p>这样的话,可以用一幅图来展示代表小时的颜色的意义:</p>
<figure>
<figcaption>
NightDay
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/NightDay.jpg" alt="" /></p>
</figure>
<p>上图中的连续色带用来表示白天黑夜,可见绿线附近是白天,而紫色粉色附近是黑夜。</p>
<p>有了这些铺垫之后,可以很快发现,两张图的流量低谷恰在凌晨。哎,没有为我们提供新观点的可视化是没意义的。</p>
<p>需要提到,我两次都是凌晨写的文章。但两次数据表明</p>
<ul>
<li>大规模的爆发皆为下午 14:00,15:00 左右。大约 9 小时(即深夜 12 点)后进入低谷,因为大家都睡觉去了。</li>
<li>上面提到国内访客大约 85%,也就是说国内/国外近似为 5.5,到了夜间,数据主要是紫色和红色。从上面的 BrightBands 色带可以看到橙色大约是红色的六倍,与定量数据是吻合的。</li>
<li>每天中可以看到 filling 的色带的间隔出现,比如绿色和浅蓝色的间隔出现,这是一天中访客波动造成的。这里颜色所代表的和曲线的走势相同,少量数据没有优势,但是对于大量数据的话,颜色的重复出现就更容易观察到。</li>
<li>完整的一天大约有五次峰值。大致为早上一次,午饭前一次,午饭后一次,下午一次,晚上两次。</li>
<li>作为上述五峰值现象的一个特殊情况,爆发第一天的时候,两次是惊人的相似。</li>
</ul>
<p>我这种绘图方法需要一定的了解之后才可以从中看到比较多的信息,所以不算是一种好的可视化。不过如果加上 interactive 的功能,那就好多了。</p>
<p>在绘图过程中,我还发现一个很奇怪的现象。我把 Total Visitors 和 Unique Visitors 都导出来,然后通过设置 filling 规则为:如果 Total Visitors 数量上多于 Unique Visitors,那么使用蓝色来 fill 两者之间的差异,反之,使用桔色。
原则上来说,应该只有蓝色出现,但是实际情况却并非如此。看下图。</p>
<figure>
<figcaption>
WebsiteVistors
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/WebsiteVistors3.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
WebsiteVistors
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/WebsiteVistors4.jpg" alt="" /></p>
</figure>
<p>上图是去年的情况,下图是今年的情况。两者都有桔色出现。很好奇这是如何造成的。是统计不准确?还是我对两个概念理解有错?</p>
<p>当然了,上面提到了两次的相似性,那么我们就把两次的情况放在一起对照吧。</p>
<figure>
<figcaption>
WebsiteVistorsCompare
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/WebsiteVistorsCompare.jpg" alt="" /></p>
</figure>
<p>特别是第一天爆发的时候,两次很相似。为什么?是因为豆瓣本身的扩散方式的特点么?还是由于大家都是差不多在相同的时间工作累了让后开始豆瓣呢?抑或是统计次数太少,两次都是特殊情况?</p>
<p>最后,来两张传统的图记录一下吧。</p>
<figure>
<figcaption>
Last Year
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/LastYear.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
This Year
</figcaption>
<p><img src="http://openmetric.org/images/posts/douban-9dian-blog-vistors/ThisYear1.jpg" alt="" /></p>
</figure>
<hr />
<p>代码以及本文所用图片和数据文件在此:</p>
<p><a href="http://openmetric.org/images/posts/douban-9dian-blog-vistors/Visualization.zip">Visualization: 数据、Mathematica及图片</a></p>
<hr />
<p>关于作图的 post 都写完了,赶紧干正事吧~ 还要处理 BAO 的数据呢~</p>
Galaxy Surveys
2012-11-16T00:00:00+00:00
http://openmetric.org/science/galaxy-surveys
<p>Galaxy surveys is a powerful way of exploring the large scale structure of the universe, as well as a way of testing the theory of gravity.</p>
<ul id="markdown-toc">
<li><a href="#cfa-redshift-survey" id="markdown-toc-cfa-redshift-survey">CfA Redshift Survey</a></li>
<li><a href="#2df-galaxy-redshift-survey" id="markdown-toc-2df-galaxy-redshift-survey">2dF Galaxy Redshift Survey</a></li>
<li><a href="#6df-galaxy-survey" id="markdown-toc-6df-galaxy-survey">6dF Galaxy Survey</a></li>
<li><a href="#2-mass-redshift-survey" id="markdown-toc-2-mass-redshift-survey">2 MASS Redshift Survey</a></li>
<li><a href="#vla-first-survey" id="markdown-toc-vla-first-survey">VLA FIRST Survey</a></li>
<li><a href="#ediscs" id="markdown-toc-ediscs">EDisCS</a></li>
<li><a href="#lcrs" id="markdown-toc-lcrs">LCRS</a></li>
<li><a href="#esp" id="markdown-toc-esp">ESP</a></li>
<li><a href="#cnoc" id="markdown-toc-cnoc">CNOC</a> <ul>
<li><a href="#the-cnoc1-cluster-survey" id="markdown-toc-the-cnoc1-cluster-survey"><strong>The CNOC1 Cluster Survey</strong></a></li>
<li><a href="#cnoc2-field-galaxy-survey" id="markdown-toc-cnoc2-field-galaxy-survey">CNOC2 Field Galaxy Survey</a></li>
</ul>
</li>
<li><a href="#sloan-digital-sky-survey" id="markdown-toc-sloan-digital-sky-survey">Sloan Digital Sky Survey</a> <ul>
<li><a href="#sdss1" id="markdown-toc-sdss1">SDSS1</a></li>
<li><a href="#sdss2" id="markdown-toc-sdss2">SDSS2</a></li>
<li><a href="#sdss3" id="markdown-toc-sdss3">SDSS3</a></li>
</ul>
</li>
<li><a href="#gama" id="markdown-toc-gama">GAMA</a></li>
<li><a href="#deep2-redshift-survey-high-redshift" id="markdown-toc-deep2-redshift-survey-high-redshift">DEEP2 Redshift Survey, high redshift</a></li>
<li><a href="#vimos-vlt-deep-survey-high-redshift" id="markdown-toc-vimos-vlt-deep-survey-high-redshift">VIMOS-VLT Deep Survey, high redshift</a></li>
<li><a href="#ukidss" id="markdown-toc-ukidss">UKIDSS</a></li>
<li><a href="#pan-starrs" id="markdown-toc-pan-starrs">Pan-STARRS</a></li>
<li><a href="#primus" id="markdown-toc-primus">PRIMUS</a></li>
<li><a href="#spitzer" id="markdown-toc-spitzer">Spitzer</a></li>
<li><a href="#boss" id="markdown-toc-boss">BOSS</a></li>
<li><a href="#des" id="markdown-toc-des">DES</a></li>
<li><a href="#lsst" id="markdown-toc-lsst">LSST</a></li>
<li><a href="#references" id="markdown-toc-references">References:</a></li>
</ul>
<h2 id="cfa-redshift-survey">CfA Redshift Survey</h2>
<p><strong>CfA Redshift Survey</strong>, <a href="http://www.cfa.harvard.edu/~dfabricant/huchra/zcat">the Center for Astrophysics Redshift Survey</a>, is the first redshift survey.</p>
<ul>
<li><strong>Objectives</strong>:</li>
</ul>
<p>Measure radial velocities for all galaxies brighter than 14.5 and high galactic latitude in the merged catalogs of Zwicky and Nilson (UGC). {<strong>Completed</strong>}</p>
<ul>
<li><strong>Parameters</strong>:
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: Galaxies {about 18,000 measured}</li>
<li>Distance: Within redshift 15,000 km/s</li>
<li>Area: Northern sky</li>
<li>Resolution:</li>
</ul>
</li>
<li><strong>Results</strong></li>
</ul>
<p>Distribution of the galaxies in the northern celestial hemisphere with an apparent blue magnitude of 15.5 inside redshift 15,000 km/s,</p>
<figure>
<figcaption>
CfA Map
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/CfA_cfa2.map.jpg" alt="" /></p>
</figure>
<p>In this map, Red V < 3000 km/s; Blue 3000 < V < 6000 km/s; Magenta 6000 < V < 9000 km/s; Cyan 9000 < V < 12000 km/s; Green 12000 < V km/s.</p>
<ul>
<li><strong>Links</strong>:
<ol>
<li>CfA Redshift Survey: <a href="http://www.cfa.harvard.edu/~dfabricant/huchra/zcat">http://www.cfa.harvard.edu/~dfabricant/huchra/zcat</a></li>
<li>CfA: <a href="http://www.cfa.harvard.edu">http://www.cfa.harvard.edu</a></li>
</ol>
</li>
</ul>
<h2 id="2df-galaxy-redshift-survey">2dF Galaxy Redshift Survey</h2>
<p><strong>2dFGRS</strong>, <a href="http://magnum.anu.edu.au/~TDFgg">2dF Galaxy Redshift Survey</a>, is a major spectroscopic survey (integrated with the 2dF QSO survey).</p>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities: 2dF facility built by the Anglo-Australian Observatory.</li>
<li>Frequency/Channel:</li>
<li>Objects: 245591, mainly galaxies, brighter than a nominal extinction-corrected magnitude limit of $b_J = 19.45$. Reliable (quality>=3) redshifts were obtained for 221414 galaxies.</li>
<li>Distance:</li>
<li>Area, 1500 square degrees. A figure from official site is shown below.</li>
</ul>
<figure>
<figcaption>
2dFGRS Survey Map
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2dFGRS_Survey_Map_Small.gif" alt="" /></p>
</figure>
<ul>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>Galaxy distribution results from completed survey:</p>
<figure>
<figcaption>
2dF
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2dFzcone.gif" alt="" /></p>
</figure>
<p>A rendered result of 2dF Galaxy Survey data</p>
<figure>
<figcaption>
2dF
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2dFGRS_2dfgrs.png" alt="" /></p>
</figure>
<p><strong>Links</strong>:</p>
<ol>
<li>Wikipedia: <a href="http://en.wikipedia.org/wiki/2dF_Galaxy_Redshift_Survey">http://en.wikipedia.org/wiki/2dF_Galaxy_Redshift_Survey</a></li>
<li>Official site: <a href="http://magnum.anu.edu.au/~TDFgg">http://magnum.anu.edu.au/~TDFgg</a></li>
</ol>
<p><strong>2dF QSO Redshift Survey</strong>, 2QZ, is already integrated into 2dFGRS.</p>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: Magnitude limits are $18.25<b_J<20.85$. Color selection is $u-b_J$ vs. $b_J-r$ plane.</li>
</ul>
<figure>
<figcaption>
2QZ
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2QZ_col_sel.gif" alt="" /></p>
</figure>
<ul>
<li>Distance:</li>
<li>Area:</li>
</ul>
<figure>
<figcaption>
2QZ
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2QZ_regions.gif" alt="" /></p>
</figure>
<ul>
<li>Resolution:</li>
</ul>
</li>
</ul>
<h2 id="6df-galaxy-survey">6dF Galaxy Survey</h2>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li><strong>Parameters</strong>:
<ul>
<li>Facilities: UK Schmidt telescope using the Six-degree Field(6dF) multi-object fibre spectrograph</li>
<li>Frequency/Channel:</li>
<li>Objects: limits $16.0<b_J<18.25$ {136,304 spectra}.</li>
<li>Distance:</li>
<li>Area: Nearly the entire southern sky</li>
</ul>
<figure>
<figcaption>
6dF
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/6dFRS_animsky3.gif" alt="" /></p>
</figure>
<ul>
<li>Resolution:</li>
<li>Examinations: Spectra and (in peculiar velocity survey) galaxy mass and bulk motions</li>
</ul>
</li>
<li>Links:</li>
</ul>
<ol>
<li>6dFGS: <a href="http://www.aao.gov.au/local/www/6df">http://www.aao.gov.au/local/www/6df</a></li>
<li>6dFGS: <a href="http://www-wfau.roe.ac.uk/6dFGS">http://www-wfau.roe.ac.uk/6dFGS</a></li>
</ol>
<h2 id="2-mass-redshift-survey">2 MASS Redshift Survey</h2>
<p><strong>2MASS</strong>, the <a href="http://www.ipac.caltech.edu/2mass">Two Micron All Sky Survey</a>, “is designed to close the gap between our current technical capability and our knowledge of the near-infrared sky. In addition to providing a context for the interpretation of results obtained at infrared and other wavelengths.” It shows the large-scale structure of the Milky Way and the Local universe.</p>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities: Two 1.3-m telescopes at Mt. Hopkins, AZ and CTIO, Chile.</li>
<li>Frequency/Channel: 3 near-infrared bands</li>
<li>Objects: Limited to local universe</li>
<li>Area: All sky scanning</li>
<li>Distance: Limited to local universe</li>
<li>Area: All sky scanning</li>
<li>Resolution: pixel size 2.0”.RNR>10.</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li><a href="http://www.ipac.caltech.edu/2mass">Two Micron All Sky Survey</a></li>
</ol>
<p><strong>2MRS</strong>, the 2MASS Redshift Survey, aims to map the distribution of galaxies and dark matter in the local universe, based on galaxy selection of 2MASS.</p>
<ul>
<li>
<p><strong>Objectives</strong>: 45000 galaxies up to K=11.75mag {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel: near infra-red J,H and K-band</li>
<li>Objects: Limited to local universe</li>
<li>Area: All sky scanning</li>
<li>Distance: Redshift out to $z=0.03$ (mean value), or equivalently to 115Mpc/370 million light-years</li>
<li>Area: All sky scanning</li>
<li>Resolution: pixel size 2.0”.RNR>10.</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>All sky map of local universe in infrared</p>
<figure>
<figcaption>
2MRS Local Universe Infared
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/2MRS_Local_Universe_Infared.jpg" alt="" /></p>
</figure>
<p><strong>Links</strong>:</p>
<ol>
<li>2MASS Redshift Survey @ CfA: <a href="http://www.cfa.harvard.edu/~dfabricant/huchra/2mass">http://www.cfa.harvard.edu/~dfabricant/huchra/2mass</a></li>
</ol>
<h2 id="vla-first-survey">VLA FIRST Survey</h2>
<p><strong>VLA FIRST Survey</strong>: <a href="sundog.stsci.edu/index.html">Faint Images of the Radio Sky at Twenty-cm using NRAO Vary Large Array</a>.</p>
<ul>
<li>
<p><strong>Objectives</strong>: “to produce the radio equivalent of the Palomar Observatory Sky Survey over 10,000 square degrees of the North and South Galactic Caps” {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facility: VLA in B-configuration</li>
<li>Frequency/Channel: Two channels centered at 1365 MHz and 1435 MHz. In Spring 2011, changed due to EVLA updates</li>
<li>Objects:</li>
<li>Distance:</li>
<li>Area: Over 10,000 square degrees of the North and South Galactic Caps.</li>
<li>Resolution: Final atlas of maps have a resolution of 5’’</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>Faint Images of the Radio Sky at Twenty-Centimeters: <a href="http://sundog.stsci.edu">http://sundog.stsci.edu</a></li>
</ol>
<h2 id="ediscs">EDisCS</h2>
<p><strong>EDisCS</strong>: <a href="http://www.mpa-garching.mpg.de/galform/ediscs/">ESO Distant Clusters Survey</a></p>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: galaxies in rich clusters.</li>
<li>Distance: z~0.5 and z>0.8</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>EDisCS: <a href="http://www.mpa-garching.mpg.de/galform/ediscs">http://www.mpa-garching.mpg.de/galform/ediscs</a></li>
</ol>
<h2 id="lcrs">LCRS</h2>
<p><strong>LCRS</strong>, <a href="http://qold.astro.utoronto.ca/~lin/lcrs.html">the Las Campanas Redshift Survey</a></p>
<ul>
<li>
<p><strong>Objectives</strong>: “provide a large galaxy sample which permits detailed and accurate analyses of the properties of galaxies in the local universe” {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: Galaxies selected from a CCD-based catalog measured in a Kron-Cousins R-band</li>
<li>Distance: Typical redshift is 30000 km/s</li>
<li>Area: 700 square degrees in 6 strips, each 1.5 degrees * 80 degrees, three each in the North and South galactic caps.</li>
<li>Resolution:</li>
<li>Examinations: Clustering, luminosity, and spectral properties</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>Two dimensional representations of the redshift distribution</p>
<figure>
<figcaption>
LCRS
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/LCRS_galtrans1b.gif" alt="" /></p>
</figure>
<p>We can see voids and walls.</p>
<p><strong>Links</strong>:</p>
<ol>
<li>LCRS: <a href="http://qold.astro.utoronto.ca/~lin/lcrs.html">http://qold.astro.utoronto.ca/~lin/lcrs.html</a></li>
</ol>
<h2 id="esp">ESP</h2>
<p><strong>ESP</strong>: <a href="http://www.bo.astro.it/~cappi/esokp.html">the ESO Slice Project</a></p>
<ul>
<li><strong>Objectives</strong>: {<strong>Completed</strong>}
<ul>
<li>Determination of the galaxy luminosity function in a volume with dimensions large enough to average over the large scale inhomogeneities.</li>
<li>Study of the statistic of emission line galaxies in a large, unbiased sample of galaxies.</li>
<li>Measure of the size distribution of inhomogeneities in the galaxy distribution over a large volume.</li>
</ul>
</li>
<li><strong>Parameters</strong>:
<ul>
<li>Facilities: ESO 3.6m telescope</li>
<li>Frequency/Channel:</li>
<li>Objects: Limiting magnitude bJ=19.4 {about 4000 objects measured, 3342 galaxy redshifts}</li>
<li>Distance: Selection function peak at z=0.1</li>
<li>Area: Over about 23 square degrees near the South Galactic Pole</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>Cone diagram</p>
<figure>
<figcaption>
ESP
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/ESP_kpcono.gif" alt="" /></p>
</figure>
<p><strong>Links</strong>:</p>
<ol>
<li>ESP: <a href="http://www.bo.astro.it/~cappi/esokp.html">http://www.bo.astro.it/~cappi/esokp.html</a></li>
</ol>
<h2 id="cnoc">CNOC</h2>
<p><strong>CNOC</strong>: <a href="http://www.astro.utoronto.ca/~cnoc/">the Canadian Network for Observational Cosmology</a></p>
<h4 id="the-cnoc1-cluster-survey"><strong>The CNOC1 Cluster Survey</strong></h4>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities: CFHT Multi-Object-Spectrograph(MOS)</li>
<li>Frequency/Channel:</li>
<li>Objects: 16 rich X-ray selected galaxy clusters {about 1200 cluster redshifts and 1000 field redshifts identified}</li>
<li>Distance: 0.17<z<0.55</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>Determine Omega</p>
<figure>
<figcaption>
CNOC1
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/CNOC1_om.gif" alt="" /></p>
</figure>
<p><strong>Links</strong>:</p>
<ol>
<li>CNOC1: <a href="http://www.astro.utoronto.ca/~cnoc/">http://www.astro.utoronto.ca/~cnoc/</a></li>
</ol>
<h3 id="cnoc2-field-galaxy-survey">CNOC2 Field Galaxy Survey</h3>
<ul>
<li>
<p><strong>Objectives</strong>: {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities: CFHT MOS</li>
<li>Frequency/Channel:</li>
<li>Objects: 4 widely separated patches away from very bright stars and known rich low-z galaxy clusters {about 6200 field galaxy redshifts measured}</li>
<li>Distance: To z=0.7</li>
<li>Area: 1.5 square degrees</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>CNOC1: <a href="http://www.astro.utoronto.ca/~cnoc/">http://www.astro.utoronto.ca/~cnoc/</a></li>
</ol>
<h2 id="sloan-digital-sky-survey">Sloan Digital Sky Survey</h2>
<p><strong>SDSS</strong>: <a href="http://www.sdss.org">Sloan Digital Sky Survey</a></p>
<p>There are 3 programs until now. SDSS is too famous and too complicated to list here. Use the links to read it on SDSS website.</p>
<h3 id="sdss1">SDSS1</h3>
<h3 id="sdss2">SDSS2</h3>
<h3 id="sdss3">SDSS3</h3>
<p><strong>Links</strong>:</p>
<ol>
<li>SDSS: <a href="http://www.sdss.org">http://www.sdss.org</a></li>
</ol>
<h2 id="gama">GAMA</h2>
<p><strong>GAMA</strong>: <a href="http://www.gama-survey.org">Galaxy And Mass Assembly Survey</a></p>
<ul>
<li><strong>Objectives</strong>: “study cosmology and galaxy formation and evolution”
<ol>
<li>To <strong>test modified theories of gravity</strong> by measuring the growth rate of structure; the CDM model by measuring the halo mass function; and galaxy formation models by measuring the star formation efficiency in groups.</li>
<li>To measure the connection between star formation fuelling, stellar mass build-up and feedback processes.</li>
<li>To uncover the detailed mechanisms that govern the build-up of the stellar content of galaxies.</li>
<li>To directly measure the recent galaxy merger rate as a function of mass, mass ratio, local environment and galaxy type.</li>
</ol>
</li>
<li><strong>Parameters</strong>:
<ul>
<li>Facilities: AAOmega MOS on Anglo-Australian Telescope (AAT)</li>
<li>Frequency/Channel:</li>
<li>Objects: 340,000 galaxies down to r<19.8 mag {about how many XXXX measured}</li>
<li>Distance: 0.015<z<0.04 for each GAMA fields (G09, G12, G15)</li>
<li>Area: About 310 deg^2</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p>Three animations to illustrate some of the results, (blue for 10^8 to 10^9 solar masses; green for 10^9 to 10^10 solar masses; orange for 10^10 to 10^11 solar masses; red for more than 10^11 solar masses)</p>
<figure>
<figcaption>
GAMA 3D Universe G09
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/GAMA_anim-comp000.gif" alt="" /></p>
</figure>
<figure>
<figcaption>
GAMA 3D Universe G12
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/GAMA_anim-comp001.gif" alt="" /></p>
</figure>
<figure>
<figcaption>
GAMA 3D Universe G15
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/GAMA_anim-comp002.gif" alt="" /></p>
</figure>
<p><strong>Links</strong>:</p>
<ol>
<li>GAMA: <a href="http://www.gama-survey.org">http://www.gama-survey.org</a></li>
</ol>
<h2 id="deep2-redshift-survey-high-redshift">DEEP2 Redshift Survey, high redshift</h2>
<h2 id="vimos-vlt-deep-survey-high-redshift">VIMOS-VLT Deep Survey, high redshift</h2>
<h2 id="ukidss">UKIDSS</h2>
<p><strong>UKIDSS</strong>: <a href="http://www.ukidss.org">UKIRT Infrared Deep Sky Survey</a>, is a successor to 2MASS and made up of five surveys and includes two deep extra-Galactic elements, one covering 35 square degrees to K=21 and the other reaching K=23 over 0.77 square degrees.</p>
<ul>
<li>
<p><strong>Objectives</strong>:</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities: WFCAM on UK Infrared Telescope (UKIRT) in Hawaii.</li>
<li>Frequency/Channel:</li>
<li>Objects: JHK to K=18.3, principal quarry: coolest and nearest brown dwarfs, high-redshift dusty starburst galaxies, elliptical galaxies and galaxy clusters at redshifts 1<z<2, and the highest-redshift quasars at z=7</li>
<li>Distance: Check objects</li>
<li>Area: 7500 square degrees of Northern sky, extending over both high and low Galactic latitudes. Planned coverage is
<ol>
<li>Orange: Large Area Survey (LAS) 4000 sq. degs K=18.4 extraGalactic</li>
<li>Purple: Galactic Plane Survey (GPS) 1800 sq. degs K=19.0 Galactic</li>
<li>Green: Galactic Clusters Survey (GCS) 1400 sq. degs K=18.7 Galactic</li>
<li>Blue: Deep Extragalactic Survey (DXS) 35 sq. degs K=21.0 extraGalactic</li>
<li>Red: Ultra Deep Survey (UDS) 0.77 sq. degs K=23.0 extraGalactic</li>
</ol>
<figure>
<figcaption>
GAMA
</figcaption>
<p><img src="http://openmetric.org/images/posts/galaxy-surveys/UKIDSS_all7yr.gif" alt="" /></p>
</figure>
</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>UKIDSS: <a href="http://www.ukidss.org">http://www.ukidss.org</a></li>
</ol>
<h2 id="pan-starrs">Pan-STARRS</h2>
<p><strong>Pan-STARRS</strong>: <a href="http://pan-starrs.ifa.hawaii.edu/public">the Panoramic Survey Telescope & Rapid Response System</a></p>
<ul>
<li>
<p><strong>Objectives</strong>: (Originally) detect potentially hazardous objects in the solar system, and other solar system astronomy and cosmology.</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects:</li>
<li>Distance:</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>Pan-STARRS: <a href="http://pan-starrs.ifa.hawaii.edu/public">http://pan-starrs.ifa.hawaii.edu/public</a></li>
</ol>
<h2 id="primus">PRIMUS</h2>
<p><strong>PRIMUS</strong>: <a href="http://cass.ucsd.edu/~acoil/primus/Home.html">PRIsm MUlti-object Survey</a>, is the largest faint galaxy spectroscopic redshift survey to date.</p>
<ul>
<li>
<p><strong>Objectives</strong>:</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: 120,000 galaxy redshifts</li>
<li>Distance: To z=1</li>
<li>Area: 9 sq. deg. focusing on regions with deep Spitzer, optical, GALEX and X-ray data</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
<ol>
<li>PRIMUS: <a href="http://cass.ucsd.edu/~acoil/primus/Home.html">http://cass.ucsd.edu/~acoil/primus/Home.html</a></li>
</ol>
<h2 id="spitzer">Spitzer</h2>
<h2 id="boss">BOSS</h2>
<p><strong>BOSS</strong>: <a href="http://cosmology.lbl.gov/BOSS">Baryon Oscillation Spectroscopic Survey</a>. <strong>FUTURE SURVEY</strong></p>
<ul>
<li>
<p><strong>Objectives</strong>:</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects:</li>
<li>Distance:</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong></p>
<ol>
<li>BOSS: <a href="http://cosmology.lbl.gov/BOSS">http://cosmology.lbl.gov/BOSS</a></li>
</ol>
<h2 id="des">DES</h2>
<p><strong>DES</strong>: <a href="http://www.darkenergysurvey.org">the Dark Energy Survey</a></p>
<ul>
<li>
<p><strong>Objectives</strong>: “designed to probe the origin of the accelerating universe and help uncover the nature of dark energy by measuring the 14-billion-year history of cosmic expansion with high precision”</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects:</li>
<li>Distance:</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong></p>
<ol>
<li>DES: <a href="http://www.darkenergysurvey.org">http://www.darkenergysurvey.org</a></li>
</ol>
<h2 id="lsst">LSST</h2>
<p><strong>LSST</strong>: <a href="http://www.lsst.org">the Large Synoptic Survey Telescope</a></p>
<ul>
<li>
<p><strong>Objectives</strong>:</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects:</li>
<li>Distance:</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong></p>
<ol>
<li>LSST: <a href="http://www.lsst.org">http://www.lsst.org</a></li>
</ol>
<hr />
<h2 id="references">References:</h2>
<ol>
<li>Probes of Large Scale Structure: <a href="http://astro.berkeley.edu/~mwhite/probes-lss.html">http://astro.berkeley.edu/~mwhite/probes-lss.html</a></li>
</ol>
<hr />
<p>Template for surveys:</p>
<ul>
<li>
<p><strong>Objectives</strong>: XXXXXX {<strong>Completed</strong>}</p>
</li>
<li>
<p><strong>Parameters</strong>:</p>
<ul>
<li>Facilities:</li>
<li>Frequency/Channel:</li>
<li>Objects: XXXX {about how many XXXX measured}</li>
<li>Distance:</li>
<li>Area:</li>
<li>Resolution:</li>
</ul>
</li>
</ul>
<p><strong>Results</strong></p>
<p><strong>Links</strong>:</p>
Dark Energy
2012-06-12T00:00:00+00:00
http://openmetric.org/science/modified-gravity
<p><a href="http://openmetric.org/images/posts/modified-gravity/fRGravity.pdf">f(R) Gravity</a></p>
我们的宇宙可能由闭宇宙演化为开宇宙么
2011-07-26T00:00:00+00:00
http://openmetric.org/sciencecn/from-open-univserse-to-closed-universe
<p>这是一个系列栏目,我们将对一个初步问题逐步剖析,给出解释并不断引出新的问题。</p>
<h2 id="第一节">第一节</h2>
<p>准备知识:</p>
<p>Q:什么是开宇宙?什么是闭宇宙?
A:选取球坐标:t,r,$\theta$,$\phi$。给定一个 FRW 度规:</p>
\[\left(
\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & \frac{a[t]^2}{1-r^2 k} & 0 & 0 \\
0 & 0 & r^2 a[t]^2 & 0 \\
0 & 0 & 0 & r^2 a[t]^2 \sin{\theta}^2
\end{array}
\right)\]
<p>如果k=0,那么这个度规是一个平直的欧式度规,也就是平直的宇宙;如果k=−1,那么这是一个双曲面的度规,代表开放的宇宙;如果k=+1,这是一个球面度规,这代表闭合的宇宙。这里面之所以k只能取孤立的值,是因为我们故意通过调节a[t]把它scale过了。</p>
<p>我们的宇宙可能由闭宇宙演化为开宇宙么?</p>
<p>[IMPORTANT:要么不读下面的,要么全部读完。]</p>
<p>下面我们使用连续流体模型来计算宇宙的演化。在这种简化的模型下,宇宙的演化是由宇宙的内含物质的多少和属性以及设定的度规,按照Einstein方程( $G_{ab}=8\pi T_{ab}$ )来确定的。</p>
<p>使用我们一开始给出的坐标和度规。为了讨论宇宙是否可以有一开始的开(或者闭)演化为闭(或者开),这里先假定代表宇宙的开闭的k与时间有关,记为k[t]。也就是说,度规为:</p>
\[\left(
\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & \frac{a[t]^2}{1-r^2 k[t]} & 0 & 0 \\
0 & 0 & r^2 a[t]^2 & 0 \\
0 & 0 & 0 & r^2 a[t]^2 \sin{\theta}^2
\end{array}
\right)\]
<p>计算得到 Einstein 张量,完整的式子可以从本文结尾所附文档中查看。</p>
<p>一般而言,我们的使用各项同性的理想流体模型。对应的物质的能动张量 $T_{ab}$没有非对角项。也就是说,利用Einstein方程,我们得到,$G_{01}=0$。即</p>
\[\frac{rk'[t]}{1-r^2 k[t]}=0.\]
<p>如此我们便得到代表宇宙的开闭的k必定是一个与时间无关的量。从而证明在理想流体各项通过性FRW模型中,宇宙不可能从闭合演化为开放或者相反。</p>
<p>其他模型?
如果想要使得k含时,必须使得能动张量存在两个非对角项,即 $T_{01}$ 和 $T_{10}$。也就是说要使用非理想的流体模型。然后通过非对角项增加一个方程,用了解决增加的含时未知量k[t]。这样方程依然很可能可解。
下面要解决的问题是,如果引入非理想流体模型,那么是否是要偏离理想流体模型多远呢?因为我们的宇宙中的星体相隔比较远,产生shear的可能性比较小。所以偏离理想流体模型太远的模型是不可靠的。</p>
<p>[2011-07-29][IMPORTANT]</p>
<p>上面提到使用非理想流体模型。这个说法不太对。因为非理想流体最多在空间分量上引入非对角。</p>
<p>从上面的计算可以看到,如果要求k含时,那么要求T01不为零。意思是说,要求在r方向存在能流密度。这跟是不是理想流体没什么关系。物理上讲,这是显然要这样的,因为比如我们想要宇宙从闭宇宙演化为开宇宙,而我们用的又是各向同性的度规,那么可以通过减少空间各点的能量密度来实现。但是同时,物理上讲,这个又很奇怪。因为我们这里的能动张量是一个共动坐标上的量,所以如果存在这样的能流项,意味着空间每一点的共动的能量密度在流失或者流入,也就是意味着能量的消失或创生,这一点非常非常难以令人接受。</p>
<p>所以上面提到的其他模型,一般也是不行的。</p>
<p>需要提到的一点是,这个方法来证明有两个问题:</p>
<p>a. 我们得到度规的时候,是把 $\frac{\mathrm d^2 r}{K<a href="1-kr^2">t</a>}$ 分母上的含时间的项提出来,这里k之所以只能够取1,0,-1是因为这分别代表着球面度规,平直度规和双曲面度规。所以上面直接取k[t]含时间的方法不太合适。
b. 这样证明多此一举。正如上面所说,如果一开始我们选定一个度规,那么含时间的项只是K[t]。不管这一项如何变,都不会导致几何性质从球面度规变化为双曲面度规或其他的。</p>
<ul>
<li>完整的计算过程:<a href="http://openmetric.org/images/posts/from-open-univserse-to-closed-universe/OpenOrClosedUniverse.pdf">OpenOrClosedUniverse.pdf</a></li>
<li>Mathematica文件 <a href="http://openmetric.org/images/posts/from-open-univserse-to-closed-universe/OpenOrClosedUniverse.zip">package+calculation</a></li>
</ul>
<h2 id="第二节">第二节</h2>
<p>第一节中用了一种不恰当的方法来讨论这个问题。但是我们给出了一个比较好的物理解释。
现在,我们将重新思考这个问题,并在文章结束提出下一期的问题。</p>
<p>梁灿彬的《微分几何入门与广义相对论》一书中,讨论了如何找到可以描述所有满足宇宙学原理的可能的度规的方法。通过讨论,得到了三种度规可以完整的描述所有的最大对称性的静态度规。度规的空间部分列出如下:</p>
\[\begin{align}
\mathrm d l^2&= K^{-1}[\mathrm d^2 \arcsin r + r^2 (\mathrm d\theta^2+\sin^2\theta\mathrm d^2\phi)], K>0 \\
\mathrm d l^2&= \mathrm d r ^2 + r^2 (\mathrm d\theta^2+\sin^2\theta\mathrm d^2\phi), K=0 \\
\mathrm d l^2&=- K^{-1}[\mathrm d ^2\mathrm {sh}^{-1} r + r^2 (\mathrm d\theta^2+\sin^2\theta\mathrm d^2\phi)], K<0
\end{align}\]
<p>在这三种情况里面,我们总可以做共形变化,把这些度规变成静态的球面、欧式或者双曲面的度规。写成下面的形式</p>
\[\mathrm ds^2=-\mathrm dt^2+a^2(t)[\frac{\mathrm dr^2}{1-kr^2}+r^2(\mathrm d\theta^2+\sin\theta\mathrm d\phi^2)],\]
<p>其中,k只取-1,0,1.因为我们故意通过通过变化scale factor a(t) 来代替上面的三个式子中的K(t)。</p>
<p>这样一来,宇宙的时空曲率的信息都放在了scale factor中了,而k决定了宇宙时空几何的类型,即球面,平直还是双曲。如果我们选定一种作为宇宙开始的时候的度规,比如这里我们选取球面度规,那么随着宇宙的演化,宇宙的曲率将从无穷大一直减小到0。我们不会再去讨论这个曲率从零变为负值的情况。因为时空曲率变为零,意味着scale factor无穷大,也就是说,意味着是无限远的未来。由于能量密度不能为负,所以不可能从一种类型的时空几何变为另一种类型。</p>
<p>下面我给出详细的计算。思路是,看一下是不是有可能从一种接近另一种然后到达最后一种情况。由于一旦度规写出来,其实就确定了一种时空几何,所以只能看其渐进行为,比如是从球面度规渐进平直。实际上不用计算也能够明白,渐进行为是可以的,这意味着无穷久之后。</p>
<p>假定一开始的宇宙的度规如下:</p>
\[\left(
\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & \frac{A[t]}{1-k r^2} & 0 & 0 \\
0 & 0 & r^2 A[t] & 0 \\
0 & 0 & 0 & r^2 A[t] \text{Sin}[\theta ]^2
\end{array}
\right)\]
<p>当然,其中的A[t]为正。计算得到Einstein Tensor为</p>
\[\left(
\begin{array}{cccc}
\frac{3 \left(4 k A[t]+A'[t]^2\right)}{4 A[t]^2} & 0 & 0 & 0 \\
0 & -\frac{A'[t]^2-4 A[t] \left(k+A”[t]\right)}{4 \left(-1+k r^2\right) A[t]} & 0 & 0 \\
0 & 0 & \frac{r^2 \left(A'[t]^2-4 A[t] \left(k+A”[t]\right)\right)}{4 A[t]} & 0 \\
0 & 0 & 0 & \frac{r^2 \text{Sin}[\theta ]^2 \left(A'[t]^2-4 A[t] \left(k+A”[t]\right)\right)}{4 A[t]}
\end{array}
\right)\]
<p>通过Einstein Equation,即 $G_{ab}=8\pi G T_{ab}$ 得到两个方程,就是修正的Friedmann方程。</p>
\[\begin{align}
\frac{3 \left(4 k A[t]+A'[t]^2\right)}{4 A[t]^2}&=-8 G \pi \rho [t] \\
\frac{A'[t]^2-4 A[t] \left(k+A”[t]\right)}{4 A[t]}&=8 G \pi A[t] p[t]
\end{align}\]
<p>重新整理得到,</p>
\[\begin{align}
6A”[t]-3\frac{A'[t]^2}{A[t]}-16\pi G A[t](\rho[t]+3p[t])&=0 \\
\frac{3A'[t]}{2A[t]}[\rho[t]+p[t]]+\rho ‘[t]&=0
\end{align}\]
<p>到现在位置,我们就可以发现这里A[t]具有scale factor(或者说其平方)的作用相同。当这个量可以从0变到无穷大,却不可能变符号。因为从上面的方程组的第一个式子可见(需稍许分析讨论),变化符号,意味着能量密度为负。显然不能如此。</p>
<p>我们可以进一步计算,假定物态方程 $w=p/\rho$ 为不含时的量,这样可以得到下面的结果。</p>
<p>A[t]>0时,</p>
\[\rho A^{3(1+w)/2}=\text{Const}\]
<p>A[t]<0时,</p>
\[\rho (-A)^{3(1+w)/2}=\text{Const}\]
<p>从这里也可以看出 A[t] 即 $a^2[t]$.(事实上一开始定义如此。)</p>
<p>剩下的步骤与梁灿斌老师的书上的步骤相同,解出A[t]。然后稍加讨论,可以得到,如果一开始的时空几何类型是确定的,那么就不能越过平直变为第三种。但是如果一开始平直,那么可以从平直变为另外两种。</p>
<p>附录:</p>
<p>Mathematica文件:<a href="http://openmetric.org/images/posts/from-open-univserse-to-closed-universe/OpenOrClose2.zip">OpenOrCloseMathematicaFile</a>.
其中Great.m是package文件,如果想要重新计算,请先运行此package。EinsteinTensor.nb为Einstein张量的计算。Calculation.nb为其余式子的计算过程。</p>
<p>下面思考问题:</p>
<p>真的不能够从?如果在Einstein方程中引入新的量呢?比如我们引入神奇的Λ或者暗能量?</p>
<h2 id="第三节">第三节</h2>
<p>上面浪费了很多时间来求解Einstein方程。最后我们又提出了一个问题:如果存在 $\Lambda$ 或者 Dark energy 呢?</p>
<p>首先,重新看一下准备知识。什么是开宇宙?什么是闭宇宙?我们很可能会觉得,代表宇宙膨胀的大小的scale factora(t)如果一直变大,那么就应该表示开宇宙,如果scale factor后来变小,直到变回零。那么就是闭宇宙。
但是这里有个问题。表示时空的几何类型(球面、平直还是双曲)的k(只能去1,0.-1)和scale factora(t)到底会不会回到零有什么关系?两者之间有确定的对应关系么?</p>
<p>我们看一下Friedmann方程等。</p>
\[\begin{align}
3(\dot{a}^2+k)/a^2 &= 8\pi \rho \\
2\ddot{a}/a+(\dot{a}^2+k)/a^2 &= -8 \pi \rho
\end{align}\]
<p>稍加化简,得到</p>
\[\ddot a=-4/3 \pi a (\rho+3p).\]
<p>从这个方程可见,scale factor的演化是由ρ和p来决定的。这跟表示时空的几何类型的k没关系。</p>
<p>也就是说,如果我们依照第一节中的定义方法,那么闭宇宙并不表示宇宙将来会collapse。</p>
<p>举一个简单的例子。
假定宇宙开始是个闭宇宙,即仅仅说明k=+1。宇宙开始时是Radiation domination,因此我们可以计算出scale factor的演化。</p>
\[a^2(t)=2 B t-t^2\]
<p>其中 B为不含时常数。(我沿用了梁灿斌书中的记号。)
这样a(t)是一条开口向下的抛物线。如果宇宙中始终只有radiation的而一开始又是k=+1话,那么宇宙将会collapse。
但是,假定在某一个时刻,宇宙从radiation domination过渡到matter domination。这时候,scale factor的方程变为</p>
\[a=A(1-\cos{\hat t})/2+C_1, \qquad t=A(\hat t-\sin{\hat t})/2\]
<p>这里的待定的系数是有边界条件(比如radiation matter equality时刻的值)来确定的。这里面的参量看起来挺奇怪,但是不管如何,t和$\hat t$是正相关的,在x很大的时候,基本上就可以看做是一条直线。现在我们可以暂时认为$\hat t(t)$可以用来表征时间。那么scale factor随着时间的向前推移,在合适的范围内,scale factor是个减函数。
到现在位置,如果只存在radiation和matter,而且一开始宇宙的时空几何是k=+1,那么宇宙将只会collapse。</p>
<p>下面我们就引入我们的另一员大将,Dark Energy。在collapse之前,如果有足够多的dark energy,然后宇宙转化为物态方程为w的dark energy主导,那么可以求解到下面的结果。</p>
\[\dot{a}^2=C_2 a^{2-3(1+w)}+C_3.\]
<p>这样一来,scale factor的导数a˙最终将会增加,从小于零逐渐变为零,然后如果此时宇宙还没有collapse,那么scale factor的导数a˙将会变为正值,也就意味着宇宙将不再collapse,而是无穷无尽的变大,知道big rip(或者最近有篇文章讲的little rip模型,这是题外话)。</p>
<p>上面的论述证明了宇宙是可能从一开始的看似是要collapse演化到后来永远膨胀的。</p>
<p>我们一开始之所以没有去仔细讨论k和a的关系,是因为如果仅仅存在radiation和matter,那么k=+1就正好意味着宇宙将会collapse,不管宇宙中是radiation还是matter还是二者混合。k=−1也正好意味着宇宙一定是一直膨胀下去的。反之,只要取合适的状态方程和能量密度,开宇宙也可以演化为闭宇宙。</p>
<p>最后,其实按照一般的这种想法(a的行为才反映出宇宙的开和闭),我们在第一篇post中所用的开宇宙闭宇宙的定义不够好。所以最好还是按照scale factor的行为来定义,而k仅仅告诉了我们宇宙的几何类型(球面的,平直的,还是双曲的)。</p>
<h2 id="小结">小结</h2>
<p>总结:</p>
<p><strong>什么是开宇宙、闭宇宙?</strong></p>
<p>这个问题我想重新阐述。讨论一个宇宙是开宇宙还是闭宇宙,一个比较好的参量是看scale factor, $a(t)$。如果在t→0时,$\dot a(t) \geq 0$,也就是说如果宇宙最终一直膨胀下去,那么我们可以把这一的宇宙说成是开宇宙,因为这个宇宙是一个开放的;如果 $t\to 0$ 时,scale factor $a(t) \leq 0$,也就是说宇宙最终将塌缩(collapse,不知道翻译成塌缩合不合适,反正差不多这个意思),那么可以叫这样的宇宙为闭宇宙。</p>
<p>在第一节中,我使用了一种不同的说法。那种说法只有在宇宙只含有matter或者radiation(或二者混合)的时候才成立,也就是说,那种情况下,k的取值正好对应着宇宙的开闭。但是如果宇宙中存在dark energy(或者 $\Lambda$,whatever),那么这个结论就不再正确。(这一段讨论可以简单的从 Friedmann 方程看出来。)</p>
<p>结论是,在理想流体模型中,如果存在dark energy,那么宇宙可以从闭宇宙演化到开宇宙,同样的,也可以从开宇宙变为闭宇宙。</p>
<p>好吧我承认这样说起来有点乱,这里可以理解成 $\dot a(t)\geq 0$ 为开宇宙,$\dot a(t)\leq 0$ 为闭宇宙。这样理解的话开和闭就成了一种某时刻的状态了。这种说法最好只是限于此处讨论。导致这样的结果全部是因为我提出了错误的问题。可见一个正确的好的问题对于一篇文章是多么重要。</p>
<p>补充:</p>
<ol>
<li>在第一篇post(我们的宇宙可能由闭宇宙演化为开宇宙么?[第一节])中,采用了一种看似不太正确的算法。下面我用少量的公式论证这种做法其实是正确的。
因为如果我们做一个简单的变量代换 $\hat r=\sqrt{\lvert k\rvert}$,那么</li>
</ol>
\[\left(
\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & \frac{a[t]^2}{1-r^2 k[t]} & 0 & 0 \\
0 & 0 & r^2 a[t]^2 & 0 \\
0 & 0 & 0 & r^2 a[t]^2 \sin{\theta}^2
\end{array}
\right)\]
<p>就变为</p>
\[\left(
\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & \left|k[t]\right|\frac{a[t]^2}{1-{\hat r}^2 } & 0 & 0 \\
0 & 0 & \left|k[t]\right| {\hat r}^2 a[t]^2 & 0 \\
0 & 0 & 0 & \left|k[t]\right| {\hat r}^2 a[t]^2 \sin{\theta}^2
\end{array}
\right)\]
<p>也就是说,正如梁灿斌在其书中所说一样,如果k不取0,1-1,那么我们可以把它scale到这种情况。同样,如果我们不选择scale到这三种情况那么前面的第一篇中的讨论就是非常合适的。</p>
<ol>
<li>
<p>第一篇中所得到的Einstein张量和能动张量,很多项都是r的函数,而又不能跟能动张量里面的那些r的项对应起来。这样要么就要得到与r相关的scale factor的演化方程,要么就需要构造奇怪的能动张量。</p>
</li>
<li>
<p>可以考虑一下modified gravity下的情况,比如比较简单的情况:f(R)模型。</p>
</li>
</ol>
<h2 id="acknowledgement">Acknowledgement:</h2>
<p>I am grateful to XU Xiaodong and LIU Yunqi for they have pointed errors in my original post and for their helpful discussions.</p>
宇宙扰动的来源以及演化
2011-07-04T00:00:00+00:00
http://openmetric.org/sciencecn/cosmic-perturbations-pre
<p>在宇宙学中,原初扰动的问题一直是非常吸引人的话题。</p>
<h2 id="起源">起源</h2>
<p>在很久很久之前,人们对于宇宙起初的那段时间的物理还不是很清楚,所以曾经有人猜测宇宙的原初扰动就是热扰动,$\delta=1/\sqrt{N}$,其中 $\delta=\delta\rho/\rho$,而 $\rho$ 是物质密度(此处先不讨论到底是什么的密度,可以理解为当时主导物质的密度),而N是粒子数。</p>
<p>但是后来Harrison(1970)发现,如果宇宙中的扰动起源于热涨落,那么我们会发现,这个涨落应该是在经典宇宙模型可以讨论的范围内的某个时刻突然出现的。这显然不合理,因为经典宇宙模型中没有什么机制会导致这样的结果。于是人们就只好做了假设,后来人们称之为Harrison-Zel’dovich Prescription。这个Prescription是说:
All perturbations that come into the horizon have the same amplitude.</p>
\[\Delta(k_i,t_i)=\Delta(k_e,t_e)=\text{Const.}\]
<p>这里 $k=2\pi/L$ 是指comoving wavenumber.</p>
<p>Harrison可以通过一系列的argument把这个扰动的来源推到我们的经典的宇宙学模型不能讨论的地方。(Harrison, 1970)</p>
<p>后来,我们有了Inflation,通过一些列的讨论,可以让inflation产生合适的功率谱,</p>
\[P_\Phi(k) = \frac{50\pi^2}{9k^3}\bigg( \frac{k}{H_0} \bigg)^{n-1}\delta_H^2\bigg( \frac{\Omega_m}{D_1(a=1)} \bigg)^2.\]
<p>这个功率谱的好处,那么我们就可以通过如下定义得到一个无量纲的扰动量</p>
\[\Delta^2(k)=\frac{k^3P(k)}{2\pi^2}.\]
<p>如果我们看一下当今的 horizon crossing scale 的扰动,那么巧的很,$\Delta^2 = \delta_H^2$。为什么巧的很呢?因为这意味着,我们找到的这个无量纲的量,不仅仅是大小对于物质扰动的大小,而且在a=1的当今时刻,这个无量纲的量在horizon scale的值正好退化到物质扰动在horizon scale的值。这样非常有利于我们对于扰动的考察。</p>
<h2 id="演化">演化</h2>
<p>其实所有的演化,都可以通过8个Boltzmann方程加上扰动的Einstein方程来解决。对于一些简单的情况,比如Dodelson(2008)中的只考虑0和1级的温度扰动极距的情况,可以使用仅仅5个简单的方程解决。</p>
<p>当然,就像通常那样,方程没有全时段的严格解,只能通过数值得到结果或者某些近似来得到简化的解析解。</p>
<p>举个例子吧。比如对于Super-horizon的情况,可以忽略所有k相关的项,并且使用一些合适的初始条件,可以得到如下的解,</p>
\[\frac{\Phi(0)}{10}\frac{1}{x^3}(16\sqrt{1+x}+9x^3+2x^2-8x-16).\]
<p>方程里面 $y=a/a_{equality}$ 。也就是scale factor与matter radiation equality的时候的scale factor的比值。</p>
<p>考虑y很大的情况,也就是a很大的情况,或者说是晚期的情况,$\Phi\sim 9/10 \Phi(0)$,也就是说,虽然是Super horizon的情况,但是晚期的引力势强度还是有所减弱。从方程上来看,这个是情理之中,因为即使是Super horizon的,依然是跟scale factor相关的,或者说跟dark matter的比例相关的。</p>
<figure>
<p><img src="http://openmetric.org/images/posts/cosmic-perturbations-pre/DMPerturbationSuHorizon.jpg" alt="" /></p>
<figcaption>
Dark Matter Perturbation at Super Horizon Scale
</figcaption>
</figure>
<p>图中没有显示出早期的扰动的情况,因为我随手把前面的系数设定了一下,这种情况下,mathematica只能算到大约y∼0.0003以后的情况,再往前算,直接plot命令就不准确了。事实上,早期的扰动,或者说在早期远离matter radiation equality的时候,扰动势应该是常数。Dodelson的Modern Cosmology里面第七章的Figure 7.6就给出了理论和数值的对照。</p>
<p>同样,我们也可以通过舍弃掉物质的影响,来考虑远远早于matter radiation equality时期进入到视界的扰动,最终我们得到的势函数的图像类似下面这种图:</p>
<figure>
<p><img src="http://openmetric.org/images/posts/cosmic-perturbations-pre/HoriCrossingDuringRadiationD.jpg" alt="" /></p>
<figcaption>
Horizon Crossing In Early Radiation Era
</figcaption>
</figure>
<p>早期是常数,这跟我们的假定不谋而合。后来在radiation domination后期快速衰减振荡,最初变为常数。</p>
宇宙学到底悲剧到什么程度
2011-05-07T00:00:00+00:00
http://openmetric.org/sciencecn/how-bad-is-cosmology
<figure>
<p><img src="http://openmetric.org/images/posts/how-bad-is-cosmology/FlowchartofCosmology.jpg" alt="" /></p>
<figcaption>
Flowchart of Cosmology
</figcaption>
</figure>
<p>我本意是想列出在宇宙学的逻辑链上可能有其他可行的路子的,来说明我们现在的宇宙学是多么悲剧:大多数人走上了一条路,但是大家都不是那么确定在这条路上能走多远。</p>
<p>但是做这张图花了很长时间,所有今晚是来不及写了。而且图也没做好,没有排好版,开始没有预料到后面会有那么多东西。图中的内容太少,只是画出了极少数的宇宙学的内容……</p>
<p>基本上而而言,在图中后面的部分,大部分节点都可以提出新的观点的,就连那些不是节点的地方,也可以有而且确实有其他的观点。==!</p>
<p>P.S.
其实在宇宙中找一个全局的同时面是不可能的,所以Hawking和Ellis找到一种简化的办法来做。</p>
爱情的严格量子力学描述
2011-03-18T00:00:00+00:00
http://openmetric.org/sciencecn/relativistic-psychology
<blockquote>
<p>[Update:03-21]</p>
</blockquote>
<blockquote>
<p>Actually, I am joking! DO NOT PANIC! 本文弃用 CC 协议。不许转载。因为文章还没成型,我只是把我的所有的尝试都写在这里。而且,记着所有这些都是笑话而已。本文将已经完成于2200AD。</p>
</blockquote>
<h2 id="第一章-问题的引入">第一章 问题的引入</h2>
<p>生平最恨不幸的故事入耳。</p>
<p>幸与不幸,我没有评判标准,所有的测量全部需要在故事主人公的参考系进行。在故事主人公的情感与观者的情感无冲突的情况下,主人公的情感就仅仅是一个标量,故事主人公自身参考系中当时当地的幸,任何平移下都不变。然而,为了描述故事主人公的幸与不幸,我们需要找出能够代表某种情感的可以量化的参量,一般此参量是特定情感下的所有的人共有的一种可以度量的表现,或者故事主人公所特有的一种表现。比如下面在分析爱情的时候所采用的其他观者远离自己的快慢程度(自己与其他观者的有效交流的多少)乘以其他观者的弥散程度(其他观者对于自己的重要程度)。</p>
<p>有两件事情可能是非常复杂的。</p>
<p>其一是存在耦合的情况。如果故事主人公的感受是与其他观者耦合的时候。这种情况往往会导致无穷递归的情况。倘若也是下面将要提到的含时的情况,那么还可能会出现混沌的情况。这部分情况需要以后进行细致讨论。</p>
<p>其二是含时的测量。举例来说,一个当地观者想要观测自身参考系中的爱情感受进行描述。由于心理学的相对性原理,人所感受到的时空背景不仅仅与物理的时空有关,还与观者自身的情感状况(情感密度和情感的物态方程)有关,于是感受的强烈程度会导致心里时空背景的扭曲。这部分可以通过场方程来描述。</p>
\[G_{ab}=GT_{ab}\]
<p>其中,$G_{ab}$ 是描述时空背景的张量;$T_{ab}$ 是描述感受的张量;而有趣的是标量 $G$,它描述了情感密度对心里时空的影响的程度,在经典近似下,可以看作情感密度与心里时空扭曲标量的比值。</p>
<p>为了方便对事件的描述,我们引入 conformal time 的概念。conformal time 就是指的观者在某情感状态下的心理时间。这个量并没有可用的明确定义,所以在使用之前需要实现定义。比如我们一般喜欢定义当前情感状态下的时间为 conformal time,记作 $\tau(t)$。括号里面的变量意味着这个因子是与心理时间相关的。这样的话,对于一个含时的问题的描述,我们需要引入因子a,心理时间与 conformal time 之间的换算关系为 $t=a\tau$。
实验上,我们可以通过下面的定义来给出a。</p>
\[H(t)=\frac{\mathrm d a/\mathrm d t}{a} .\]
<p>其中,$H(t)$ 是心理弥散常数。从定义可以看出,$H(t)$ 的意义是,在观者自身参考系所观测其他观者时,所测量到的其他观者远离自己的快慢程度和其他观者的弥散系数的合作用的结果。其他观者远离观者的速度越快,$H(t)$ 就越大;其他观者相对与观者的弥散程度越大,$H(t)$ 就越大。</p>
<p>我来解释一下其他观者远离自己的快慢程度。这个常常被描述成主人公远离其他人的速度,在我们这里,因为所有的观测必须先在故事主人公的参考系完成,所以这样描述是不太方便的。其他观者远离自己的速度应该怎么描述呢?我们需要引入红移,即 redshift。Redshift 是描述观者在接收到其他观者的一个试探(probe,可能是一个问题,一个碰触,总之是某种意图引起故事主人公注意的行为)之后,给出回应(respond)并最终接受到其他观者能够证明已经接受到该回应的回应的这个过程所需要的时间,这个时间是用心理时间来衡量的。这样来说,其实红移并不是一个很方便测量的量。为了能够测量,我们需要将这个过程所需的心理时间归一化,归一化常数就是在前面选定confomal time时所选定的那个作为标准的情感状态下这个过程所需要的时间的倒数,并且为了以后更好用,还要减去1。即,</p>
\[z=\frac{t_a}{t_0}-1 .\]
<p>另一个需要给出解释的量是弥散系数。上面提到的红移并不能完整的描述故事主人公的情感密度对心理时空引起的影响。举个例子来说,如果有一个观者都离故事主人公很近,即z0很小,但是因为这个观者是临时过来的,只是因为工作或者什么原因才临时过来待几天,这几天过去之后,该人物就会离去。这个观者的离去与那种朋友离去的情况完全不同,所以我们需要引入一个参数来描述每个人的重要程度,称之为弥散程度s。</p>
<p>解释清楚了这两个概念,那么如何用来这两个量来描述前面的心理弥散常数呢?我们定义这个量如下:</p>
\[H(t)=-\frac 1 t \ln{s(1+z)}\]
<p>做一个简单的变换,可以得到红移量、弥散系数以及conformal time的标度因子a之间的关系:</p>
\[s(1+z)=\frac{1}{a}\]
<p>为了便于理解,我们将会给出一张描述爱情的图表作为示例。</p>
<figure>
<p><img src="http://openmetric.org/images/posts/relativistic-psychology/example-1.jpg" alt="" /></p>
<figcaption>
Triangle 2D Ising Model
</figcaption>
</figure>
<h2 id="第二部分">第二部分</h2>
<p>从第一部分已经可以感觉到,实际上相对论的心理学至少能够描述一些我们日常生活中的一些心理现象。事实上要对这二个理论做一些澄清的最快的方法就是建立广相里面各种元素跟心理学里面的各种元素的对应。当然这不是唯一的路,我先试试,如果走不通在重新回到这里。{!我加一个breakpoint=1。}</p>
<p>在物理里面,我们描述某一个时空点发生了什么事件。而且我们希望有一个描述这个事件随时间的演化,而且一般我们希望这个描述是协变性的(这里我们要求广义协变)。</p>
<p>然而,在心理学里面要复杂的多。因为这是一个涉及到主观观测的理论。在物理学中,我们一般会寻找不会因为观测者的不同而便变化的物理量,或者说,我们一般的会有一个办法来严格的定义这些量,这样严格定义之后,物理量就可以被不同的主观观测者按照相同的方式来接受。在这个过程中,我们人为的排除掉了主观的影响。但是心理学偏偏就是要把主观感受的东西拖进理论中来。也就是说,我们下面的理论事实上需要给出一个从我们物理中所谓的客观事件到一个个体的主观感受之间的映射。</p>
<p>从数学上讲,只要我们能够给出了从客观实在的事件到主观感受之间的映射(我们非常希望这个是一个 $C^\infty$ 的微分同胚的映射,因为这样在操作映射的时候会变得简单的多),那么这个理论就算完成了。(还要看一下这些是不是可以放在微分流形上解决。或者条件放宽一点,我们只要求从客观M到主观的映射f是 $C^\infty$ 的。)当然,如果我们给出一个微分同胚的映射,那么由于物理规律的协变性,那么物理规律在通过微分同胚映射到了某个人的主观感受之后,规律必然也是协变的。</p>
<p>【注记1:这里关于这个映射是不是一个微分同胚的问题,讨论如下:考虑所有客观事件A可以在流行M上定义,引入M上的坐标系 $O_1$。该事件在个体的主观感受中的对应记作A′,我们可以很合理的定义从A到A′的映射f。这里假设了A只能在主观感受中产生一个对应。{!我在这里添加另一个breakpoint=2。}如果我们将要讨论的问题中,只考虑所讨论的体系中的所有主体都对一个客观事件有一个感受{A′},那么这里就可以很合理的定义f的逆映射f−1,并且可以认为f和f′都是一一到上的映射。关于映射f和f−1的可微性的问题,我们可以这样考虑,即虽然我们可以找到很多这种映射,这些映射并不都是可微的,但是为了我们理论更简洁些,我们只能使用那些 $C^\infty$ 的映射。】</p>
<p>【注记2:在“该事件在个体的主观感受中的对应……”这句话中,出现了个体这个说法。实际上这个说法在以后的描述中会显得不那么恰当,因为个体这个概念已经不再那么重要。我们对这句话应该这样理解:我们会假定每个个体都不同,所以只需要给出每个个体的完整的主观感受集合就可以区分出个体。所以我们下面就采用这样的描述:“主观感受集合/流形M′中的对应……”】</p>
<p>当然,我们不仅仅要给出客观事件到主观客体的映射f,还有一个非常重要的问题是要给出这种主观感受从该个体到另一个个体的映射。数学上讲,这个可以通过一个pull back或者push forward来完成。可是,这里还有很多问题比如主观感受集合M′是不是流形?由于没有比较有说服力的推理,我们这里就假定这个问题的答案是肯定的吧。一种理解是,既然我们已经假定了这里用到的f和f′是可微的,M′和M就是非常像,考虑到我们在建立主观感受集合的时候,方法很多,类似于映射可微性的讨论,我们也是为了是的理论更简单,只挑出那部分可以构成流形的方法。</p>
<hr />
科学家才懂的 加强版
2011-03-03T00:00:00+00:00
http://openmetric.org/misc/only-for-scientists
<blockquote>
<p>严格的说,是只有数学专业和物理专业等才能读懂的~ 加了一些,重排了一下~</p>
</blockquote>
<p>很久很久以前,在拉格朗日照耀下,有几座城:分别是常微分方城和偏微分方城这两座兄弟城,还有数理方程、随机过城。从这几座城里流出了几条溪,比较著名的有:柯溪、数学分溪、泛函分溪、回归分溪、时间序列分溪等。</p>
<p>远在柯溪的上游,曾经有个不等市,市中有渐近县和极县,这里房子的屋顶都是用伽罗瓦盖的,人们的主食是无穷小粮。</p>
<p>极县旁有一座道观叫线性无观,线性无观里有很多道士叫做多项士,道长比较二,也叫二项士。线性无观旁有一座庙叫做香寺,长老叫做满志,他设计了咀阵,用来守卫一座塔方。一天二项士拎着马尔可夫链来踢馆,满志曰:“正定!正定!吾级数太低,愿以郑太求和,道友合同否?”二项士惊呼:“特真值啊!”立退。不料满志此人置信度太低,不以郑太求和,却要郑太回归。二项式大怒在密度函树下展开标准分布,布里包了两个钗钗,分别是标准钗和方钗。满志见状央(鞅)求饶命。二项式将其关到希尔伯特空间,命巴纳赫看守。后来,巴纳赫让其付饭钱,满志念已缴钱便贪多吃,结果被噎死(贝叶斯)在无参树下。</p>
<p>沿着柯溪往下走,会发现柯溪最后汇入了微分几河。</p>
<p>在入河口有座古老的海森堡,里面生活着亥霍母子,他们穿着德布罗衣、卢瑟服、门捷列服,因为只有这样就不会被开尔蚊骚扰,才不会被河里的薛定鳄咬伤。这座城堡门口两边摆放着牛墩和道尔墩,从这两个墩出去便是鲍林。</p>
<p>鲍林里面的树非常多:有高等代树、抽象代树、线性代树、实变函树、复变函树、数值代树等,还有长满了傅立叶,开满了范德花的级树…人们专门在这些树边放了许多的盖(概)桶,高桶,这是用来放尸体的,因为,挂在这些树上面的人,太多了,太多了…</p>
<p>这些人死后被葬在微积坟,坟的后面是一片广阔的麦克劳林,林子里有一只费马,它喜欢跑到上游的柯溪喝水,它喝水的地方撒着用高丝做成的ε-网,有时它用这些网捕捉些二次剩鱼。值得说明的是这种鱼每晚都会集合起来看流形。如果天上出现了微分流形,他们就会沿着柯溪阶跃到微分几何。</p>
<p>横穿鲍林,就会发现,挨着微分几何有条支流,也就是人们常常提到的黎曼几河。如果沿着黎曼几河一直走到发源地,会发现一座弛豫时涧,从这里起源的还有一条流,就是传说中的芬斯勒几河。</p>
<p>传说很久之前,芬斯勒几河改道,并入黎曼几河,几河不能同调,工程师李群不得不微分流形,调河分溪。几河分溪以后,水量大涨,建了个测渡也没有效果,还是挂了很多人,最后连鲍林里面很单薄的非交换代树都挂满了,人们不得不把尸体用更大的动力系桶甚至连桶(通)成群装好后扔掉。有些人不想挂在树上,索性投入了数值逼井(近)。结果投井的人发现井下生活着线性回龟和非线性回龟两种龟:前一种最为常见的是简单线性回龟和多元线性回龟,它们都喜欢吃最小二橙。可偏偏他们投井是忘记了带最小二橙……</p>
<p>继续沿着微分几河往下游走,就发现解析几河、微分几河、黎曼几河等等这些大河全部汇入了几河。人们一直传说芬斯勒几河也是汇入几河,但是从来没有人能够从芬斯勒几河的发源地走下去,所以没有人确定它到底通向了哪里。</p>
<p>几河继续往下走,经过换乘各种船,最后就来到了狄拉克海。</p>
A Brief Summary of Statistical Physics
2011-01-21T00:00:00+00:00
http://openmetric.org/science/brief-summary-statistical-physics
<embed src="http://openmetric.org/images/posts/brief-summary-statistical-physics/SP_Final_Summary.pdf" width="100%" height="800px" />
Volume of 20D Ball
2011-01-08T00:00:00+00:00
http://openmetric.org/sciencecn/20-d-ball-volume
<p>估算一下高维球体的体积。用c写的。</p>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="cm">/*This program trys to calculate the volume of a 20-dim ball with a Monte Carlo method*/</span>
<span class="cp">#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
</span>
<span class="cp">#define L 2 </span><span class="cm">/*l is the half length of the boxes*/</span><span class="cp">
#define R 1 </span><span class="cm">/*R is the radius of the ball. Should be half of L.*/</span><span class="cp">
#define d 20 </span><span class="cm">/*d is the dimension of the ball*/</span><span class="cp">
#define n 100000.0 </span><span class="cm">/*n is the numbers of total samples*/</span><span class="cp">
#define o 100 </span><span class="cm">/*The box is sliced into o pieces.*/</span><span class="cp">
</span>
<span class="kt">void</span> <span class="nf">main</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">clock_t</span> <span class="n">start</span><span class="p">,</span><span class="n">finish</span><span class="p">;</span>
<span class="c1">//start=clock();</span>
<span class="kt">double</span> <span class="n">duration</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">p</span><span class="p">,</span><span class="n">s</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">x1</span><span class="p">,</span><span class="n">x2</span><span class="p">,</span><span class="n">x</span><span class="p">[</span><span class="n">d</span><span class="p">],</span><span class="n">a</span><span class="p">,</span><span class="n">V</span><span class="p">[</span><span class="n">o</span><span class="p">],</span><span class="n">V_tot</span><span class="p">;</span>
<span class="n">start</span><span class="o">=</span><span class="n">clock</span><span class="p">();</span>
<span class="n">srand</span><span class="p">((</span><span class="kt">unsigned</span><span class="p">)</span><span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
<span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="n">a</span><span class="o">=</span><span class="mi">1</span><span class="o">/</span><span class="n">sqrt</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">*</span><span class="n">R</span><span class="p">;</span>
<span class="n">p</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">p</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="p">{</span>
<span class="n">m</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o"><=</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="c1">//srand((unsigned)time(NULL));</span>
<span class="n">k</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="n">x</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">rand</span><span class="p">()</span><span class="o">/</span><span class="n">RAND_MAX</span><span class="o">*</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="o">/</span><span class="n">o</span><span class="o">+</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">p</span><span class="o">*</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">/</span><span class="n">o</span><span class="p">;</span>
<span class="n">k</span><span class="o">=</span><span class="n">k</span><span class="o">+</span><span class="mi">1</span><span class="p">;</span>
<span class="k">while</span><span class="p">(</span><span class="n">k</span><span class="o"><=</span><span class="n">d</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="c1">//srand((unsigned)time(NULL));</span>
<span class="n">x</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">rand</span><span class="p">()</span><span class="o">/</span><span class="n">RAND_MAX</span><span class="o">*</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">/</span><span class="n">o</span><span class="o">*</span><span class="p">(</span><span class="n">p</span><span class="o">+</span><span class="mi">1</span><span class="p">);</span>
<span class="n">k</span><span class="o">++</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">x2</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">l</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">l</span><span class="o"><=</span><span class="n">d</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span><span class="n">l</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">x2</span><span class="o">=</span><span class="n">x2</span><span class="o">+</span><span class="n">x</span><span class="p">[</span><span class="n">l</span><span class="p">]</span><span class="o">*</span><span class="n">x</span><span class="p">[</span><span class="n">l</span><span class="p">];</span>
<span class="p">}</span>
<span class="n">x1</span><span class="o">=</span><span class="n">sqrt</span><span class="p">(</span><span class="n">x2</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">x1</span><span class="o"><=</span><span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">m</span><span class="o">=</span><span class="n">m</span><span class="o">+</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">V</span><span class="p">[</span><span class="n">p</span><span class="p">]</span><span class="o">=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">m</span><span class="o">/</span><span class="n">n</span><span class="o">*</span><span class="p">(</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">/</span><span class="n">o</span><span class="p">)</span><span class="o">*</span><span class="n">pow</span><span class="p">((</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">/</span><span class="n">o</span><span class="o">*</span><span class="p">(</span><span class="n">p</span><span class="o">+</span><span class="mi">1</span><span class="p">)),</span><span class="n">d</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">d</span><span class="o">*</span><span class="n">pow</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">d</span><span class="p">);</span> <span class="cm">/*p is growing from 0*/</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"%lf</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">V</span><span class="p">[</span><span class="n">p</span><span class="p">]);</span>
<span class="p">}</span>
<span class="n">V_tot</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">s</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">s</span> <span class="p">{</span>
<span class="n">V_tot</span><span class="o">=</span><span class="n">V_tot</span><span class="o">+</span><span class="n">V</span><span class="p">[</span><span class="n">s</span><span class="p">];</span>
<span class="n">s</span><span class="o">++</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"%e</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">V_tot</span><span class="p">);</span>
<span class="n">finish</span><span class="o">=</span><span class="n">clock</span><span class="p">();</span>
<span class="n">duration</span><span class="o">=</span><span class="p">(</span><span class="kt">float</span><span class="p">)(</span><span class="n">finish</span><span class="o">-</span><span class="n">start</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"%f"</span><span class="p">,</span><span class="n">duration</span><span class="p">);</span>
<span class="p">}</span></code></pre></figure>
2D Ising Model (Triangle Lattice)
2011-01-08T00:00:00+00:00
http://openmetric.org/sciencecn/2d-ising-model-triangle
<embed src="http://openmetric.org/images/posts/2d-ising-model-triangle/2D_Ising_ModelTriangle.pdf" width="100%" height="800px" />
<!-- <script async class="speakerdeck-embed" data-id="4fe27564fb9d8a001f012a09" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script> -->
<ul>
<li>Hamiltonian:</li>
</ul>
\[H=J\sum\limits_{i,j}{ {s_{ i } }{s_{j} } }\]
<ul>
<li>Lattice</li>
</ul>
<figure>
<p><img src="http://openmetric.org/images/posts/2d-ising-model-triangle/Fig3-Triangle-2D-Ising.jpg" alt="" /></p>
<figcaption>
Triangle 2D Ising Model
</figcaption>
</figure>
<ul>
<li>Summary image:</li>
</ul>
<figure>
<p><img src="http://openmetric.org/images/posts/2d-ising-model-triangle/2D_Triangle_Ising_Model.jpg" alt="" /></p>
<figcaption>
Results
</figcaption>
</figure>
<ul>
<li>Code</li>
</ul>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="cm">/*This program calculates the energy, heat capacity, magnetization, magnetic permitivity.*/</span>
<span class="cm">/*Boundary condition: periodic boundary condition.*/</span>
<span class="cm">/*In this program, J&k are put into T. To fill it to the expressions, just consider the dimensions.*/</span>
<span class="cp">#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
</span>
<span class="cp">#define L 32
#define NGL 100000 </span><span class="cm">/*Samples Neglected*/</span><span class="cp">
#define N_t 5100000 </span><span class="cm">/*Total samples*/</span><span class="cp">
#define N (N_t-NGL)
#define T_i 0.5
#define T_f 10.5
#define Tstep 0.05
#define SIZE_T 500 </span><span class="cm">/*The size of emcx in T axis. Check this before compiling!*/</span><span class="cp">
#define SIZE_R 60 </span><span class="cm">/*The size of emcx in R axis. Check this before compiling!*/</span><span class="cp">
#define R_i -6 </span><span class="cm">/*Ration of J2/J1. Initial value.*/</span><span class="cp">
#define R_step 0.1 </span><span class="cm">/*step*/</span><span class="cp">
#define R_f 0 </span><span class="cm">/*End of R*/</span><span class="cp">
</span>
<span class="kt">int</span> <span class="n">sum_M</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">s</span><span class="p">[</span><span class="n">L</span><span class="p">][</span><span class="n">L</span><span class="p">];</span> <span class="cm">/*Size of the lattice*/</span>
<span class="kt">double</span> <span class="n">sum_E</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">T</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span>
<span class="p">{</span>
<span class="kt">double</span> <span class="n">C</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">X</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E</span><span class="p">;</span>
<span class="p">};</span>
<span class="kt">void</span> <span class="nf">Inist</span><span class="p">();</span>
<span class="kt">void</span> <span class="nf">Mag</span><span class="p">();</span>
<span class="kt">void</span> <span class="nf">Energy</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="kt">void</span> <span class="nf">MCP</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="nf">Cac_obsv</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">R</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="n">emcx</span><span class="p">[</span><span class="n">SIZE_T</span><span class="p">][</span><span class="n">SIZE_R</span><span class="p">];</span>
<span class="kt">FILE</span> <span class="o">*</span><span class="n">ft</span><span class="p">,</span><span class="o">*</span><span class="n">fm</span><span class="p">,</span><span class="o">*</span><span class="n">fx</span><span class="p">,</span><span class="o">*</span><span class="n">fc</span><span class="p">,</span><span class="o">*</span><span class="n">fe</span><span class="p">,</span><span class="o">*</span><span class="n">fr</span><span class="p">;</span>
<span class="n">fr</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"R.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">ft</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"T.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fx</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"X.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fc</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"C.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fm</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"M.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fe</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"E.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">R</span><span class="o">=</span><span class="n">R_i</span><span class="p">;</span>
<span class="n">srand</span><span class="p">(</span><span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">R</span><span class="o"><=</span><span class="n">R_f</span><span class="p">;</span><span class="n">j</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">T</span><span class="o">=</span><span class="n">T_i</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">T</span><span class="o"><=</span><span class="n">T_f</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">Inist</span><span class="p">();</span>
<span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=</span><span class="n">Cac_obsv</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fr</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">R</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">ft</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">T</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fx</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">X</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fc</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">C</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fm</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">M</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fe</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">E</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"-------------</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"R=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">R</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"T=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">T</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"X=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">X</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"C=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">C</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"M=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">M</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"E=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">E</span><span class="p">);</span>
<span class="n">T</span> <span class="o">=</span> <span class="n">T</span><span class="o">+</span><span class="n">Tstep</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">R</span><span class="o">+=</span><span class="n">R_step</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">ft</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fx</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fc</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fm</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fe</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"The End!</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Inist</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">j</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">j</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">MCP</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">sum</span><span class="p">,</span><span class="n">dE</span><span class="p">;</span>
<span class="n">i</span><span class="o">=</span><span class="n">rand</span><span class="p">()</span><span class="o">%</span><span class="n">L</span><span class="p">;</span>
<span class="n">j</span><span class="o">=</span><span class="n">rand</span><span class="p">()</span><span class="o">%</span><span class="n">L</span><span class="p">;</span>
<span class="n">sum</span><span class="o">=</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="n">s</span><span class="p">[(</span><span class="n">L</span><span class="o">+</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span> <span class="p">(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]</span><span class="o">+</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]));</span>
<span class="c1">//printf("chk2.sum=%d\n",sum);</span>
<span class="c1">//switch(sum)</span>
<span class="c1">//{</span>
<span class="c1">// case 4: dE= 8; break;</span>
<span class="c1">// case 2: dE= 4; break;</span>
<span class="c1">// case 0: dE= 0; break;</span>
<span class="c1">// case -2: dE= -4; break;</span>
<span class="c1">// case -4: dE= -8; break;</span>
<span class="c1">// default: printf("sum=%d. Attention!\n",sum); break;</span>
<span class="c1">//}</span>
<span class="n">dE</span><span class="o">=</span><span class="mi">2</span><span class="o">*</span><span class="n">sum</span><span class="p">;</span>
<span class="k">if</span><span class="p">(</span> <span class="n">dE</span><span class="o">></span><span class="mi">0</span> <span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span><span class="p">(((</span><span class="kt">double</span><span class="p">)</span><span class="n">rand</span><span class="p">()</span><span class="o">/</span><span class="n">RAND_MAX</span><span class="p">)</span><span class="o"><=</span><span class="n">exp</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="o">*</span><span class="n">dE</span><span class="o">/</span><span class="n">T</span><span class="p">))</span>
<span class="p">{</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
<span class="n">sum_M</span><span class="o">+=</span><span class="mi">2</span><span class="o">*</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
<span class="n">sum_E</span><span class="o">+=</span><span class="n">dE</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="p">{</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
<span class="n">sum_M</span><span class="o">+=</span><span class="mi">2</span><span class="o">*</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
<span class="n">sum_E</span><span class="o">+=</span><span class="n">dE</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="nf">Cac_obsv</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E_avg</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E_as</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M_avg</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M_as</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="n">emcx</span><span class="p">;</span>
<span class="n">Mag</span><span class="p">();</span>
<span class="n">Energy</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o"><</span><span class="n">N_t</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">MCP</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">>=</span><span class="n">NGL</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">E_avg</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_E</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">E_as</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_E</span><span class="o">*</span><span class="n">sum_E</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">M_avg</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_M</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">M_as</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_M</span><span class="o">*</span><span class="n">sum_M</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">E</span><span class="o">=</span><span class="n">E_avg</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">M</span><span class="o">=</span><span class="n">M_avg</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">C</span><span class="o">=</span><span class="p">(</span><span class="n">E_as</span> <span class="o">-</span> <span class="n">E_avg</span><span class="o">*</span><span class="n">E_avg</span><span class="p">)</span><span class="o">/</span><span class="n">T</span><span class="o">/</span><span class="n">T</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">X</span><span class="o">=</span><span class="p">(</span><span class="n">M_as</span> <span class="o">-</span> <span class="n">M_avg</span><span class="o">*</span><span class="n">M_avg</span><span class="p">)</span><span class="o">/</span><span class="n">T</span><span class="p">;</span>
<span class="k">return</span> <span class="n">emcx</span><span class="p">;</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Mag</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">dM_tmp</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">j</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">j</span><span class="o">++</span><span class="p">)</span>
<span class="n">dM_tmp</span><span class="o">+=</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">];</span>
<span class="p">}</span>
<span class="n">sum_M</span><span class="o">=</span><span class="n">dM_tmp</span><span class="p">;</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Energy</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">double</span> <span class="n">dE_tmp</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">j</span><span class="o"><</span><span class="n">L</span><span class="p">;</span><span class="n">j</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">dE_tmp</span><span class="o">+=</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="o">*</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">R</span><span class="o">*</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]</span><span class="o">+</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">]));</span>
<span class="c1">// printf("chk1.dE_tmp=%f\n",dE_tmp);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">sum_E</span><span class="o">=</span><span class="n">dE_tmp</span><span class="p">;</span>
<span class="p">}</span></code></pre></figure>
Monte Carlo Investigation of Frustrated Heisenberg Model
2011-01-01T00:00:00+00:00
http://openmetric.org/sciencecn/frustrated-heisenberg-model
<script async="" class="speakerdeck-embed" data-id="4fe27564fb9d8a001f012a09" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
<!-- <embed src="http://openmetric.org/images/posts/frustrated-heisenberg-model/Frustrated-Honeycomb-Heisenberg-Model.pdf" width="100%" height="800px"> -->
<p>A simple vector model in 2 dimensions. Its Hamiltonian can be written as</p>
\[H={ {J} { 1} }\sum\limits{i,j}{ { {s}{i} }{ {s}{j} } }+{ {J}{2} }\sum\limits{i’,j’}{ { { s}{i’} }{ {s}{j’} } },\]
<p>in which i,j means the nearest neighbor interaction when i’, j’ means the next nearest neighbor interaction.
We designed the program under Honeycomb lattice, i.e.,</p>
<figure>
<p><img src="http://openmetric.org/images/posts/frustrated-heisenberg-model/Graphene.jpg" alt="" /></p>
<figcaption>
Scheme of a honeycomb lattice
</figcaption>
</figure>
<p>To make it clear for programming, we reshaped the lattice under homeomorphic:</p>
<figure>
<p><img src="http://openmetric.org/images/posts/frustrated-heisenberg-model/MCLattice.jpg" alt="" /></p>
<figcaption>
Transformation of honeycomb lattice for MC program
</figcaption>
</figure>
<p>We wrote the Metropolis CODE with C:</p>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="o">/</span><span class="n">This</span> <span class="n">program</span> <span class="n">calculates</span> <span class="n">the</span> <span class="n">energy</span><span class="p">,</span> <span class="n">heat</span> <span class="n">capacity</span><span class="p">,</span> <span class="n">magnetization</span><span class="p">,</span> <span class="n">magnetic</span> <span class="n">permitivity</span><span class="p">.</span><span class="o">/</span>
<span class="o">/</span><span class="n">Boundary</span> <span class="n">condition</span><span class="o">:</span> <span class="n">periodic</span> <span class="n">boundary</span> <span class="n">condition</span><span class="p">.</span><span class="o">/</span>
<span class="o">/</span><span class="n">In</span> <span class="n">this</span> <span class="n">program</span><span class="p">,</span> <span class="n">J</span><span class="o">&</span><span class="n">k</span> <span class="n">are</span> <span class="n">put</span> <span class="n">into</span> <span class="n">T</span><span class="p">.</span> <span class="n">To</span> <span class="n">fill</span> <span class="n">it</span> <span class="n">to</span> <span class="n">the</span> <span class="n">expressions</span><span class="p">,</span> <span class="n">just</span> <span class="n">consider</span> <span class="n">the</span> <span class="n">dimensions</span><span class="p">.</span><span class="o">/</span>
<span class="n">include</span> <span class="o"><</span><span class="n">stdio</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
<span class="n">include</span> <span class="o"><</span><span class="n">stdlib</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
<span class="n">include</span> <span class="o"><</span><span class="n">time</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
<span class="n">include</span> <span class="o"><</span><span class="n">math</span><span class="p">.</span><span class="n">h</span><span class="o">></span>
<span class="cp">#define L 100
#define NGL 1000000 </span><span class="cm">/*Samples Neglected*/</span><span class="cp">
#define N_t 51000000 </span><span class="cm">/*Total samples*/</span><span class="cp">
#define N (N_t-NGL)
#define T_i 0.1
#define T_f 1.0
#define Tstep 0.1
#define SIZE_T 500 </span><span class="cm">/*The size of emcx in T axis. Check this before compiling!*/</span><span class="cp">
#define SIZE_R 60 </span><span class="cm">/*The size of emcx in R axis. Check this before compiling!*/</span><span class="cp">
#define R_i 50.0 </span><span class="cm">/*Ration of J2/J1. Initial value.*/</span><span class="cp">
#define R_step 0.1 </span><span class="cm">/*step*/</span><span class="cp">
#define R_f 50.0 </span><span class="cm">/*End of R*/</span><span class="cp">
#define Pi 3.1415926536
</span>
<span class="kt">double</span> <span class="n">sum_M</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span> <span class="cm">/*sum_M[0] denotes the cos part; sum_M[1] denotes the sin part*/</span>
<span class="kt">double</span> <span class="n">sum_Mag</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">s</span><span class="p">[</span><span class="n">L</span><span class="p">][</span><span class="n">L</span><span class="p">];</span> <span class="cm">/*Size of the lattice*/</span>
<span class="kt">double</span> <span class="n">sum_E</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">T</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span>
<span class="p">{</span>
<span class="kt">double</span> <span class="n">C</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">X</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E</span><span class="p">;</span>
<span class="p">};</span>
<span class="cm">/********************************/</span>
<span class="c1">// FILE *fchk; //chk_sum_E</span>
<span class="cm">/********************************/</span>
<span class="kt">void</span> <span class="nf">Inist</span><span class="p">();</span>
<span class="kt">void</span> <span class="nf">Mag</span><span class="p">();</span>
<span class="kt">void</span> <span class="nf">Energy</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="kt">void</span> <span class="nf">MCP</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="nf">Cac_obsv</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">);</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">R</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="n">emcx</span><span class="p">[</span><span class="n">SIZE_T</span><span class="p">][</span><span class="n">SIZE_R</span><span class="p">];</span>
<span class="kt">FILE</span> <span class="o">*</span><span class="n">ft</span><span class="p">,</span><span class="o">*</span><span class="n">fm</span><span class="p">,</span><span class="o">*</span><span class="n">fx</span><span class="p">,</span><span class="o">*</span><span class="n">fc</span><span class="p">,</span><span class="o">*</span><span class="n">fe</span><span class="p">,</span><span class="o">*</span><span class="n">fr</span><span class="p">;</span>
<span class="n">fr</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"R.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">ft</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"T.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fx</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"X.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fc</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"C.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fm</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"M.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="n">fe</span><span class="o">=</span><span class="n">fopen</span><span class="p">(</span><span class="s">"E.txt"</span><span class="p">,</span><span class="s">"w"</span><span class="p">);</span>
<span class="cm">/**********************************/</span>
<span class="c1">//fchk=fopen("Chk_dE.txt","w");</span>
<span class="cm">/**********************************/</span>
<span class="n">R</span><span class="o">=</span><span class="n">R_i</span><span class="p">;</span>
<span class="n">srand</span><span class="p">(</span><span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">R</span><span class="o"><</span> <span class="o">=</span><span class="n">R_f</span><span class="p">;</span><span class="n">j</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">T</span><span class="o">=</span><span class="n">T_i</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">T</span><span class="o"><=</span><span class="n">T_f</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">Inist</span><span class="p">();</span>
<span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=</span><span class="n">Cac_obsv</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fr</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">R</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">ft</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">T</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fx</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">X</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fc</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">C</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fm</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">M</span><span class="p">);</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">fe</span><span class="p">,</span><span class="s">"%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">E</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"-------------</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"R=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">R</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"T=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">T</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"X=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">X</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"C=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">C</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"M=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">M</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"E=%f</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">emcx</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">].</span><span class="n">E</span><span class="p">);</span>
<span class="n">T</span> <span class="o">=</span> <span class="n">T</span><span class="o">+</span><span class="n">Tstep</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">R</span><span class="o">+=</span><span class="n">R_step</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fr</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">ft</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fx</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fc</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fm</span><span class="p">);</span>
<span class="n">fclose</span><span class="p">(</span><span class="n">fe</span><span class="p">);</span>
<span class="cm">/*****************************/</span>
<span class="c1">//fclose(fchk);</span>
<span class="cm">/*****************************/</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"The End!</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Inist</span><span class="p">()</span> <span class="cm">/*Initialized lattice. All oriented to one direction*/</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span> <span class="p">{</span>
<span class="k">for</span><span class="p">(</span><span class="n">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">j</span> <span class="p">{</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="nf">Cac_obsv</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E_avg</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">E_as</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M_avg</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">M_as</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">Obsv</span> <span class="n">emcx</span><span class="p">;</span>
<span class="n">Mag</span><span class="p">();</span>
<span class="n">Energy</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="p">{</span>
<span class="n">MCP</span><span class="p">(</span><span class="n">R</span><span class="p">);</span>
<span class="cm">/********************************/</span>
<span class="c1">//printf("chk.Cac_obsv.sum_Mag=%f\n",sum_Mag);</span>
<span class="c1">//printf("chk.Cac_obsv.sum_E=%f\n",sum_E);</span>
<span class="c1">//fprintf(fchk,"%f\n",sum_E);</span>
<span class="cm">/********************************/</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">>=</span><span class="n">NGL</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">E_avg</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_E</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">E_as</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_E</span><span class="o">*</span><span class="n">sum_E</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">M_avg</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_Mag</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="n">M_as</span><span class="o">+=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">sum_Mag</span><span class="o">*</span><span class="n">sum_Mag</span><span class="o">/</span><span class="n">N</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">E</span><span class="o">=</span><span class="n">E_avg</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">M</span><span class="o">=</span><span class="n">M_avg</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">C</span><span class="o">=</span><span class="p">(</span><span class="n">E_as</span> <span class="o">-</span> <span class="n">E_avg</span><span class="o">*</span><span class="n">E_avg</span><span class="p">)</span><span class="o">/</span><span class="n">T</span><span class="o">/</span><span class="n">T</span><span class="p">;</span>
<span class="n">emcx</span><span class="p">.</span><span class="n">X</span><span class="o">=</span><span class="p">(</span><span class="n">M_as</span> <span class="o">-</span> <span class="n">M_avg</span><span class="o">*</span><span class="n">M_avg</span><span class="p">)</span><span class="o">/</span><span class="n">T</span><span class="p">;</span>
<span class="k">return</span> <span class="n">emcx</span><span class="p">;</span>
<span class="p">}</span>
<span class="cm">/*Monte Carlo process.*/</span>
<span class="kt">void</span> <span class="nf">MCP</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">agl_rdm</span><span class="p">;</span>
<span class="kt">double</span> <span class="n">sum</span><span class="p">,</span><span class="n">sum_tmp</span><span class="p">,</span><span class="n">dE</span><span class="p">;</span> <span class="cm">/*sum_tmp is used to cal the energy difference*/</span>
<span class="n">i</span><span class="o">=</span><span class="n">rand</span><span class="p">()</span><span class="o">%</span><span class="n">L</span><span class="p">;</span>
<span class="n">j</span><span class="o">=</span><span class="n">rand</span><span class="p">()</span><span class="o">%</span><span class="n">L</span><span class="p">;</span>
<span class="n">agl_rdm</span><span class="o">=</span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="n">rand</span><span class="p">()</span><span class="o">/</span><span class="n">RAND_MAX</span><span class="o">*</span><span class="mi">2</span><span class="o">*</span><span class="n">Pi</span><span class="p">;</span> <span class="cm">/*What if I just make it (double)rand()*/</span>
<span class="cm">/*Cal the energy before we add a random angle to s[i][j]*/</span>
<span class="k">if</span><span class="p">(</span><span class="n">j</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum_tmp</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum_tmp</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum_tmp</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum_tmp</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">j</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum_tmp</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum_tmp</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum_tmp</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum_tmp</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"Checkpoint 1! j is neither odd nor even! Attention!"</span><span class="p">);</span>
<span class="p">}</span>
<span class="cm">/****************************/</span>
<span class="c1">//printf("chk.MCP.sum_tmp=%f\n",sum_tmp);</span>
<span class="cm">/****************************/</span>
<span class="cm">/*Add a random angle to s[i][j]*/</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">+=</span><span class="n">agl_rdm</span><span class="p">;</span> <span class="cm">/*Exceeding 2*Pi makes not sense in cos or sin func*/</span>
<span class="cm">/*Cal the energy after we add a random to s[i][j]*/</span>
<span class="k">if</span><span class="p">(</span><span class="n">j</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">j</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum</span><span class="o">=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]);</span>
<span class="n">sum</span><span class="o">+=</span><span class="n">R</span><span class="o">*</span><span class="p">(</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][(</span><span class="n">j</span><span class="o">-</span><span class="mi">1</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">+</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">s</span><span class="p">[(</span><span class="n">i</span><span class="o">-</span><span class="mi">2</span><span class="o">+</span><span class="n">L</span><span class="p">)</span><span class="o">%</span><span class="n">L</span><span class="p">][</span><span class="n">j</span><span class="p">]));</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"Checkpoint 2! j is neither odd nor even! Attention!"</span><span class="p">);</span>
<span class="p">}</span>
<span class="cm">/********************************/</span>
<span class="c1">//printf("chk.MCP.sum=%f\n",sum);</span>
<span class="cm">/********************************/</span>
<span class="n">dE</span><span class="o">=</span><span class="n">sum</span><span class="o">-</span><span class="n">sum_tmp</span><span class="p">;</span> <span class="cm">/*Attention!*/</span>
<span class="cm">/********************************/</span>
<span class="c1">//printf("chk.MCP.dE=%f\n",dE);</span>
<span class="cm">/********************************/</span>
<span class="k">if</span><span class="p">(</span><span class="n">dE</span><span class="o"><</span> <span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">-</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">agl_rdm</span><span class="p">);</span> <span class="cm">/*Accept&Cal*/</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+=</span><span class="n">sin</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">-</span><span class="n">sin</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">agl_rdm</span><span class="p">);</span>
<span class="n">sum_Mag</span><span class="o">=</span><span class="n">sqrt</span><span class="p">(</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="n">sum_E</span><span class="o">+=</span><span class="n">dE</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span><span class="p">(((</span><span class="kt">double</span><span class="p">)</span><span class="n">rand</span><span class="p">()</span><span class="o">/</span><span class="n">RAND_MAX</span><span class="p">)</span> <span class="p">{</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+=</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">-</span><span class="n">cos</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">agl_rdm</span><span class="p">);</span> <span class="cm">/*Accept&Cal*/</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+=</span><span class="n">sin</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])</span><span class="o">-</span><span class="n">sin</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">agl_rdm</span><span class="p">);</span>
<span class="n">sum_Mag</span><span class="o">=</span><span class="n">sqrt</span><span class="p">(</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="n">sum_E</span><span class="o">+=</span><span class="n">dE</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">else</span>
<span class="p">{</span>
<span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">=</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span><span class="o">-</span><span class="n">agl_rdm</span><span class="p">;</span> <span class="cm">/*Reject the change*/</span>
<span class="p">}</span>
<span class="cm">/********************************/</span>
<span class="c1">//printf("chk.MCP.sum_M[0]=%f\n",sum_M[0]);</span>
<span class="c1">//printf("chk.MCP.sum_M[1]=%f\n",sum_M[1]);</span>
<span class="c1">//printf("chk.MCP.cos(s[i][j])-cos(s[i][j]-agl_rdm)=%f\n",cos(s[i][j])-cos(s[i][j]-agl_rdm));</span>
<span class="cm">/********************************/</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Mag</span><span class="p">()</span>
<span class="p">{</span>
<span class="c1">// int i,j;</span>
<span class="c1">// double dM_tmp[2]={0};</span>
<span class="c1">// for(i=0;i // {</span>
<span class="c1">// for(j=0;j // dM_tmp[0]+=cos(s[i][j]);</span>
<span class="c1">// dM_tmp[1]+=sin(s[i][j]);</span>
<span class="c1">// }</span>
<span class="c1">// sum_M[0]=dM_tmp[0];</span>
<span class="c1">// sum_M[1]=dM_tmp[1];</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">=</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">*</span><span class="n">L</span><span class="o">*</span><span class="n">L</span><span class="p">;</span>
<span class="n">sum_M</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">=</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="cm">/********************************/</span>
<span class="c1">//printf("chk.Mag.sum_M[0]=%f\n",sum_M[0]);</span>
<span class="c1">//printf("chk.Mag.sum_M[1]=%f\n",sum_M[1]);</span>
<span class="cm">/********************************/</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">Energy</span><span class="p">(</span><span class="kt">double</span> <span class="n">R</span><span class="p">)</span>
<span class="p">{</span>
<span class="c1">// double dE_tmp;</span>
<span class="c1">// dE_tmp=(3.0+R*6.0)*L*L/2.0;</span>
<span class="n">sum_E</span><span class="o">=</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">+</span><span class="n">R</span><span class="o">*</span><span class="mi">6</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="o">*</span><span class="n">L</span><span class="o">*</span><span class="n">L</span><span class="o">/</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></code></pre></figure>
关于巨正则系综巨配分函数收敛性等的一些讨论
2010-10-23T00:00:00+00:00
http://openmetric.org/sciencecn/grandcanonical-snsemble-discussions
<embed src="http://openmetric.org/images/posts/grandcanonical-snsemble-discussions/grandcanonical.pdf" width="100%" height="800px" />
<h2 id="总结">总结</h2>
<ol>
<li>问题</li>
</ol>
\[\Xi =\sum \left(e^{-\alpha }e^{-\beta \epsilon }\right)^N\]
<p>收敛条件 $\lvert\text{z$\phi $}\rvert<1$。重点不是要求 $\Xi$ 收敛,关键是要求热力学量收敛。(后面我们会证明对于这种经典无相互作用情况,$\Xi$ 不收敛,一定导致热力学量N,U不收敛。)</p>
<p>2.问题延伸</p>
<p>先不解决这个问题。很自然的想知道,一般情况下,</p>
\[\begin{align}
\rho &=\frac{1}{\Xi }e^{-\text{$\alpha $N}-\text{$\beta $E}_S} \\
\Xi &=\sum \sum e^{-\text{$\alpha $N}}e^{-\text{$\beta $E}_S}
\end{align}\]
<p>若 $\alpha \ll 0$ 的某些情况,$\Xi$ 发散,没关系。这其实是归一化问题,类似于平面波无法真正的归一化一样。
我们关心的是热力学量。这个没有办法一般证明。但是可以一般的看一下。$\alpha < 0$</p>
\[\rho =1/\Xi e\text{xp}(\lvert \alpha \rvert N-\text{$\beta $E$\_$}\{S\}])\]
<p>N越多,体系出现的概率越大。显然,$\bar N \to \infty$ , $\bar U$ 很有可能趋于无穷 。</p>
<p>对于无相互作用可区分的情况,可以准确证明:</p>
\[\Xi =\sum \left(e^{-\alpha }e^{-\beta \epsilon }\right)^N=\sum (\text{z$\phi $})^N\overset{-}{N}=\frac{-\partial }{\partial \alpha }\text{Ln}[\Xi ]\overset{-}{U}=\frac{-\partial }{\partial \beta }\text{Ln}[\Xi ]\]
<p>很容易证明(柯西判据),如果 $\lvert \text{z$\phi $}\rver >1$ ,i.e., $\mu > \epsilon$ ,那么 $\bar N$, $\bar U$都不收敛。</p>
<p>3.回到问题(经典可区分固体)</p>
<p>但是对于第一个问题,</p>
\[\lvert \text{z$\phi $} \rvert <1 \text{is guaranteed}.\mu =\frac{G}{N}=\frac{(U-\text{TS})}{N}< \frac{U}{N}=\epsilon => \mu <\epsilon , i.e., \lvert \text{z$\phi $} \rvert <1 .\]
<p>4.Physics?</p>
<p>前面证明某些情况下热力学量可能不收敛。那么不收敛是什么意思?
应该是体系没有平衡态!eg,如果选定合适的条件,比如源粒子与sys的结合能力很强(引力体系,熵力体系?),粒子可能源源不断的进入体系。</p>
<p>5.问题</p>
<p>a. $\mu$ 是什么意思?化学只关心两种之间的差值,他们喜欢选定某些参考值来确定 $\mu$,比如最稳定同位素为标准。但是我们物理上,一般是可以计算绝对值。</p>
<p>比如气体等,</p>
\[\mu = \left(\frac{\partial G}{\partial N}\right)_{T,p}=\left(\frac{\partial U-T\partial S+p\partial V}{\partial N}\right)_{T,p}=\left(\frac{\tilde{\partial Q}-T\partial S}{\partial N}\right)_{T,p}\]
<p>这个式子小于零?最好小于零。但是How?</p>
<p>b. 关于是否真的不收敛代表不能有平衡态,需要利用 $\delta S (\delta N, \delta F, \text{etc})$ 等来证明。</p>
关于说谎的理论
2010-09-08T00:00:00+00:00
http://openmetric.org/misc/the-theory-of-lie
<p>说谎,目的是要使得别人相信你所说为真。理想的谎言分为弱理想谎言和强理想谎言。弱理想谎言就是使得一般智力的人不能揭穿你的谎言,强理想谎言是指的理论上不能跟区分你的谎言是真是假。</p>
<p>谎言一般而言,要满足几个条件:</p>
<ol>
<li>
<p>存在单位元素:即所讲的谎言有一个的最基础的元素I,所有的其他元素A与该I相互结合所导出的结论是元素A。</p>
</li>
<li>
<p>要有封闭性:不能够由谎言中的任意元素相互作用得出谎言外的元素。</p>
</li>
<li>
<p>每个元素要存在逆元素:要求谎言内存在一个元素A’跟这个元素相互作用得出单位元素I。</p>
</li>
</ol>
<p>其中:</p>
<p>a.元素是指谎言中能够提取出来的各自相互独立的完整的不可再分的观点。</p>
<p>b.两个或多个元素相互作用是指的根据两个或者多个元素推理。分为弱推理和强推理。仅能够满足弱推理的谎言即弱理想谎言,而能够满足强推理的才是强理想谎言。介于二者之间的称为过渡谎言。相互作用通过推理实现。所以在谎言的量子场论中,推理被看做媒介子,根据推理的不同特性有不同特性(类似于媒介子质量)可以继续分类。</p>
<p>谎言中的所有的元素可以组成一个谎言群。根据谎言性质不同谎言分为三种。</p>
犹记多情
2010-08-19T00:00:00+00:00
http://openmetric.org/misc/you-ji-duo-qing
<p>晴雪前往极北之地前,来到中皇山。重新走过那段路,沧桑之感盈满心头。</p>
<p>本词所采用的曲:犹记多情-变调(试听: http://songtaste.com/song/2010755/ 下载:http://www.verycd.com/topics/2834888/ 压缩包中含有犹记多情变调)</p>
<p>犹记多情</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">[0:09-0:41]
寒月断
绮月殇
幻月蟾宫
明月润
玄月冰雨
残月霜
霜月葬天
烟月散
[0:42-1:11]
晓风晴
中皇雪
盈盈烛泪锦衫薄
月痕尽
幽都梦
依依追忆泥人恨
[1:12-1:44]
桃花雨
木屋残
一场愁梦星夜还
时光逝
故人疏
山川万里空念</code></pre></figure>
<p>P.S.</p>
<p>歌词中的[0:09-0:41]等意思是这一段词是从曲子的0:09秒开始到0:41秒结束。</p>
<p>2012-08-21 I think the following order is better.</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">幽都梦
月痕尽
依依追忆泥人恨</code></pre></figure>
古剑奇谭 晴雪心祭
2010-08-19T00:00:00+00:00
http://openmetric.org/misc/qing-xue-xin-ji
<p>15号凌晨古剑奇谭游戏通关,16号凌晨在回家的火车上,突然听到有人在唱星语心愿,很有感触,就把歌词改掉了。</p>
<p>主要想写晴雪的一些事情。</p>
<p>魂魄散去的屠苏,漫漫追寻重生之法的晴雪,结局的一幕幕呈现在眼前,心中不免有些伤痛。但是我个人觉得,其实如果故事的结局就是屠苏逝去,晴雪泪流,而把后面晴雪要去极北之地寻找重生之法的那些去掉,会更加有韵味。稍稍批判下烛龙,我嗅到了好莱坞商业电影的味道。</p>
<p>星语心愿原曲张柏芝:http://www.tudou.com/programs/view/o-KxEn7PIkI/ http://www.google.cn/music/search?q=星语心愿</p>
<p>星语心愿伴奏:http://www.tudou.com/programs/view/aOvg41U7i8Y/</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">寻遍山水千千万
灯草已尽含泪终成眠
欲寄心字彩笺
幽都已梦还
几重思量何堪
夜半独步桃花畔
苏苏谷情切切音容断
人去久不减幽怨
省却几生轮转
天意岂可违看君魂魄散
圣女身时光漫漫
路遥遥寻重聚空守凄婉
人面桃花池水秋莲
半魂何处共长天
夜阑人静星河月圆
经年相思满秋川</code></pre></figure>
<p>P.S.</p>
<p>带时间标签的歌词,并与原歌词的对照。</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">寻遍山水千千万[00:29.11]我要控制我自己
灯草已尽含泪终成眠[00:35.27]不会让谁看见我哭泣
欲寄心字彩笺[00:41.55]装作漠不关心你
幽都已梦还[00:45.62]不愿想起你
几重思量何堪[00:48.50]怪自己没有勇气
夜半独步桃花畔[00:57.96]心痛得无法呼吸
苏苏谷情切切音容断[01:03.48]找不到你留下的痕迹
人去久不减幽怨[01:09.77]眼睁睁的看着你
省却几生轮转[01:13.54]却无能为力
天意岂可违看君魂魄散[01:16.89]任你消失在世界的尽头
圣女身时光漫漫[01:28.64]找不到坚强的理由
路遥遥寻重聚空守凄婉[01:34.94]再也感觉不到你的温柔
人面桃花池水秋莲[01:41.62]告诉我星空在那头
半魂何处共长天[01:47.59]那里是否有尽头
夜半独步桃花畔[01:57.85]心痛得无法呼吸
苏苏谷请切切音容断[02:03.12]找不到昨天留下的痕迹
人去久不减幽怨[02:09.47]眼睁睁的看着你
省却几生轮转[02:13.38]却无能为力
天意岂可违看君魂魄散[02:16.71]任你消失在世界的尽头
圣女身时光漫漫[02:28.52]找不到坚强的理由
路遥遥寻重聚空守凄婉[02:34.59]再也感觉不到你的温柔
人面桃花池水秋莲[02:40.94]告诉我星空在那头
半魂何处共长天[02:47.12]那里是否有尽头
夜阑人静星河月圆[02:53.50]就向流星许个心愿
经年相思满秋川[02:59.66]让你知道我爱你</code></pre></figure>
余情幽梦
2010-06-07T00:00:00+00:00
http://openmetric.org/misc/yu-qing-you-meng
<p>一直觉得毕业没啥,一直想不明白为什么会有人哭成个泪人~昨天在车上,突然就有了感觉~好多人都会一辈子不再相见呢,流泪也很正常啦~
于是乎,我把仙二的余情幽梦拿出来,配上词,谨以此祭奠即将结束的本科生涯~</p>
<p>曲: 余情幽梦
http://www.songtaste.com/song/673933/</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">日暮残照长天
今生此去不还
关山相隔云端
情思欲绝倚阑
难执素手相叹
望君传语平安
云霞尽人亦散
离杯碎伴愁颜
依依别梦清寒
残月如素难眠
和衣沉思窗前
昔时欢歌寂然
经岁幽梦情淡
寒云人归忆难
玉影不堪相看
秋夜相悲问年</code></pre></figure>
<p>另一个版本的:</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">竹叶潇潇雨骤
浊酒难消情愁
紫衣翩翩拂袖
萱叶隔窗人瘦
几世悲欢看透
人去楼空永漏
常忆旧日情柔
卿诉衷情泪先流
渡口岸边曾游
蓬莱仙境已休
景仰蜀山难就
天道亦难求
雪夜夕瑶情动
——————
龙阳前世缠扣
葵花泣枝头</code></pre></figure>
土星环的理论解释
2010-04-01T00:00:00+00:00
http://openmetric.org/sciencecn/saturn-ring
<h2 id="讲稿">讲稿</h2>
<embed src="http://openmetric.org/images/posts/saturn-ring/NotesofATheoreticalViewOfSatrunsRing.pdf" width="100%" height="800px" />
<h2 id="term-paper">Term Paper</h2>
<embed src="http://openmetric.org/images/posts/saturn-ring/PaperATheoreticalViewOfSatrunsRing.pdf" width="100%" height="800px" />
科学家公布地磁场新数据,人类生存面临重大考验
2010-04-01T00:00:00+00:00
http://openmetric.org/sciencecn/earth-mag-gone
<embed src="http://openmetric.org/images/posts/earth-mag-gone/earth-mag-gone-april-fool.pdf" width="100%" height="800px" />
第一次拍星空
2010-02-21T00:00:00+00:00
http://openmetric.org/misc/first-star-shooting
<p>拿一小DC拍星空啦~</p>
<p>型号为Panasonic FX180 详细规格见:http://lumix.panasonic.cn/products/fx180/spec.html</p>
<p>使用的是伟峰三脚架,很破的,因为觉得相机不好没必要买好架子,所以就花大约60块买了WT330A这个架子~</p>
<p>昨天晚上天气相当不错,星空璀璨。吃完晚饭我就去架好架子,摆好相机,尝试。</p>
<p>先想拍月亮,新月啊,可是怎么拍都不行呵,大约曝光在1s左右,光圈选较大的光圈了,最后试了好多次,发现月亮要么没有细节,要么好多噪点。最后也没拍出像样的来,而且,很关键的是这个相机没长焦~</p>
<p>然后就拍拍星空啦。先是使用星空模式,试过15s,感觉不太好,30s会过曝,所以就只好换手动。一开始觉得大约曝光12s,用较大的光圈,可以的。后来还是觉得相机自带的星空模式好。拍了好多猎户座,然后拍了张天顶的照片~</p>
<p>下面是猎户座的照片~</p>
<figure>
<figcaption>
15.0 秒 (f / 2.8),ISO 100, 6 mm;闪光灯未闪;相机;DMC-FX180 (Panasonic)
</figcaption>
<p><img src="http://openmetric.org/images/posts/first-star-shooting/shootskyfx18001.jpg" alt="" /></p>
</figure>
<p>下面是天顶照片~</p>
<figure>
<figcaption>
30.0 秒 (f / 2.8),ISO 100, 6 mm;闪光灯未闪;相机;DMC-FX180 (Panasonic)
</figcaption>
<p><img src="http://openmetric.org/images/posts/first-star-shooting/shootskyfx18002.jpg" alt="" /></p>
</figure>
<p>很明显的御夫座和昴星团啊……</p>
<p>左边的双子座成单子啦,少了一个孩子的头……</p>
<p>右边的英仙座挺完整……</p>
<p>昴星团左边的金牛座少了一颗亮星……</p>
<p>左下(双子下面)还包含了猎户的两颗星星……</p>
莫失莫忘
2010-02-06T00:00:00+00:00
http://openmetric.org/misc/mo-shi-mo-wang
<p>给莫失莫忘的曲配的歌词。</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">[莫失莫忘]
桃花舞绿汀
水月遥相映
红粉佳人镜
莫失莫忘铃
晓梦轻
诉尽忠情
明月似瑶瑛
忆久人相敬
如歌比翼鸣
韶光同庆
当户三星
红烛照倩影
月华轻灵
天淡银汉漫天倾
画舸凭
鱼龙兴
蛾儿雪柳戏流萤
阑珊瑶池静
青鸟柳梢停
相知相依知天命
一江青莲并蒂迎
月华轻灵
天淡银汉漫天倾
画舸凭
鱼龙兴
蛾儿雪柳戏流萤
阑珊瑶池静
青鸟柳梢停
相知相依知天命
一江青莲并蒂迎</code></pre></figure>
<p>P.S.</p>
<p>1.莫失莫忘原曲(女声:风铃)</p>
<p>http://songtaste.com/song/496579/</p>
<p>2.原来的莫失莫忘(歌手:心然)</p>
<p>http://songtaste.com/song/185866/</p>
<p>3.心然莫失莫忘的词:</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">莫失莫忘
词:漢魂統帥
唱:心然
晚风拂帷裳 孑影无灯伴
相离莫相忘 天涯两相望
月如霜 并泪沾裳 浸湿单罗杉
铃儿轻轻荡 声声入愁肠
遥寄相思 远眺旧乡 伊人何方
静夜阑 寥落微星挂天上
不思量 自难忘 浊酒一杯慰情殇
凭栏空对愁 岁月尽成憾
寒鸦秋雁携凄凉
危坐思君为哪般
秋水望穿 临风轻叹
燕子不归 徒留情长
历遍巫山沧海 看尽洞庭云雨
枫落时 姻缘散
梦回几转泪轻淌</code></pre></figure>
<p>4.带时间标签的赠忆如</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">[ti:赠忆如]
[ar:~~~~]
[al:]
[00:00.00]赠忆如
[00:02.00]唱:~~~~
[00:03.03]桃花舞绿汀 水月遥相映
[00:14.72]红粉佳人镜 莫失莫忘铃
[00:25.54]
[00:26.72]晓梦轻 诉尽忠情 明月似瑶瑛
[00:38.77]忆久人相敬 如歌比翼鸣
[00:50.80]韶光同庆 当户三星 红烛照倩影
[01:01.52]
[01:02.85]月华轻灵 天淡银汉漫天倾
[01:14.80]画舸凭 鱼龙兴 蛾儿雪柳戏流萤
[01:26.77]阑珊瑶池静 青鸟柳梢停
[01:38.81]相知相依知天命
[01:44.83]一江青莲并蒂迎
[01:50.19]
[02:27.04]月华轻灵 天淡银汉漫天倾
[02:38.89]画舸凭 鱼龙兴 蛾儿雪柳戏流萤
[02:50.83]阑珊瑶池静 青鸟柳梢停
[03:02.76]相知相依知天命
[03:08.81]一江青莲并蒂迎
[03:16.05]</code></pre></figure>
<p>5.带时间标签的莫失莫忘(心然):</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">[ti:莫失莫忘]
[ar:心然]
[al:]
[by:白丁]
[00:00.00]莫失莫忘
[00:01.00]词:漢魂統帥
[00:02.00]唱:心然
[00:03.03]晚风拂帷裳 孑影无灯伴
[00:14.72]相离莫相忘 天涯两相望
[00:25.54]
[00:26.72]月如霜 并泪沾裳 浸湿单罗杉
[00:38.77]铃儿轻轻荡 声声入愁肠
[00:50.80]遥寄相思 远眺旧乡 伊人何方
[01:01.52]
[01:02.85]静夜阑 寥落微星挂天上
[01:14.80]不思量 自难忘 浊酒一杯慰情殇
[01:26.77]凭栏空对愁 岁月尽成憾
[01:38.81]寒鸦秋雁携凄凉
[01:44.83]危坐思君为哪般
[01:50.19]
[02:27.04]秋水望穿 临风轻叹
[02:38.89]燕子不归 徒留情长
[02:50.83]历遍巫山沧海 看尽洞庭云雨
[03:02.76]枫落时 姻缘散
[03:08.81]梦回几转泪轻淌
[03:16.05]</code></pre></figure>
今生醉 | 篡改朱砂泪/尘世缘
2010-01-29T00:00:00+00:00
http://openmetric.org/misc/jin-sheng-zui
<blockquote>
<p>2012-08-21 补记</p>
</blockquote>
<blockquote>
<p>想那日烟花残照,菱花暮影容颜娇;值今夜一川烟草,天悬星河人已悄;青鸾一朝雾影落,哪堪望舒纤尘着;女萝已无离香草,煮酒寻来叶难烧。—— 以段慰藉两年前的那个傻瓜</p>
</blockquote>
<blockquote>
<p>并:http://v.youku.com/v_show/id_XMTcwNjEzMzQ4.html</p>
</blockquote>
<p>昨夜无眠,“篡改”朱砂泪的歌词,重写为今生醉,改为写天河和菱纱。下面为初稿。整首歌未换韵,只在最后两处处破了韵。</p>
<p>伴奏(借用了我的眼泪不为你说谎,只是做了vocal decrease,所以带着一些原声。):</p>
<p><del>唔,谁帮我唱出来呢?要女生吖</del>(<a href="http://v.youku.com/v_show/id_XMTcwNjEzMzQ4.html">已有成品</a>)</p>
<p>此未完成的伴奏试听及下载:</p>
<p>1.酷狗试听兼下载:http://disk.kugou.com/downSongs/52A77A6CE210BF84/mini.html</p>
<p>2.uushare下载:http://www.uushare.com/user/emptymalei/file/2641872</p>
<figure class="highlight"><pre><code class="language-text" data-lang="text">今生醉
曾忆青鸾初遇天高云遥
梦里菱花飘
引剑女萝共患难种情苗
恨不赠绞绡
试炼琼华情寄即墨良宵
怎奈碎琼瑶
敢问神龙闯鬼界生叹调
难寻三世桥
流水已东
煮酒叶难烧
茜纱窗下天河正高
纤枝菱叶殷红刹那残落
玉影穷碧霄
自古多情梦寂寥
仗剑江湖泪难消
疏影暗香月尚好
依依别梦夜暮薄
月满残窗天不老
风雨无情恼
想那日烟花残照
菱花暮影容颜娇
值今夜一川烟草
天悬星河人已悄
哪堪望舒纤尘着
彩蝶归无路
何处意逍遥</code></pre></figure>
<figure class="highlight"><pre><code class="language-text" data-lang="text">原歌朱砂泪:
试听兼下载:http://disk.kugou.com/downSongs/B997D76AF7E0521A/mini.html
歌词:
朱砂泪
作词:夏一可&冬亦凌
作曲:涂惠源
引歌长啸浮云剑试天下 白衣染霜华
当年醉花荫下红颜刹那 菱花泪朱砂
犹记歌里繁华梦里烟花 凭谁错牵挂
黄鹤楼空萧条羁旅天涯 青丝成白发
流年偷换 凭此情相记
驿边桥头低眉耳语
碧落黄泉红尘落尽难寻
回首百年去
镜湖翠微低云垂
佳人帐前暗描眉
谁在问君胡不归
此情不过烟花碎
爱别离酒浇千杯
浅斟朱颜睡
轻寒暮雪何相随
此去经年人独悲
只道此生应不悔
姗姗雁字去又回
荼蘼花开无由醉
只是欠了谁
一滴朱砂泪</code></pre></figure>
拆了 tasco 的双筒
2010-01-15T00:00:00+00:00
http://openmetric.org/misc/tasco-binoculars
<p>大家都说不要拆双筒,可是这个双筒已经很脏了……</p>
<p>这次手术由李白执刀,借用了高能实验室。手术的过程没有很详细的记录,但是有几张被分尸的照片~ 深度解剖因为太残忍,没有拍照了~(其实是忘记拍照了~)</p>
<figure>
<figcaption>
整体解剖
</figcaption>
<p><img src="http://openmetric.org/images/posts/tasco-binoculars/tasco1.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
镜片
</figcaption>
<p><img src="http://openmetric.org/images/posts/tasco-binoculars/tasco2.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
主体
</figcaption>
<p><img src="http://openmetric.org/images/posts/tasco-binoculars/tasco3.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
镜片
</figcaption>
<p><img src="http://openmetric.org/images/posts/tasco-binoculars/tasco4.jpg" alt="" /></p>
</figure>
一弯新日挂西天 — 记2010年1月15日日环食
2010-01-15T00:00:00+00:00
http://openmetric.org/misc/solar-eclipse
<figure>
<figcaption>
日环食开始
</figcaption>
<p><img src="http://openmetric.org/images/posts/solar-eclipse/solareclipse20100.jpg" alt="" /></p>
</figure>
<p>今天的日食还凑合,至少看到环了。</p>
<p>这次准备工作实在是长,主要是第一次组织豆瓣同城活动,尽量把可能的情况都想到,可是最后只有两个是通过豆瓣来的。</p>
<p>去之前探过路,跟双达光电要的日食眼镜,去五交化买的7号8号滤光片,本想买片巴德膜做到转接环上当滤镜用,没买到。</p>
<p>我们观测到的是15:33开始,刚开始某人一直说他看不出来,但是我们都看出来了,也不管了,就记下了15:33这个开始时间,比预报稍晚。月亮从右下角开始遮挡</p>
<p>拍了几张,除了一张用8号滤光片的还成,其他的都是一塌糊涂。</p>
<p>感谢 @sunwenhao90 的给予的帮助,他帮助我们找到了最佳观测点,那天他一直跟着我跑了很多路。</p>
<p>感谢双达光电给予我们的赞助,虽然后来我们发现日食眼镜远没有8号滤光片好用,从路上买的膜也不好用,主要是不均匀。</p>
<p>感谢各地给我汇报的同志们。</p>
<p>还要跟~well说声对不起了,我不善于跟别人交往,跟陌生人说话很难,我尽量跟你闲聊几句,但是还是让你落单,实在不好意思。</p>
<p>最后贴几张我们观察的山头的照片:</p>
<figure>
<p><img src="http://openmetric.org/images/posts/solar-eclipse/solareclipse20101.jpg" alt="" /></p>
<figcaption>
第一批到的一群帅哥美女,酷似黑客帝国中某些场景。
</figcaption>
</figure>
<figure>
<figcaption>
后来又有几批人到了。
</figcaption>
<p><img src="http://openmetric.org/images/posts/solar-eclipse/solareclipse20102.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
天边有彩云。
</figcaption>
<p><img src="http://openmetric.org/images/posts/solar-eclipse/solareclipse20103.jpg" alt="" /></p>
</figure>
<figure>
<figcaption>
“月牙”将沉。
</figcaption>
<p><img src="http://openmetric.org/images/posts/solar-eclipse/solareclipse20104.jpg" alt="" /></p>
</figure>
我是不是真的记得
2008-09-16T00:00:00+00:00
http://openmetric.org/misc/do-i-really-remember
<p>我总感觉我记得那些事,那些永远都不会有人记起的事情。</p>
<p>最近总是有些奇怪的梦,梦中总会有一些人遭遇不测。我不知道这到底意味着什么,我也明白也许什么都不会发生,但心情还是有些沉重。</p>
<p>我会想为什么他们,为什么是这些我生命中最重要的人呢?我到底在担心些什么呢?我怕会失去什么吗?</p>
<p>我总感觉自己可以独自过完剩下的日子,我想如果没有人要跟我讲话,我就会沉默至死。我感到讲话太累了,人与人之间似乎从来不能真正的沟通。人与人之间的事情有时候太复杂,我真是处理不了。人与人之间的感情也很难处理。我快累死了。</p>
<p>我倒真希望自己的生活是独角戏,我喜欢自言自语,有些话只能对自己说,有些事情真的只能自己承担。虽然我也偶尔欺骗自己说,这些事情真的会被时间冲淡,可我何时真正相信过呢?</p>
<p>我把自己身边的朋友都踢掉了,或许这太残忍了。是啊,我也觉得自己太狠心了。但我记得我以前经常说不要跟我走得太近。这一天真的来了。我也没有料到是这个时候啊。</p>
<p>我不想再跟谁讲我自己了,永远,至少我希望是永远。</p>
<p>都这么多年了,我从来没有奢望过自己能够幸存下去,或者我该说是我们这些人吧。</p>
<p>我欠的债到底何时才能还清啊。</p>
<p>扁舟东海逝,江海度余生。</p>
<blockquote>
<p>2016-05-08 补记:当时的心理状态实在是低落,想法真是奇特。或许是因为当时对很多事情都看不到希望?然而最根本的是那时候不够成熟,不能正确处理很多事情。</p>
</blockquote>
落叶
2008-05-02T00:00:00+00:00
http://openmetric.org/misc/fallen-leaves
<p>这是一场预谋。</p>
<p>我不知道他是谁,但我们上了一条船。</p>
<p>这绝对是一条船,一条快艇。否则我怎么会看到星星呢?天上有三颗星,一颗在东边,一颗在西边,还有一颗在北边。其实我也不知道哪是东西、哪是南北,我只是用自己的方式来理解。我感到一片迷茫。如此充实的大海仿佛只有一片空虚,这是一种让人无法忍受的伟大。空虚是伟大的,因为我们无法理解空虚之中到底是什么。我们看到的知识最充实最伟大的心灵中的虚空。这颗心灵因为大而显得博大,因博大而显得空虚。但只有我们这些旁观者才明白。</p>
<p>空虚并非一切,因为还有一条船,两个人。我们没有说过一句话。</p>
<p>我感到他在笑,在嘲笑。好像在他的内心深处无论什么都是好笑的。他可以在心底蔑视一切。他对这种际遇感到好笑。他觉得感应到自己的伟大是最伟大的地方。</p>
<p>我感觉得到这一切。</p>
<p>我不是上帝,但我无法知道他是不是。船舷在颤抖,我知道这绝不是畏惧。他希望摆脱我们,他希望摆脱我们,它希望粉身碎骨。承载的这两个生命太轻了,这根本无法满足它的自尊。然而,它的不幸是:海上风平浪静。</p>
<p>船在向某个方向飘动。我们俩谁也没有把舵。我知道在海平面上的任何方向都是错误的。他还是在笑,这让我无法忍受。现在我可以判断他应该就是上帝,因为他把对一切包括自己的冷漠放在心灵的最高处,并且能用这种笑来掩饰内心一切的善良与罪恶。</p>
<p>船会被毁灭的,我也会消失,唯有上帝不会。我感到愤怒不公,北边的那颗星似乎跑到了南边。我抓起了桨,把他打下了船。之后传来的是一阵轻微的呼吸声,还有那静静的笑声。</p>
<p>天上飘来了三片树叶,一片落在了我手中,另两片落在了海中。</p>
诗歌三首
2007-08-27T00:00:00+00:00
http://openmetric.org/misc/three-poems
<p>高中一节自习课上突发感想,写了三首。</p>
<h2 id="流星">流星</h2>
<figure class="highlight"><pre><code class="language-text" data-lang="text">在一个寂静的夜晚
流星把夜空点缀
星
跳跃着
欢呼着
它们欣赏那颗流星
在生命的最后时刻
擦亮最后一根火柴
把一切
——包括自己——
全都点燃了
结束了
因为那毕竟是一颗流星</code></pre></figure>
<h2 id="让黑夜把我吞噬">让黑夜把我吞噬</h2>
<figure class="highlight"><pre><code class="language-text" data-lang="text">那高傲的对着大地的
星星灯火
是一个永恒的谜语
抛弃我
让孤独把握吞噬
不要开口
不要打扰这片喧嚣
我是孤独的月
漫长的孤独只为了那一瞬
不要哭泣
不要扰乱这片寂静
我要沉默
我要在沉默中灭亡
谁都不要告诉我
那迷底在那里</code></pre></figure>
<figure class="highlight"><pre><code class="language-text" data-lang="text">这个世界没有门
我过去没有找到过门
每一扇能敞开的
都是窗
我昂首站在窗前
外面是美丽的世界
有孤帆的剪影
有落日的余辉
然而窗子毕竟只是窗子
我不能离开这死屋
我的双脚
不能离开地面
沉重的房顶
压在我搏动的心上
我不能离开
因为没有门
我找不到门
将来也找不到
没有门的世界
我哪儿都去不了
因为我只是一棵树</code></pre></figure>
遗忘的未来
2007-08-27T00:00:00+00:00
http://openmetric.org/misc/the-future-left-behind
<p>On 2012-09-19, I revised this post.</p>
<p>我知道未来有太多变数,但是无论如何都不要放弃。你过去的梦想永远都不能被抛弃。</p>
<p>你也许会嘲笑自己。你也许会感到荒谬,感到幼稚。可是有那么多的梦想都是起源于荒谬,在嘲笑中成为现实。</p>
<p>想到这是过去并未预料到的今天,也许你已是生活幸福。这美好的时光把梦都吹淡了,人都可能会被手边的幸福所迷惑,你从未意识到有多少人在诱惑中度过了一生,但无论怎样,这一切都不会重来。</p>
<p>你也许对自己的过去会有或甜蜜或悲苦的回忆,这些回忆大多真的只被当作回忆了。你也许不再痛苦的回忆起那中学时代纯真的梦想,回忆起那忙碌的生活,回忆起为了梦想奔波的日子。时间一砖一瓦地为你砌好坟墓,你会想到你一直都在提醒自己不要害怕,伴随着年龄的增长,却产生了对死亡的恐惧。拥有越多越害怕失去。你也许不会记起童年无忧的生活,但这些一直都被你藏在心底。你也许企图找回那时的日记,但又突然想到在某个清冷的早晨,你将它们全都丢进了垃圾桶。</p>
<p>这些日子就这样过去了,其中的一些细节你永远都不会记起,它们包括你最喜欢的那句话、那篇文章和你曾经有过的疯狂,这些都随着那段岁月一起被丢掉了。从梦想到坟墓,该忘记的忘记了,不该忘记的也忘记了,你也许不再感到痛苦,应为你对这一切已经麻木了。</p>
<p>假如一个人的过去能够同他的现在一起存活,那么那个过去的那位会泪流满面。遗忘过去并不是错,可是你过去的梦想,那时的你眼中的未来,也被你无情的落在了过去。那个未来也被遗忘了。</p>
<p>Former post:</p>
<p>我知道未来有太多变数,但是无论如何都不要放弃。你过去的梦想永远都不能被抛弃。你也许会笑,嘲笑。但你嘲笑的是你自己。你会感到荒谬,感到幼稚,但每个人都一样,每个人对自己的过去会有或甜蜜或悲苦的回忆,这些回忆大多真的只被当作回忆了。你也许不再痛苦的回忆起那中学时代纯真的梦想,回忆起那忙碌的生活,回忆起为了梦想奔波的日子。想到这是过去并未预料到的今天,也许你已是生活幸福。这美好的时光把梦都吹淡了,人都可能会被这些所迷惑,你从未想过有多少人在诱惑中度过了一生,但无论怎样,这一切都不会重来。时间一砖一瓦地为你砌好坟墓,你会想到你一直都在提醒自己不要害怕,伴随着年龄的增长,却产生了对死亡的恐惧。拥有越多越害怕失去。你也许不会记起童年无忧的生活,但这些一直都被你藏在心底。你也许企图找回那时的日记,但又突然想到在某个清冷的早晨,你将它们全都丢进了垃圾桶。这些日子就这样过去了,其中的一些细节你永远都不会记起,它们包括你最喜欢的那句话、那篇文章和你曾经有过的疯狂,这些都随着那段岁月一起被丢掉了。从梦想到坟墓,该忘记的忘记了,不该忘记的也忘记了,你也许不再感到痛苦,应为你对这一切已经麻木了。</p>
<p>假如一个人的过去能够同他的现在一起存活,那么那个过去的你会泪流满面。遗忘过去并不是错,可是你过去的梦想,那时的你眼中的未来,也被你无情的落在了过去。那个未来也被遗忘了。</p>