I have a symmetric matrix A. How do I compute a matrix B such that $B^tB=A$ where $B^t$ is the transpose of $B$. I cannot figure out if this is at all related to the square root of $A$.

I've gone through wikimedia links of square root of a matrix.


As J. M. says, you need your matrix $A$ to be positive definite. Since $A$, being symmetric, is always diagonalizable, this is the same as saying that it has non-negative eigenvalues. If this is the case, you can adapt alex's comment almost literally for the real case: as we've said, $A$ is diagonalizable, but, also, there exists an orthonormal base of eigenvectors of $A$. That is, there is an invertible matrix $S$ and a diagonal matrix $D$ such that

$$ D = SAS^t , \quad \text{with} \quad SS^t = I \ . $$


$$ D = \mathrm{diag} (\lambda_1, \lambda_2, \dots , \lambda_n) \ , $$

is a diagonal matrix and has only non-negative eigenvalues $\lambda_i$, you can take its square root

$$ \sqrt{D} = \mathrm{diag} (\sqrt{\lambda_1}, \sqrt{\lambda_2}, \dots , \sqrt{\lambda_n} ) \ , $$

and then, on one hand, you have:

$$ \left( S^t \sqrt{D} S \right)^2 = \left( S^t \sqrt{D} S\right) \left(S^t \sqrt{D} S \right) = S^t \left( \sqrt{D}\right)^2 S = S^t D S = A \ . $$

On the other hand, $S^t \sqrt{D} S$ is a symmetric matrix too:

$$ \left( S^t \sqrt{D} S \right)^t = S^t (\sqrt{D})^t S^{tt} = S^t \sqrt{D^t} S = S^t \sqrt{D} S \ , $$

so you have your $B = S^t \sqrt{D} S$ such that $B^t B = A$.


What you apparently want here is the Cholesky decomposition, which factors a matrix A into $BB^T$ where $B$ is a triangular matrix. However, this only works if your matrix is positive definite.

  • 3
    $\begingroup$ The times between this and the comment are miraculously close :) $\endgroup$ – BBischof Aug 15 '10 at 22:24
  • $\begingroup$ if the matrix is not positive definite, then is there another property I could use? $\endgroup$ – user957 Aug 15 '10 at 22:25
  • 1
    $\begingroup$ if the matrix is not a positive definite, there may not be a real solution. for example, the $1 \times 1$ matrix $A=-1$ does not have a real square root. $\endgroup$ – morgan Aug 15 '10 at 22:27
  • 1
    $\begingroup$ On the other hand, if you are OK with complex answers, then if $A$ is diagonalized as $A=U D U^{T}$ with diagonal $D$ and unitary $U$, then take $B=U D^{1/2} U^{T}$. $B$ will have complex entries, since some of the entries of $D$ will be negative. However, $B B^T = U D U^T = A$. $\endgroup$ – morgan Aug 15 '10 at 22:30
  • 1
    $\begingroup$ alex - I don't think Q D^{1/2} Q going to be triangular matrix. take for example A = ((2,-2),(-2,5)) $\endgroup$ – user957 Aug 16 '10 at 1:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.