Shellsort

十二月 6, 2014

Shell是人名,不是bash这种shell。

事先确定一个单调递减且以1为终点的步长序列,以每个步长做一次插入排序。

计算量小于n^2,大概为n^{4/3}n^{6/5},与步长序列有关。

至今仍不知道最优步长选择是什么样的。

水塘抽样 (reservoir sampling)

十一月 21, 2014

题目:从n个物品中等概率取出k个。

最直接的想法:先把n个物品乱序,然后取出前k个。缺点是需要n个随机数,且需要排序,太复杂。实际上完全不需要这么复杂。

进一步需求:在不知道n的时候怎么办(比如数据来自一个数据流)?

答案:

设想数据不断传来。当数据个数不超过k时,当然应该直接把所有数据都选中。

第k+1个数据传来时,我们需要做个操作,使得这个新数据以及所有已有的数据被选中的几率为k/(k+1);换句话说,已有的数据有1/(k+1)的几率被踢掉。具体做法是,只需要生成1到k+1之间的整型随机数,如果这个随机数不超过k,就把相应位置的数据替换成新数据,否则不操作。

进一步,假设当收到第n个数后我们的操作满足题目的要求,即每个数被选中的几率为k/n,问第n+1个数到来时应该怎么操作。同样,生成1到n+1之间的随机整数,如果这个整数不超过k,则把相应位置的数据替换成新数据,否则不操作。新数据被选中的几率是k/(n+1),而旧数据不被替换的几率是n/(n+1),考虑到旧数据已被选中的几率本身是k/n,于是旧数据继续呆在那里的几率是k/(n+1)。正确。

所以,不需要知道总共有多少数据,只需要知道当前收到了多少数据就可以了。

一维格子,间隔为等比级数,且比例分级

一月 6, 2014

设区间为(x_1, x_2),总格点数为N,比例等级数为m,每级格点数为nN = m\times n。  假定比例的比例已知,为\xi。问题是需要找个算法来确定第一个格子的宽度\Delta x_0和每级内格子宽度之间的比例\eta

我们有 \displaystyle \Delta x_0 \frac{\xi^m-1} {\xi-1} \frac{\eta^n-1} {\eta-1} = x_2 - x_1.

恒星照耀下黑体墙温度的简单计算

一月 6, 2014

\displaystyle T = \left( \frac{L}{ 4\pi r^2 \sigma} \right)^{1/4} = (393~\text{K}) \left(\frac{L} {L_\odot} \right)^{1/4} \left(\frac{r} {\text{AU}} \right)^{-1/2}.

宇宙线主导区域的化学

八月 25, 2011

http://arxiv.org/pdf/1102.2996v1

并和或星暴星系中宇宙线强度可以比银河系的高万倍。

以前的一些计算是针对固定温度的。

需要自洽地考虑到热和化学过程。

UCL_PDR code,密度是常数。跑1e8年,达到稳恒态。

实际上1e6年就差不多达到了稳恒态。

把原子C转变成CO的时标随着宇宙射线强度的增加而减小,但中性物质之间的反应限制了反应速度。

一维半无限平板,温度是深度和时间的函数。深度达到Av=20.

各种分子冷却机制。高消光的时候这么做会更精确。

逃逸概率描述。

使用LAMDA分子数据库。

还有OI亚稳能级冷却,以及O与H+和E-碰撞激发机制。

H2自屏蔽;Lee et al. 1996.

131 species, 1834 reactions.

除H2的形成之外无任何尘埃过程。

适用于温度为几千度的环境。但上万度的就不适合了。

于是只用于宇宙线电离率小于1e-12/s的环境。

不考虑二次电离的物质。

金属丰度0.1-4倍于太阳丰度。其它一些参数假定正比于金属丰度。

外部辐射场1000Habing。

OH+, CH+, H2O+, H3O+; AGN

Orion-KL and W49N

H3+,O2丰度与宇宙线强度的关系。

厘米尺度尘埃的低速碰撞

七月 31, 2011

http://adsabs.harvard.edu/cgi-bin/bib_query?arXiv:1102.4441

老实说,凭直觉很难想像那些岩石状的小行星是通过碰撞逐渐长大的。行星子是由小尘埃汇聚而成的吗?即便两个尘埃碰撞后其中一个获得了质量,获得的这部分质量是不是紧紧附着的?会不是下次轻轻一碰就被碰掉?

有没有可能在超新星爆发的时候形成行星子呢?

一个样品4.1g,SiO2,压实,体积填充因子约0.5。

快速盘吸积和原恒星演化的初条件

七月 17, 2011

http://arxiv.org/abs/1106.3343

小质量原恒星的大部分物质可能是通过一阵一阵的短期快速盘吸积得来的,但直到不久前只假定了恒定或慢变的吸积。

