## Documentation Center |

Matrix square root

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

`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))`.

A matrix representation of the fourth difference operator is

A = 5 -4 1 0 0 -4 6 -4 1 0 1 -4 6 -4 1 0 1 -4 6 -4 0 0 1 -4 5

This matrix is symmetric and positive definite. Its unique positive
definite square root, `Y` `=` `sqrtm(A)`,
is a representation of the second difference operator.

Y = 2 -1 -0 -0 -0 -1 2 -1 0 -0 0 -1 2 -1 0 -0 0 -1 2 -1 -0 -0 -0 -1 2

The matrix

A = 7 10 15 22

has four square roots. Two of them are

Y1 = 1.5667 1.7408 2.6112 4.1779

and

Y2 = 1 2 3 4

The other two are `-Y1` and `-Y2`.
All four can be obtained from the eigenvalues and vectors of `A`.

[V,D] = eig(A); D = 0.1386 0 0 28.8614

The four square roots of the diagonal matrix `D` result
from the four choices of sign in

S = ±0.3723 0 0 ±5.3723

All four `Y`s are of the form

Y = V*S/V

The `sqrtm` function chooses the two plus
signs and produces `Y1`, even though `Y2` is
more natural because its entries are integers.

Was this topic helpful?