MATLAB: Solving the equation A*transpose(A)=B

matrix equation

Knowing the matrix B, how can I solve for the square matrix A in A*A'=B using MATLAB

Best Answer

You cannot. Well, there are infinitely many equally valid solutions. So you can. There just is no unique solution.
In fact, there is one classic solution, that every student of linear algebra 101 should have learned.
help chol
With just a tiny bit of creativity on your part, you can even get a different solution from eig. (THINK ABOUT IT!)
Of course, ANY solution, if any does exist, will require that B is symmetric positive semi-definite.