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}\\...
利用格林函数求解边界态-V2
这篇博客中利用另外一种格林函数的方法来计算拓扑绝缘体的边界态.{:.info}在前面利用格林函数求解边界态这篇博客中利用迭代格林函数的方法计算了拓扑绝缘体的边界态,但是结果中边界态的确很明显,但是体态的性质却不会表现的很清晰,这里就像利用矩阵求逆的方式,直接计算哈密顿量对应的谱函数,从而来计算边界态和体态的性质,但是这个方法的缺点也是比较明显的,那就是耗时比较长. 模型仍然以拓扑绝缘体的哈密顿量为出发点 H(\mathbf{k})=(m_0-t_x\cos k_x-t_y\cos k_y)\sigma_z+\lambda_x\sin k_x\sigma_xs_z+\lambda_y\sin...