class_docstr: Standard GMM.
  
  this class contains the following members
  k (int): the number of components in the mixture
  dim (int): is the dimension of the data
  prec_type = 'full' (string) is the parameterization
            of the precisions/covariance matrices:
            either 'full' or 'diagonal'.
  means: array of shape (k,dim):
        all the means (mean parameters) of the components
  precisions: array of shape (k,dim,dim):
             the precisions (inverse covariance matrix) of the components
  weights: array of shape(k): weights of the mixture
  
  fixme
  -----
  no copy method
class_docstr_tok: ["Standard","GMM",".","this","class","contains","the","following","members","k","(","int",")",":","the","number","of","components","in","the","mixture","dim","(","int",")",":","is","the","dimension","of","the","data","prec_type","=","'full","'","(","string",")","is","the","parameterization","of","the","precisions\/covariance","matrices",":","either","'full","'","or","'diagonal","'",".","means",":","array","of","shape","(","k",",","dim",")",":","all","the","means","(","mean","parameters",")","of","the","components","precisions",":","array","of","shape","(","k",",","dim",",","dim",")",":","the","precisions","(","inverse","covariance","matrix",")","of","the","components","weights",":","array","of","shape","(","k",")",":","weights","of","the","mixture","fixme","--","--","-","no","copy","method"]
docstr: Computation of bic approximation of evidence
  
  Parameters
  ----------
  like, array of shape (n_samples, self.k)
     component-wise likelihood
  tiny=1.e-15, a small constant to avoid numerical singularities
  
  Returns
  -------
  the bic value, float
docstr_tok: ["Computation","of","bic","approximation","of","evidence","Parameters","--","--","--","--","--","like",",","array","of","shape","(","n_samples",",","self.k",")","component-wise","likelihood","tiny=1.e-15",",","a","small","constant","to","avoid","numerical","singularities","Returns","--","--","--","-","the","bic","value",",","float"]
code: def bic(self, like, tiny=1.0e-15):
      """Computation of bic approximation of evidence
  
      Parameters
      ----------
      like, array of shape (n_samples, self.k)
         component-wise likelihood
      tiny=1.e-15, a small constant to avoid numerical singularities
  
      Returns
      -------
      the bic value, float
      """
      sl = np.sum(like, 1)
      sl = np.maximum(sl, tiny)
      bicc = np.sum(np.log(sl))
  
      # number of parameters
      n = like.shape[0]
      if self.prec_type == "full":
          eta = (
              self.k * (1 + self.dim + (self.dim * self.dim + 1) / 2)
              - 1
          )
      else:
          eta = self.k * (1 + 2 * self.dim) - 1
      bicc = bicc - np.log(n) * eta
      return bicc
  
imports: import numpy
  from scipy.linalg import eigvalsh
label_desc: Use image node_id 14 for calling the GMM obj's underlying member method code with example usage: obj.bic(like, tiny) and returns: bicc