sklearn.utils.validation.check_symmetric(array, *, tol=1e-10, raise_warning=True, raise_exception=False)[source]

Make sure that array is 2D, square and symmetric.

If the array is not symmetric, then a symmetrized version is returned. Optionally, a warning or exception is raised if the matrix is not symmetric.

array{ndarray, sparse matrix}

Input object to check / convert. Must be two-dimensional and square, otherwise a ValueError will be raised.

tolfloat, default=1e-10

Absolute tolerance for equivalence of arrays. Default = 1E-10.

raise_warningbool, default=True

If True then raise a warning if conversion is required.

raise_exceptionbool, default=False

If True then raise an exception if array is not symmetric.

array_sym{ndarray, sparse matrix}

Symmetrized version of the input array, i.e. the average of array and array.transpose(). If sparse, then duplicate entries are first summed and zeros are eliminated.