Where does the eigenvalues of 3-by-3 matrix meet?

3 次查看(过去 30 天)
I have a 3x3 Hermitian matrix dependent on 10 variables. Each combination of these variables yields three eigenvalues: E1, E2, and E3. My objective is to identify the set of variables for which either two or all three eigenvalues are identical.
While I could developed a code utilizing 10 nested FOR loops to achieve a numerical solution, I am curious if there exists a more efficient approach. (Also, an analytical solution to this problem would be highly advantageous.)
Presented below is the matrix in question:
with
here J = S = a = 1. And I will have 10 variables as following and their limits for which I want to know that eigenvalues will be same:
  • K_A (-2 to +2)
  • K_B (-2 to +2)
  • K_C (-2 to +2)
  • J_A (-2 to +2)
  • J_B (-2 to +2)
  • J_C (-2 to +2)
  • D_z (-2 to +2)
  • k_x ( to )
  • k_y ( to )
  • k_z (-pi to +pi)
Relevant code (the matrix is written here in simplified form):
clear; clc;
%constants:
S = 1;
J = 1;
a = 1;
%limits of variables:
KAmin = -2;
KBmin = KAmin;
KCmin = KAmin;
KAmax = 2;
KBmax = KAmax;
KCmax = KAmax;
JAmin = -2;
JBmin = JAmin;
JCmin = JAmin;
JAmax = 2;
JBmax = JAmax;
JCmax = JAmax;
Dzmin = -2;
Dzmaxx = 2;
kxmin = -4*pi/(3);
kxmax = 4*pi/(3);
kymin = -2*pi/(sqrt(3));
kymax = 2*pi/(sqrt(3));
kzmin = -pi;
kzmax = pi;
%variable:
KA =
KB =
KC =
JA =
JB =
JC =
Dz =
kx =
ky =
kz =
% matrix:
TA = 2*KA*S - 2*JA*S*(cos(kz*c) - 1);
TB = 2*KB*S - 2*JB*S*(cos(kz*c) - 1);
TC = 2*KC*S - 2*JC*S*(cos(kz*c) - 1);
H = [ 4*J*S+TA, -(S*cos((a*kx)/4 + (3^(1/2)*a*ky)/4)*(Dz*4i + 4*J))/2, (S*cos((a*kx)/4 - (3^(1/2)*a*ky)/4)*(Dz*4i - 4*J))/2
(S*cos((a*kx)/4 + (3^(1/2)*a*ky)/4)*(Dz*4i - 4*J))/2, 4*J*S+TB, -(S*cos((a*kx)/2)*(Dz*4i + 4*J))/2
-(S*cos((a*kx)/4 - (3^(1/2)*a*ky)/4)*(Dz*4i + 4*J))/2, (S*cos((a*kx)/2)*(Dz*4i - 4*J))/2, 4*J*S+TC];
  1 个评论
Matt J
Matt J 2023-8-22
编辑:Matt J 2023-8-22
Well, just taking the case where all 3 eigenvalues are equal, that would imply that the Hermitian matrix is a scalar multiple of eye(3). That condition gives 10 equations in 10 unknowns, which means you might have a finite set of solutions. However, for 2 equal eigenvalues, you will have to remove one of the equations. With more unknowns than equations, it is unlikely you will have a finite (or even a countable) set of solutions.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by