* symmetric or not positive definite.
* @since 3.1
*/
public RealMatrix getSquareRoot() {
if (!isSymmetric) {
throw new MathUnsupportedOperationException();
}
final double[] sqrtEigenValues = new double[realEigenvalues.length];
for (int i = 0; i < realEigenvalues.length; i++) {
final double eigen = realEigenvalues[i];
if (eigen <= 0) {
throw new MathUnsupportedOperationException();
}
sqrtEigenValues[i] = FastMath.sqrt(eigen);
}
final RealMatrix sqrtEigen = MatrixUtils.createRealDiagonalMatrix(sqrtEigenValues);
final RealMatrix v = getV();