Latex参考文献引用设置及补充材料公式编号修改
在科研写作中肯定要用到Latex的,正好最近遇到文献引用的问题,就想把自己使用的文献引用方式总结一些,并且探索了一下将自己想解释的内容直接放到参考文献中并引用,这种引用情况在阅读文献中经常看到,比如作者把某些内容放到了补充材料中,那么有时候在参考文献中就会看到写一段话,然后这段话解释了要去补充材料中哪里去寻找。{:.success} 文献引用我通常使用的文献引用方式,是将参考文献单独写在一个文件中(file.bib),里面的每条参考文献都会有唯一的引用号,这个引用号可以自行设定,正文中想要引用某一篇文献的时候,只需要\cite{文献号}即可,个人觉得这个方式很简单,而且file.bib中的内容可以直接从网站上面导出,下面以PHYSICAL REVIEW B为例,展示如何导出latex可用的文献引用。如下图所示,找到对应文献的导出连接,这里默认导出的是latex参考引用,点进去后也可以选择EndNote的格式。 {:width=”330px”,:height=”495px”}{:width=”330px”,:height=”495px”} 以这种方式组织的bib文件,在进行参考文献索引时每个文献的标示号就是@article后的第一个参数,如图中所示这篇文章的标识号为PhysRevB.102.020501,所以在正文中想要引用这篇文献只需\cite{PhysRevB.102.020501}即可,但这里有个前提条件,想要使用bib文件来作为正文的引用,需要先在正文中说明,即在最后加入\bibliography{ref},这里的ref就是你收集上面导出的参考文献信息的文件名。下面展示一个很简单的示例。1234567891011121314\documentclass[reprint,amsmath,amssymb,aps]{revtex4-2}%========================package=====================\usepackage{graphicx}% Include figure files\usepackage{dcolumn}% Align table columns on decimal point\usepackage{bm}% bold...
Kane Mele model 的完整推导
之前在实空间在未考虑Rashba自旋轨道耦合的情况下计算了Kane-Mele的边界态,在这里详细的推导一下它动量空间和实空间之间是怎么变换的,由于它是在六角点阵上,所以和四方点阵相比就有一定的复杂性,在这里一边学习如何在六角点阵上进行正倒空间的变换,同时考虑Rashba自旋轨道耦合,完全重复一下文章结果。{:.success} 基本定义{:width=”400px”,:height=”495px”} lattice vectors:$d_1=a(0,-1),d_2=a(-\sqrt{3}/2,1/2),d_3=a(\sqrt{3}/2,1)$,lattice平移矢量为$a_1=a(-\sqrt{3}/2,3/2),a_2=a(\sqrt{3}/2,3/2)$ ,平移矢量的长度为$\sqrt{3}a$,以这个长度为最小的单位。 Kane Mele模型的哈密顿量为 H=t \sum_{\langle i j\rangle} c_{i}^{\dagger} c_{j}+i \lambda_{S O} \sum_{\langle(i j)\rangle} v_{i j} c_{i}^{\dagger} s_{2} c_{j}+i \lambda_{R} \sum_{\langle i j\rangle} c_{i}^{\dagger}\left(\mathbf{s} \times \mathbf{d}\_{i j}\right)\_{z} c_{j}+\lambda_{v} \sum_{i} \epsilon_{i} c_{i}^{\dagger} c_{i}这里的每一个$c_i=(c_{i\uparrow},c_{i\downarrow})$都是二分量的形式,$v_{ij}=\frac{2}{\sqrt{3}}(\mathbf{d}_1\times\mathbf{d}_2)_z$,这一项中的$\mathbf{d}_i$代表的连接次近邻的矢量,不同的位置上会有符号的改变,充当的角色就是Haldane model中的位相。在这里也已经讨论过这一项的符号问题,可进行参考。 $\lambda_v\sum_i\epsilon_{i}c_i^\dagger c_i$...
Pauli矩阵及对称操作算符
在看文献的过程中通常都会遇到哈密顿量由Pauli矩阵来写出,而哈密顿量的对称操作同样可以通过Pauli矩阵来写出,这样可以直观的看出哈密顿量的对称性到底是什么样的,同时还可以根据对称性,利用Pauli矩阵之间的关系,搞清楚那些项是可以存在的,哪些项是不被对称性所允许的。{:.success} 基本关系首先将Pauli矩阵的基本关系罗列一下 \sigma_{1}^{2}=\sigma_{2}^{2}=\sigma_{3}^{2}=-i \sigma_{1} \sigma_{2} \sigma_{3}=\left(\begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array}\right)=I$\det(\sigma_i)=0,tr(\sigma_i)=0$,每个Pauli矩阵的本征值都是$\pm1$,对应的本征矢量分别为 \begin{array}{ll} \psi_{x+}=\frac{1}{\sqrt{2}}\left(\begin{array}{l} 1 \\ 1 \end{array}\right), & \psi_{x-}=\frac{1}{\sqrt{2}}\left(\begin{array}{c} 1 \\ -1 \end{array}\right) \\ \psi_{y+1}=\frac{1}{\sqrt{2}}\left(\begin{array}{c} 1 \\ i \end{array}\right), & \psi_{y-}=\frac{1}{\sqrt{2}}\left(\begin{array}{c} 1 \\ -i \end{array}\right) \\ \psi_{z+}=\left(\begin{array}{c} 1 \\ 0 \end{array}\right), & \psi_{z-}=\left(\begin{array}{c} 0...
Julia调用Python画图
julia在计算速度方面要比python快很多,但是在画图方面由于是诞生不久,所以可用的库函数还是比较少,但是可以通过调用python的库函数进行绘图,取长补短。{:.success} 安装流程 安装julia 这一步请自行解决,Windows就是点点鼠标,确定自己软件的安装目。Linux就更方便了 安装anaconda anaconda的安装也自行百度解决,安装它的目的是为了使用jupyter来使用julia和python,这样极其方便(当然了你也可以不赞同,用你喜欢的方式) 安装好anaconda后会连同python一起安装,这是绑定的没所以不用再去考虑单独安装python,以我的安装为例,你可以在目录下看到python记住这个python的路径,比如我的D:\\anaconda3\\python.exe,下面要设置julia的环境变量,使它能正确的找到你的python在哪里,从而可以正确的调用python来作图12ENV["PYTHON"] = "D:\\anaconda3\\python.exe"# 这里记得要用双斜杠进行转义操作,不然会提示出错设置好之后就可以进行PyPlot的安装了,至于julia的包如何安装,这一点百度即可,这里不进行赘述。但是需要提醒一些问题,这也是我在安装时候所遇到的。如果安装的时候出现错误,那么首先要保证你已经设置好了上面的python环境,其次的画你要保证你使用anaconda安装了python的作图包Matplotlib。anaconda中给python安装包的方式如下,首先在系统中找到你anaconda的命令行,然后进入命令行执行pip install package-name,这样你就可以成功的为anaconda中的python安装外部库了。在确定了python的绘图库以及julia的环境变量中python的位置也设置成功的画,可以进行PyPlot的安装,在Julia中执行pkg.add(“PyPlot”),在使用Pkg的时候,记得先导入(import...
Hamiltonian构建时的基矢选择
看文献的时候,经常会遇到哈密顿量通常使用Pauli矩阵写出来,然后告诉你基矢的形式,但是每个人的习惯不同就会使的同一个哈密顿量可以有不同形式的写法,恰好这个问题也困扰我很久,所以正好借此将这个基矢的形式问题搞明白。{:.success} 普通形式\hat{H}=\sum_{\mathbf{k}}\Psi^\dagger_{\mathbf{k}}H({\mathbf{k}})\Psi_{\mathbf{k}}基矢选择为$\Psi_{\mathbf{k}}=\left(c_{a, \mathbf{k} \uparrow}, c_{b, \mathbf{k} \uparrow}, c_{a, \mathbf{k} \downarrow}, c_{b, \mathbf{k} \downarrow}, c_{a,-\mathbf{k} \uparrow}^{\dagger}, c_{b,-\mathbf{k} \uparrow}^{\dagger}, c_{a,-\mathbf{k} \downarrow}^{\dagger}, c_{b,-\mathbf{k} \downarrow}^{\dagger}\right)^{T}$ $H(\mathbf{k})= M(\mathbf{k}) \sigma_{z} \tau_{z}+A_{x} \sin k_{x} \sigma_{x} s_{z}+A_{y} \sin k_{y} \sigma_{y} \tau_{z}+\Delta(\mathbf{k}) s_{y} \tau_{y}-\mu \tau_{z}$ 这里$\sigma,s,\tau$代表的是不同自由度的Pauli矩阵(轨道(a,b) 自旋($\uparrow,\downarrow$) 粒子空穴),它们之间是直积的形式(学物理为了偷懒,一般都直接省略直积符号,所以不熟悉的话就会认为是矩阵相乘了,这一点一定要搞清楚) 这里做直积展开也是有要求的,并不是按照任意的自由度顺序进行的,而是和基矢的表达息息相关,所以这也就是这篇博客的主要目的,完全搞清楚到底基矢选择和Hamiltonian构建如何一一对应 从上面的基矢中可以得到这样的一个信息:轨道(a,b)...
波函数profile与局域电子态密度(LDOS)之间的关系
有时候在文章中经常看到一些结果,会计算wave function profile,其实对应的也可以计算局域电子态密度。{:.success} 局域电子态密度关于局域电子态密度在可以自行去查看其含义和计算方法,这里的计算公式来自这里,文章中有具体的计算公式,但是其中牵扯到了BdG方程,这个不是我项讨论的东西,暂时先略过,想看BdG可以参考 Bogoliubovde Gennes Method and Its...