TBA.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:HamiltonianPy 作者: waltergu 项目源码 文件源码
def TBAEB(engine,app):
    '''
    This method calculates the energy bands of the Hamiltonian.
    '''
    nmatrix=engine.nmatrix
    if app.path is not None:
        assert len(app.path.tags)==1
        result=zeros((app.path.rank(0),nmatrix+1))
        if app.path.mesh(0).ndim==1:
            result[:,0]=app.path.mesh(0)
        else:
            result[:,0]=array(xrange(app.path.rank(0)))
        for i,paras in enumerate(app.path()):
            result[i,1:]=eigh(engine.matrix(**paras),eigvals_only=True)
    else:
        result=zeros((2,nmatrix+1))
        result[:,0]=array(xrange(2))
        result[0,1:]=eigh(engine.matrix(),eigvals_only=True)
        result[1,1:]=result[0,1:]
    name='%s_%s'%(engine.tostr(mask=() if app.path is None else app.path.tags),app.name)
    if app.savedata: savetxt('%s/%s.dat'%(engine.dout,name),result)
    if app.plot: app.figure('L',result,'%s/%s'%(engine.dout,name))
    if app.returndata: return result
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号