transforming a symmetric matrix to positive definite matrix with diagonal as ones.

698 Views Asked by At

I have a symmetric matrix $A$ with $1$'s as a diagonal element. I want a function $B=f(A)$, so that $B$ becomes non-negative definite matrix with diagonals as $1$'s.

For example, $A=\begin{pmatrix} 1 & 2 & 3 \\ 2 & 1 & 4 \\ 3 &4 &1 \\ \end{pmatrix}$

2

There are 2 best solutions below

2
On BEST ANSWER

As @user152715 said, symmetric matrix has real eigenvalues and is diagonalisable.

So first find the eigenvalues and eigenvectors of A. You then can write $A = P*D*P^T$

Let's call $\alpha,\beta,\gamma$ the three eigenvalues. Here you are searching a matrix $f(A)$ that is diagonalisable and has eigenvalues$>0$. The best way could be to simply search B such that A + B is diagonalisable, has is diagonal equal to 1 and is positive definite. In general case it will happen when the diagonal of B equals to 0 (obvious), and B is diagonalisable into the same basis in which A is diagonalisable, with eigenvalues that compensate A's eigenvalues.

So you're searching a matrix of the form $B = PGP^T$ such that G is a diagonal matrix and that $$G = \begin{pmatrix} x- \alpha & 0 & 0 \\ 0 & y-\beta & 0 \\ 0 & 0 & z-\beta\end{pmatrix}$$ with $x\geq 0,y\geq 0,z\geq0$.

You also want that: $$PGP^T = \begin{pmatrix} 0 & * & * \\ * & 0 & * \\ * & * & 0\end{pmatrix}$$

Now just resolve this system (find $x$,$y$ and $z$) and you will find B.

This is a generic method, but it won't always give you a solution ($x,y$ or $z$ can be negative). I'm not sure you will find a generic solution for this.

0
On

A symmetric matrix has real eigen value and positive definite symmetric matrix has all positive eigen value. Can you take from here?