其他分享
首页 > 其他分享> > DKK 模型

DKK 模型

作者:互联网

Qsymm Python

import numpy as np
import sympy

import qsymm

# Spatial inversion
pU = np.array([
    [1.0, 0.0, 0.0],
    [0.0, 1.0, 0.0],
    [0.0, 0.0, 1.0]
])
pS = qsymm.inversion(3, U=pU)

# Time reversal
trU = np.array([
    [0.0, 0.0, -1.0, 0.0],
    [0.0, 0.0, 0.0, -1.0],
    [1.0, 0.0, 0.0, 0.0],
    [0.0, 1.0, 0.0, 0.0],
])
trU = np.diag([1, 1, 1])
trS = qsymm.time_reversal(3, U=trU)

# Rotation
rotU = np.array([
    [0.0, 0.0, 1.0],
    [1.0, 0.0, 0.0],
    [0.0, 1.0, 0.0],
])
C3zS = qsymm.rotation(1/3, [1,1,1], U=rotU)


# Rotation
rotU = np.array([
    [-1.0, 0.0, 0.0],
    [0.0, -1.0, 0.0],
    [0.0, 0.0, 1.0],
])
C2zS = qsymm.rotation(1/2, [0,0,1], U=rotU)

# Rotation
rotU = np.array([
    [-1.0, 0.0, 0.0],
    [0.0, 1.0, 0.0],
    [0.0, 0.0, -1.0],
])
C2yS = qsymm.rotation(1/2, [0,1,0], U=rotU)


# Rotation
rotU = np.array([
    [0.0, -1.0, 0.0],
    [-1.0, 0.0, 0.0],
    [0.0, 0.0, 1.0],
])
C2xxS = qsymm.rotation(1/2, [1,1,0], U=rotU)


symmetries = [C3zS, C2zS, C2yS, C2xxS, pS, trS]


# In[7]:


dim = 3
total_power = 2


# In[8]:


family = qsymm.continuum_hamiltonian(symmetries, dim, total_power, prettify=True)
qsymm.display_family(family)

 

标签:1.0,0.0,模型,rotU,array,np,qsymm,DKK
来源: https://www.cnblogs.com/ghzhan/p/16659365.html