在低温吸积极限,原恒星可能比以前认为的小很多。这会让它们显得小。但本文作者认为快速盘吸积不大可能是冷的。原因有二:观测表明快盘吸积的原恒星半径大;理论表明高吸积率的原恒星盘热且厚。热盘能加热中间的恒星。

原恒星的初始半径可能会有较大变化,这会影响年龄的确定。

吸积 -> 收缩 【需要知道收缩开始时的半径】

很久以前的研究表明对太阳来说初始半径不过主序半径的几倍而已。

这半径对吸积阶段获得的热能敏感。

流体动力学模拟通常假定简单的能量方程。因此多数计算假定了某种初始质量和半径,以及内流率,以分辨出吸积流和热输运。

最自洽的处理假定了球对称内流。但很可能原恒星的大部分质量来自盘吸积。可是盘的结构依赖于粘滞输运的细节。

为了绕过这个难题,把盘吸积热能当成自由参数。与球对称吸积一致,基本上是由于D聚变的开始。

这些研究假定了慢变的吸积率。但实际上未必如此。

快盘吸积可否在冷极限处理?恐怕不行。

快盘吸积能导致原恒星的膨胀而非收缩?

恒星磁球将盘截断?但没观测到吸积激波辐射和磁球内流的迹象。主要的发射线只是外流(蓝移吸收)。

吸积光度L_{\rm acc} = \frac{GM_\ast\dot{M}}{2R_\ast}

在快速冷吸积阶段,吸积光度比中心星体的光度大几个量级。要让冷吸积成立,则不能有太多的吸积能量进入恒星。

快速吸积的物质掉进恒星会加热恒星,这些物质挡光也会加热恒星,这些物质的辐射也会加热恒星。

在这个半径内盘变得热,因而厚:

R_T\sim13\left(\frac{M}{0.3M_\odot}\right)^{0.33}\left(\frac{\dot{M}}{10^{-5}M_\odot\ yr^{-1}}\right)^{0.42}\left(\frac{\alpha}{0.1}\right)^{-0.25}

CO的解吸附

七月 13, 2011

1994A%26A…287..633G

可能的机制:光,宇宙线,反应热,尘埃碰撞,光诱导尘埃爆炸

本文:振动能量对解吸附的贡献;CO分子吸附在硅上。

振动能可能来自:吸收红外光,可见光或紫外光的激发,放热反应

方法:经典轨迹技术;尘埃被近似为一个等效谐振子链;推广的Langevin方法。

三个势能:伸缩能,短程物理吸附势,以及整个尘埃的振动能

只考虑垂直于尘埃表面方向的运动

势能函数取为Morse振子形式。

物理吸附势能假定为0.2eV

解哈密顿方程

加耗散

用不同的初态跑多遍

振动能不高的时候,解吸附率很小

单转折点轨迹

尘埃化学和气相化学对CH3OCHO及其异构体的贡献

七月 13, 2011

http://adsabs.harvard.edu/abs/2011ApJ…728…71L

最可行的方案:加热阶段的尘埃基团反应;但定性或定量都还不够。

本工作增加了两个新的气相反应。

还探究了尘埃上甲醇光解分支比有何影响。

发现增加的两个气相反应不改变CH3OCHO及其异构体的相对丰度,但光解分支比的改变和加热阶段时标的调整可以解释Sgr B2(N)中观测到的比值。

年轻星体中的冰化学:金属丰度的角色

七月 13, 2011

http://adsabs.harvard.edu/abs/2011MNRAS.411L..36O

不同金属丰度环境(银河,Z(LMC)=0.5Z(Sun),Z(SMC)=0.2Z(Sun))下大质量YSO的包层中的三种主要冰成份(水,CO,CO2)。

用的是Spitzer-IRS and VLT/ISAAC。

水和CO2在所有麦哲伦目标中探测到。CO在SMC中没有探测到。

相对银河的高光度YSO,LMC中的CO和CO2丰度都增强了。

鉴于两者同时增强,这不像是由于以前说的CO2的产出在高温下较多导致的。

作者认为其实是LMC YSO中水的柱密度相对降低了;这是强UV辐射场和低尘气比的后果。水的雪线往里退缩了。

SMC中环境更恶劣,CO2的柱密度有所降低。

SMC中CO的低密度和高尘埃温度阻止了CO的凝聚。

LMC: CO2/H2O~0.32

Galaxy: CO2/H2O~0.2

SMC: smaller

银河系中探测CO2需要的Av至少是4。

相对水,CO冰对遮蔽更敏感。探测CO冰需要的Av最少是6。对于相同的消光,即相同的尘埃量,低金属丰度要求较高的密度,而较高的密度会让凝聚度提高。