def diff_aff(self):
        """Symmetric diffusion affinity matrix

        Return or calculate the symmetric diffusion affinity matrix

        .. math:: A(x,y) = K(x,y) (d(x) d(y))^{-1/2}

        where :math:`d` is the degrees (row sums of the kernel.)

        Returns
        -------

        diff_aff : array-like, shape=[n_samples, n_samples]
            symmetric diffusion affinity matrix defined as a
            doubly-stochastic form of the kernel matrix
        """
        row_degrees = np.array(self.kernel.sum(axis=1)).reshape(-1, 1)
        col_degrees = np.array(self.kernel.sum(axis=0)).reshape(1, -1)
        if sparse.issparse(self.kernel):
            return self.kernel.multiply(1 / np.sqrt(row_degrees)).multiply(
                1 / np.sqrt(col_degrees))
        else:
            return (self.kernel / np.sqrt(row_degrees)) / np.sqrt(col_degrees)
def diff_aff ( self ) : row_degrees = np . array ( self . kernel . sum ( axis = 1 ) ) . reshape ( - 1 , 1 ) col_degrees = np . array ( self . kernel . sum ( axis = 0 ) ) . reshape ( 1 , - 1 ) if sparse . issparse ( self . kernel ) : return self . kernel . multiply ( 1 / np . sqrt ( row_degrees ) ) . multiply ( 1 / np . sqrt ( col_degrees ) ) else : return ( self . kernel / np . sqrt ( row_degrees ) ) / np . sqrt ( col_degrees )
Symmetric diffusion affinity matrix

        Return or calculate the symmetric diffusion affinity matrix

        .. math:: A(x,y) = K(x,y) (d(x) d(y))^{-1/2}

        where :math:`d` is the degrees (row sums of the kernel.)

        Returns
        -------

        diff_aff : array-like, shape=[n_samples, n_samples]
            symmetric diffusion affinity matrix defined as a
            doubly-stochastic form of the kernel matrix