Origin Plot绘图方法整理
这篇博客用来整理利用Origin会图的一些案例,当然了,基本的绘图是不会取整理的,只会整理一些技巧性的东西.{:.info} 线条设置颜色变化 公众号相关内容均会在公众号进行同步,若对该Blog感兴趣,欢迎关注微信公众号。{:.info} Email yxliphy@gmail.com
群论学习笔记-Part1
学习群论有一段时间了, 这里想结合一些工具, 并通过一些书籍阅读来将自己所学到的内容整理一下, 同时加深一下自己对这些知识内容的理解.{:.info} 基本概念共轭一个元素$a,b,c$是群$\mathcal{G}$的群元$(a,b,c)\in\mathcal{G}$,加入下列关系成立 a=c\circ b\circ c^{-1}\label{eq1}那么就说群元$a$与$b$之间是共轭的.上式中的$\quad\circ\quad$代表的是群元的操作. 类利用(\ref{eq1})的关系,将所有与群元$b$共轭的群元划分成一组,那么这一组叫做一个类. \mathcal{C}_{a}=\left\{a_{i} \mid a, b \in \mathcal{G} \wedge a_{i}=b \circ a \circ b^{-1} \wedge a \text { fixed }\right\}陪集假设$\mathcal{U}$是群$\mathcal{G}$的子群,$a$是$\mathcal{G}$中的元素,那么$a\mathcal{U}$代表元素$a$和群$\mathcal{U}$中的每一个元素相操作,形成一个集合,叫做左陪集.那么相应的$\mathcal{U}a$就叫做右陪集 \begin{array}{ll} a \mathcal{U}=\{a \circ p \mid p \in \mathcal{U} \subseteq \mathcal{G}\}, & a \in \mathcal{G} \\ \mathcal{U} a=\{p \circ a \mid p \in \mathcal{U} \subseteq \mathcal{G}\}, & a \in \mathcal{G} \end{array}陪集有一个很重的性质:任意两个陪集,它们要么是完全相同的,要么完全没有公共元素;也就是说群中的一个群元,它只可能属于一个陪集。这个性质对左右陪集都是成立的。 子群 群$G$中的一些元素组成一个集合$H$,如果这些元素仍然满足群的定义,那么$H$就是$G$的一个子群. 一个群它自身和单位元一定是其子群,这样的子群叫做非正规子群(improper subgroup),其余的子群叫做正规子群(proper...
Mathematica绘制漂亮的散点密度图
在通过计算得到二维密度图之后,如何绘制一幅漂亮的密度图,可以美观的展示自己的结果,这里就来整理一下如何利用Mathematica来绘制这样的密度图.{:.info} 首先把代码贴出来 首先根据颜色进行区分 在颜色区分的基础上,再根据格点的大小来区分密度 3D 首先把代码贴出来 首先根据颜色进行区分 在颜色区分的基础上,再根据格点的大小来区分密度 代码下载源代码可以点击这里下载 公众号相关内容均会在公众号进行同步,若对该Blog感兴趣,欢迎关注微信公众号。{:.info} Email yxliphy@gmail.com
BHZ模型Wilson loop计算
这里整理一下计算BHZ模型Wilson loop的代码.{:.info}BHZ模型是最初学习拓扑时接触比较早的模型,前面也整理过如何计算BHZ模型的$\mathcal{Z}_2$拓扑不变量,但是其拓扑性质仍然可以通过Wilson loop来进行计算,所以这里就利用Julia来计算一下这个模型的Wilson loop. 代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687using LinearAlgebra,PyPlot,DelimitedFiles# =====================================================function Pauli() hn::Int64 = 4 g1 = zeros(ComplexF64,hn,hn) g2 = zeros(ComplexF64,hn,hn) g3 = zeros(ComplexF64,hn,hn) #---------------- g1[1,1] = 1 g1[2,2] = -1 g1[3,3] = 1 g1[4,4] = -1 #------------- g2[1,2] = 1 g2[2,1] = 1 g2[3,4] = -1 g2[4,3] = -1 #------------- g3[1,2] = -im g3[2,1] = im g3[3,4] = -im g3[4,3] = im return g1,g2,g3end# =====================================================function BHZ(kx::Float64,ky::Float64)::Matrix{ComplexF64} # 构造系统哈密顿量 hn::Int64 = 4 m0::Float64 = 1.5 ...
快速格林函数方法计算Chern绝缘体边界态
这篇博客整理一下如何利用格林函数方法来计算Chern绝缘体不同边界上的边界态.{:.info}在Chern Insulator边界态及Chern数计算这篇博客中提供了计算Chern绝缘体边界态的程序,但是因为那个方法中是在一个cylinder上进行计算的,所以会存在两个边界,从而也就会在能谱中看到有两个边界态,这在有时候的研究中是不太方便的,这里就像通过格林函数的方法,计算一个半无限大的系统,因为只存在一个边界,所以对于Chern绝缘体来说此时就可以得到只有一个边界态的能谱图,而且还可以分别计算左右两端的边界态,可以发现其对应的费米速度是相反的. 计算公式这里使用的就是Highly convergent schemes for the calculation of bulk and surface Green functions这篇文章中的计算方法,不过需要对写程序中一些具体内容进行一下说明. 当将一个动量空间中的哈密顿量沿某一个方向取开边界,另一个方向取周期边界的时候,对应的哈密顿量矩阵为 H=\left[\begin{array}{ccccc}H_{00}&H_{01}&0&0&0\\ H_{10}&H_{11}&H_{12}&0&0\\0&H_{21}&H_{22}&H_{23}&0\\ 0&0&H_{32}&H_{33}&\cdots\\ 0&0&0&\cdots&\cdots \end{array}\right]因为哈密顿量是厄米的,所以就会有$H_{01}=H_{i,i+1}=H^\dagger_{i+1,i},H_{00}=H_{ii}=H_{i+1.i+1}$. 想要得到格林函数 (\omega-H)G=I可以通过下面的迭代方程进行 \begin{equation}\begin{aligned}\alpha_i&=\alpha_{i-1}(\omega-\epsilon_{i-1})^{-1}\alpha_{i-1}\\ \beta_i&=\beta_{i-1}(\omega-\epsilon_{i-1})^{-1}\beta_{i-1}\\...
借助Fortran格式化Julia输出的数据
这里整理一下利用Fortran将数值计算过程中由Julia计算出的数据进行格式化输出.{:.info} 在利用Julia做计算的时候,始终不能将数据整理成格式化的形式,这里就只好借助于Fortran来将其输出的数据重新读入之后,在进行格式化操作,最后再输出了.先以一个Julia计算的程序为例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132using LinearAlgebra,DelimitedFiles,PyPlot#---------------------------------------------------function Pauli() hn = 4 g1 = zeros(ComplexF64,hn,hn) g2 = zeros(ComplexF64,hn,hn) g3 = zeros(ComplexF64,hn,hn) #------ Kinetic energy g1[1,1] = 1 g1[2,2] = -1 g1[3,3] = 1 g1[4,4] = -1 #-------- SOC-x g2[1,2] = 1 g2[2,1] = 1 g2[3,4] = -1 g2[4,3] = -1 #---------- SOC-y g3[1,2] = -1im g3[2,1] = 1im g3[3,4] = -1im g3[4,3] = 1im return g1,g2,g3end #...