Where does the eigenvalues of 3-by-3 matrix meet?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1462537/image.png)
with
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1462542/image.png)
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 Kommentar
Matt J
am 22 Aug. 2023
Bearbeitet: Matt J
am 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.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear Algebra finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!