Computational Science Asked on March 16, 2021
I’m given a matrix. How do I find the nearest (or a near) positive definite from it?
The matrix can have complex eigenvalues, not be symmetric, etc. However, all its entries are real valued. The resulting matrix from the algorithm must be positive definite, with all its entries real valued only. Symmetry is a plus, but not necessary.
I have no preference toward the metric used. I prefer a pragmatic(relatively easy to programme) approach. It doesn’t have to be optimal.
Quick sketch of an answer for the Frobenius norm:
To prove (1) and (3), you can use the fact that the decomposition of a matrix into a symmetric and antisymmetric part is orthogonal. In particular, this implies that we can minimize in two succesive steps like we did.
To prove (2), use the Wielandt-Hoffmann theorem.
Correct answer by Federico Poloni on March 16, 2021
If you're ok with positive semi-definite matrices, then you can refer to this paper, which I think is what Frederico's answer also explains:
Higham NJ. Computing a nearest symmetric positive semidefinite matrix. Linear Algebra and its Applications. 1988 May;103(C):103-118.
A python implementation can be found in this answer, which also provides a link to a maltab implementation.
Answered by souljaboy764 on March 16, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP