I want to find the square root of a matrix in C. I know there is command like "dpotrf" in C to find the cholesky decomposition, which gives us X, where XX' = A. But this method fails when A is positive semidefinite or negative definite. However, there is a command "sqrtm" in MATLAB which gives the square root of even a positive semidefinite or negative definite matrix such that YY = A, where Y is the square root of matrix A. Is there any thing similar to "sqrtm" in C???