<a id="skfolio-utils-stats-is-positive-semidefinite"></a>

# skfolio.utils.stats.is_positive_semidefinite

<a id="skfolio.utils.stats.is_positive_semidefinite"></a>

### skfolio.utils.stats.is_positive_semidefinite(x, \*, atol=0.0)

Return True if the matrix is positive semidefinite within a tolerance.

The caller must provide a finite, symmetric matrix.

* **Parameters:**
  **x** *ndarray of shape (n, n)*
  : Matrix to check.

  **atol** *float, default=0.0*
  : Nonnegative absolute tolerance. Eigenvalues greater than or equal to
    `-atol` are accepted.
* **Returns:**
  **value** *bool*
  : True if all eigenvalues are at least `-atol`, False otherwise.
    Singular matrices are accepted.

