MATLAB Function Reference |

**Syntax**

**Description**

```
X = sqrtm(A)
```

is the principal square root of the matrix `A`

, i.e. `X*X = A`

.

`X`

is the unique square root for which every eigenvalue has nonnegative real part. If `A`

has any eigenvalues with negative real parts then a complex result is produced. If `A`

is singular then `A`

may not have a square root. A warning is printed if exact singularity is detected.

```
[X, resnorm] = sqrtm(A)
```

does not print any warning, and returns the residual, `norm(A-X^2,'fro')/norm(A,'fro')`

.

```
[X, alpha, condest] = sqrtm(A)
```

returns a stability factor `alpha`

and an estimate `condest`

of the matrix square root condition number of `X`

. The residual `norm(A-X^2,'fro')/norm(A,'fro')`

is bounded approximately by `n*alpha*eps`

and the Frobenius norm relative error in `X`

is bounded approximately by `n*alpha*condest*eps`

, where `n = max(size(A))`

.

**Remarks**

If `X`

is real, symmetric and positive definite, or complex, Hermitian and positive definite, then so is the computed matrix square root.

Some matrices, like `X = [0 1; 0 0]`

, do not have any square roots, real or complex, and `sqrtm`

cannot be expected to produce one.

**Examples**

**Example 1.** A matrix representation of the fourth difference operator is

This matrix is symmetric and positive definite. Its unique positive definite square root, `Y`

`=`

`sqrtm(X)`

, is a representation of the second difference operator.

has four square roots. Two of them are

The other two are `-Y1`

and `-Y2`

. All four can be obtained from the eigenvalues and vectors of `X`

.

The four square roots of the diagonal matrix `D`

result from the four choices of sign in

The `sqrtm`

function chooses the two plus signs and produces `Y1`

, even though `Y2`

is more natural because its entries are integers.

**See Also**

sqrt | squeeze |