Check whether the symbolic eigen value of a matrix is positive or negative
5 ビュー (過去 30 日間)
古いコメントを表示
I am calculating the eigen value of 2x2 matrix symbolically, and checking whether the two eigen values are negative or not using isAlways, here is the code
clear all
close all
clc
syms a d g positive
Am =[(12*g)/(d*(7*d + 24*g)), (a*d^2 + 6*a*g*d + 144*g + 9*a*g)/(12*d*(7*d + 24*g));...
-(4*g*(3*d^2 + 14*d + 12*g))/(d^3*(7*d + 24*g)), -(672*d*g + a*d^4 + 36*a*g^2 + 144*d^2*g + 576*g^2 + 42*a*d*g + 18*a*d^2*g + 6*a*d^3*g)/(12*d^3*(7*d + 24*g))]
A1=eig(Am);
isAlways(real(A1(1))<0|A1(1)==0)
isAlways(real(A1(2))<0|A1(2)==0)
I am getting A1(1) to be positive and A1(2) to be negative.
When I am checking numerically by assiginig the value of a, d, g I am getting both the eigen values to be negative and the literature form where I took this expression says that for positive value of a, d, g the matrix Am has negative real eigen values.
Is there anything wrong with my code or is it the limition of isAlways command???
If suppose there are some parametric region where the eigen value are positive or say negative how to find out?
Any help please.
Thank You
0 件のコメント
採用された回答
David Goodmanson
2020 年 7 月 15 日
Hello TS
with your definition of Am we have
simplify(trace(Am))
ans =
-(672*d*g + a*d^4 + 36*a*g^2 + 576*g^2 + 42*a*d*g + 18*a*d^2*g + 6*a*d^3*g)/(12*d^3*(7*d + 24*g))
simplify(A1(1)*A1(2))
ans =
(a*g*(2*d + 3*g))/(3*d^3*(7*d + 24*g))
Given that a,d,g are all positive we have two eigenvalues whose sum is negative and whose product is positive. So both eigenvalues are negative. Matlab does issue a warning about not being able to solve for the inequalilty, so I don't know what
isAlways(real(A1(1))<0|A1(1)==0) ans = 0
is on about.
[ in the second isAlways there is an error in what is supposed to be isAlways(real(A1(2))<0|A1(2)==0) ]
2 件のコメント
David Goodmanson
2020 年 7 月 16 日
That's not so easy in general. One result is that if a matrix is diagonally dominant and all its diagonal values are positive, then all the eigenvalues are positive.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Assumptions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!