What is the nearest symmetric matrix to a real, nonsymmetric square matrix ? This question arises whenever a symmetric matrix is approximated by formulas that do not respect the symmetry. For example, a finite difference approximation to a Hessian matrix can be nonsymmetric even though the Hessian is symmetric. In some cases, lack of symmetry is caused by rounding errors. The natural way to symmetrize
is to replace it by
. Is this the best choice?
As our criterion of optimality we take that is minimized over symmetric
for some suitable norm. Fan and Hoffman (1955) showed that
is a solution in any unitarily invariant norm. A norm is unitarily invariant if
for all unitary
and
. Such a norm depends only on the singular values of
, and hence
since
and
have the same singular values. The most important examples of unitarily invariant norms are the
-norm and the Frobenius norm.
The proof that is optimal is simple. For any symmetric
,
Simple examples of a matrix and a nearest symmetric matrix are
Note that any can be written
where and
are the symmetric part and the skew-symmetric part of
, respectively, so the nearest symmetric matrix to
is the symmetric part of
.
For the Frobenius norm, is the unique nearest symmetric matrix, which follows from the fact that
for symmetric
and skew-symmetric
. For the
-norm, however, the nearest symmetric matrix is not unique in general. An example of non-uniqueness is
for which , and
for any
such that
.
Entirely analogous to the above is the nearest skew-symmetric matrix problem, for which the solution is the skew-symmetric part for any unitarily invariant norm. For complex matrices, these results generalize in the obvious way: is the nearest Hermitian matrix to
and
is the nearest skew-Hermitian matrix to
in any unitarily invariant norm.
Reference
- Ky Fan and A. J. Hoffman, Some Metric Inequalities in the Space of Matrices, Proc. Amer. Math. Soc. 6, 111–116, 1955.
This article is part of the “What Is” series, available from https://nhigham.com/category/what-is and in PDF form from the GitHub repository https://github.com/higham/what-is.