非厄米矩阵高精度计算预先判定需要的计算精度(matlab)

绘制的OBC哈密顿量是文章DOI: 10.1103/PhysRevLett.125.226402的补充材料公式(7)

matlab 复制代码
clear;clc;close all
N=200;
H=zeros(N,N);
for xx=1:N
    if xx+5 <=N
        H(xx+5,xx)=H(xx+5,xx)+5;

    end

    if xx+4 <=N
        H(xx+4,xx)=H(xx+4,xx)+4;

    end

    if xx+3 <=N
        H(xx+3,xx)=H(xx+3,xx)+3;

    end


    if xx+2 <=N
        H(xx+2,xx)=H(xx+2,xx)+2;

    end

    if xx+1 <=N
        H(xx+1,xx)=H(xx+1,xx)+1;

    end


    if xx+1 <=N
        H(xx,xx+1)=H(xx,xx+1)-1;

    end

end

%val=eig(vpa(H,20));%高精度
val=eig(H);
figure
scatter(real(val),imag(val),'k.')
box on

CondSto=condest(H);%矩阵条件数检查
DigitPre=ceil(log10(10*CondSto));%ceil为向上取整
title(['开边界矩阵预计计算精度为:   ',num2str(DigitPre)])

用的判定方法来自:Numerical instability of non-Hermitian Hamiltonian evolutions (arxiv,已出版在PRB)

相关推荐
金色熊族8 小时前
QTransform使用心得(二)--仿射变换、非仿射变换、矩阵
qt·线性代数·矩阵
m0_5474866612 小时前
《数字图像处理:使用MATLAB分析与实现》全套课件PPT
开发语言·matlab·powerpoint
江畔柳前堤16 小时前
github实战指南00-命令在哪里执行?
人工智能·线性代数·oracle·数据挖掘·github·word
江畔柳前堤17 小时前
github实战指南05-Fork与开源协作
人工智能·线性代数·oracle·开源·github·word
hoiii18717 小时前
17自由度铁道车辆横向动力学MATLAB程序
开发语言·matlab
LabVIEW开发1 天前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview
青山如墨雨如画1 天前
【北邮-无线通信中的人工智能】物理层技术中AI的应用实践:基于KNN的调制识别(1)理论基础
人工智能·python·机器学习·matlab·jupyter
机器学习之心1 天前
基于ELM-Adaboost的时间序列预测模型:MATLAB实现与应用
matlab
gihigo19981 天前
基于蒙特卡洛的异常值剔除(RANSAC + MC置信区间)—MATLAB实现
开发语言·算法·matlab
AI_yangxi2 天前
短视频矩阵系统供应商
大数据·人工智能·矩阵