docs: def compute_affinity_matrix(self, copy=False, **kwargs):
          """
          This function will compute the affinity matrix. In order to
          acquire the existing affinity matrix use self.affinity_matrix as
          comptute_affinity_matrix() will re-compute the affinity matrix.
  
          Parameters
          ----------
          copy : boolean
              whether to return a copied version of the affinity matrix
          **kwargs :
              see affinity.py docmuentation for arguments for each method.
  
          Returns
          -------
          self.affinity_matrix : sparse matrix (N_obs, N_obs)
              contains the pairwise affinity values using the Guassian kernel
              and bandwidth equal to the affinity_radius
          """
          if self.adjacency_matrix is None:
              self.compute_adjacency_matrix()
  
          kwds = self.affinity_kwds.copy()
          kwds.update(kwargs)
          self.affinity_matrix = compute_affinity_matrix(self.adjacency_matrix,
                                                         self.affinity_method,
                                                         **kwds)
          if copy:
              return self.affinity_matrix.copy()
          else:
              return self.affinity_matrix