# non linear eigen value problem

7 visualizzazioni (ultimi 30 giorni)
rakesh kumar il 19 Mar 2023
Risposto: Christine Tobler il 27 Mar 2023
I want to find the eigen values of
k0=magic(2);
k1=1e-3*k0;
c1=[1 0;0 1]
c1 = 2×2
1 0 0 1
c2=[0 1;1 0]
c2 = 2×2
0 1 1 0
B=kron(c1,k0)+kron(c2,k1)
B = 4×4
1.0000 3.0000 0.0010 0.0030 4.0000 2.0000 0.0040 0.0020 0.0010 0.0030 1.0000 3.0000 0.0040 0.0020 4.0000 2.0000
syms lambda1a lambda1b lambda2a lambda2b
x = sym('x',[size(B,2),1])
x =
l1=[lambda1a;lambda1b ]
l1 =
l2=[lambda2a;lambda2b ]
l2 =
% lambda1 is 2 by 1 matrix and lambda2 is 2 by 1 matrix
% I want to solve the problem
B*x
ans =
(kron(diag(l1),c1)+kron(diag(l2),c2))*x
ans =
%I ant to find l1 and l2
##### 3 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
rakesh kumar il 19 Mar 2023
(kron(diag(l1),c1)+kron(diag(l2),c2))
Walter Roberson il 19 Mar 2023
l1 and l2 are each 2 x 1 matrices. You cannot take the eigenvalues of non-square matrices.
If you take eig(diag(l1)) and eig(diag(l2)) so that you are making them into 2 x 2 diagonal matrices, then the eigenvalues are just the contents of l1 and l2

Accedi per commentare.

### Risposte (1)

Christine Tobler il 27 Mar 2023
This isn't the standard definition of a nonlinear eigenvalue problem, where you would have only one scalar lambda.
Am I understanding correctly that you are looking for four scalar values lambda... for which there exists an non-zero vector x which satisfies
B*x == (kron(diag(l1),c1)+kron(diag(l2),c2))*x
In that case, I would take this to the symbolic toolbox, by trying to solve for values of lambda... for which
det(B == (kron(diag(l1),c1)+kron(diag(l2),c2))) == 0
(using DET is fine for symbolic calculations, we only run into trouble using it when subjected to round-off error).
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by