def METHOD_NAME(self, x, a):
    n_nodes = tf.shape(a)[-1]
    abs_diff = tf.reduce_sum(
        tf.math.abs(tf.expand_dims(x, 2) - tf.expand_dims(x, 1)), axis=-1
    )
    gamma = a / tf.math.maximum(abs_diff, self.epsilon)
    degrees = tf.math.reduce_sum(gamma, axis=-1)
    l = -gamma
    l = tf.linalg.set_diag(l, degrees - tf.linalg.diag_part(gamma))
    l = tf.eye(n_nodes, dtype=x.dtype) - self.delta_coeff * l
    output = tf.matmul(l, x)
    return output