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:
![](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
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개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!