docstr: The value of the dissimilarity constraint function.
  
  f = f(\sum_{ij \in D} distance(x_i, x_j))
  i.e. distance can be L1:  \sqrt{(x_i-x_j)A(x_i-x_j)'}
docstr_tok: ["The","value","of","the","dissimilarity","constraint","function",".","f","=","f","(","\\sum_","{","ij","\\in","D","}","distance","(","x_i",",","x_j",")",")","i.e",".","distance","can","be","L1",":","\\sqrt","{","(","x_i-x_j",")","A","(","x_i-x_j",")","'","}"]
code: def _fD(self, neg_pairs, A):
      r"""The value of the dissimilarity constraint function.
  
      f = f(\sum_{ij \in D} distance(x_i, x_j))
      i.e. distance can be L1:  \sqrt{(x_i-x_j)A(x_i-x_j)'}
      """
      diff = neg_pairs[:, 0, :] - neg_pairs[:, 1, :]
      return np.log(
          np.sum(np.sqrt(np.sum(np.dot(diff, A) * diff, axis=1))) + 1e-6
      )
  
imports: import numpy
  from sklearn.base import TransformerMixin
  from sklearn.utils.validation import assert_all_finite
  from .base_metric import _PairsClassifierMixin, MahalanobisMixin
  from .constraints import Constraints, wrap_pairs
  from ._util import components_from_metric, _initialize_metric_mahalanobis
  import warnings
label_desc: Use image node_id 5 for calling the _BaseMMC obj's underlying member method code with example usage: obj._fD(neg_pairs, A) and returns: np