Hello everyone, I have a non-Hermitian matrix, but I find that even using vpa, I cannot obtain the correct eigenvalues. Does anyone know how to resolve this?

10 ビュー (過去 30 日間)
ma Jack
ma Jack 2024 年 12 月 30 日
コメント済み: ma Jack 2025 年 1 月 19 日
Below are my code and .mat data. The green circles represent the correct eigenvalue range for the non-Hermitian matrix (derived using a complex mathematical method; since the method is too complicated, I’m directly using the results obtained from it). The black points represent the eigenvalues computed using the vpa function, but they do not coincide with the green circles. (Indeed, the number of green circles and black points is different, but if the black points were correct, their upper and lower bounds should overlap.) This means that I didn’t obtain the correct eigenvalues. I know that non-Hermitian matrices cannot be exactly diagonalized, but I’ve heard from others that using the high-precision vpa function can help, but it doesn’t seem to work in my case.
load list_beta0.mat
load GBZband.mat
N=90;
t1=0.5;
t2=0.5;
t3=1/5;
gamma1=5/3;
gamma2=1/3;
HH=Hobc(t1,t2,t3,gamma1,gamma2,N);
[~,val]=eig(vpa(HH,34));
tval=diag(val);
[~,index]=sort(real(tval));
sort_valR=tval(index);
figure
hold on
scatter(t1.*ones(size(GBZband)), abs(GBZband),10,'go')
plot(t1.*ones(size(sort_valR)),abs(sort_valR),'k.','MarkerSize',8)
ggg=legend('GBZ-eigenval','OBC-eigenval');
set(ggg,'box','off')
hold off
function [op]=Hobc(t1,t2,t3,gamma1,gamma2,N)
a=[1;0];
b=[0;1];
H=zeros(2*N,2*N);
n1=zeros(N,1);
n2=zeros(N,1);
for n=1:N
n1(n)=1;
n2(n+1)=1;
H=H+(t1+gamma1/2).*kron(n1,a)*kron(n1',b')+(t1-gamma1/2).*kron(n1,b)*kron(n1',a');
if n~=N
H=H+(t2+gamma2/2).*kron(n1,b)*kron(n2',a')+(t2-gamma2/2).*kron(n2,a)*kron(n1',b')+...
t3.*(kron(n1,a)*kron(n2',b')+kron(n2,b)*kron(n1',a'));
end
n1=zeros(N,1);
n2=zeros(N,1);
end
op=H;
end
Does anyone have any insights on this issue? I look forward to any responses. If the question is unclear, please let me know.
  21 件のコメント
ma Jack
ma Jack 2025 年 1 月 19 日
Hey guys, i find a thesis may help to solve the issues: DOI: 10.1103/PhysRevLett.122.250201. Hope it can give all of you some help.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by