class_docstr: Maximum likelihood covariance estimator.
  
  Read more in the :ref:`User Guide <covariance>`.
  
  Parameters
  ----------
  store_precision : bool
      Specifies if the estimated precision is stored.
  
  assume_centered : bool
      If True, data are not centered before computation.
      Useful when working with data whose mean is almost, but not exactly
      zero.
      If False (default), data are centered before computation.
  
  Attributes
  ----------
  covariance_ : 2D ndarray, shape (n_features, n_features)
      Estimated covariance matrix
  
  precision_ : 2D ndarray, shape (n_features, n_features)
      Estimated pseudo-inverse matrix.
      (stored only if store_precision is True)
class_docstr_tok: ["Maximum","likelihood","covariance","estimator",".","Read","more","in","the",":","ref",":","`","User","Guide","<","covariance",">","`",".","Parameters","--","--","--","--","--","store_precision",":","bool","Specifies","if","the","estimated","precision","is","stored",".","assume_centered",":","bool","If","True",",","data","are","not","centered","before","computation",".","Useful","when","working","with","data","whose","mean","is","almost",",","but","not","exactly","zero",".","If","False","(","default",")",",","data","are","centered","before","computation",".","Attributes","--","--","--","--","--","covariance_",":","2D","ndarray",",","shape","(","n_features",",","n_features",")","Estimated","covariance","matrix","precision_",":","2D","ndarray",",","shape","(","n_features",",","n_features",")","Estimated","pseudo-inverse","matrix",".","(","stored","only","if","store_precision","is","True",")"]
docstr: Save the covariance and precision estimates.
  
  Storage is done accordingly to `self.store_precision`.
  Precision stored only if invertible.
  
  Parameters
  ----------
  covariance : 2D ndarray, shape (n_features, n_features)
      Estimated covariance matrix to be stored, and from which precision
      is computed.
docstr_tok: ["Save","the","covariance","and","precision","estimates",".","Storage","is","done","accordingly","to","`","self.store_precision","`",".","Precision","stored","only","if","invertible",".","Parameters","--","--","--","--","--","covariance",":","2D","ndarray",",","shape","(","n_features",",","n_features",")","Estimated","covariance","matrix","to","be","stored",",","and","from","which","precision","is","computed","."]
code: def _set_covariance(self, covariance):
      """Save the covariance and precision estimates.
  
      Storage is done accordingly to `self.store_precision`.
      Precision stored only if invertible.
  
      Parameters
      ----------
      covariance : 2D ndarray, shape (n_features, n_features)
          Estimated covariance matrix to be stored, and from which precision
          is computed.
      """
      from scipy import linalg
  
      # covariance = check_array(covariance)
      # set covariance
      self.covariance_ = covariance
      # set precision
      if self.store_precision:
          self.precision_ = linalg.pinvh(covariance)
      else:
          self.precision_ = None
  
imports: import inspect
  import operator
  import os
  import warnings
  from contextlib import contextmanager
  from io import StringIO
  from math import log
  from pprint import pprint
  import numpy
label_desc: Use image node_id 2 for calling the EmpiricalCovariance obj's underlying member method code with example usage: obj._set_covariance(covariance) without return types