Rank of a Hermitian matrix?
4 次查看(过去 30 天)
显示 更早的评论
I have a complex Hermitian matrix, say W, which is obtained by solving a convex optimization problem. In order for this matrix to be the result of my original problem, W must satisfy the following condition rank ( W ) = 1. When I checked this condition, MATLAB gives me an answer 3 for 3x3 W matrix. However, eigenvalues of this matrix are [-2.04e-11,-1.92e-12,2.81]. Now, my question is should I consider W as a rank-1 matrix based on the eigenvalues result or should I consider it as a rank 3 matrix as provided by MATLAB rank condition? (I have learnt that the rank of a symmetric matrix is the number of non-zero eigenvalues. If this is the case, can I also extend this def to Hermitian matrix? and If this def is also true for hermitian matrix, then what should be the rank of W (1 or 3))?
2 个评论
David Goodmanson
2018-9-19
Hi Muhammad,
First, nonzero eigenvalue = rank is true for Hermitian matrices.
You will have to make a judgment call, but in this context it's very likely to be rank 1. For the rank function, the default tolerance for determining zeros in this case is < 1.3e-15. That's a stringent requirement. The more complicated a process you have to calculate W, the larger the allowed tolerance can be on determining zeros. Not knowing the problem makes commenting a bit presumptuous. But generally, 2e-11 seems small enough to be considered zero. If it were, say, 1e-8 I would be suspicious that there was something else going on. Everyone calibrates their own antenna.
Brendan Hamm
2018-9-19
You may also consider changing the tolerance on your constraint in the optimization routine. Look at the doc for optimoptions under the solver you are using.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Mathematics and Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!