Clear Filters
Clear Filters

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

3 views (last 30 days)
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 Comment
Matt J
Matt J on 22 Aug 2023
Edited: Matt J on 22 Aug 2023
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.

Sign in to comment.

Answers (0)

Categories

Find more on Linear Algebra in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!