def hsig(self, es):
        """return "OK-signal" for rank-one update, `True` (OK) or `False`
        (stall rank-one update), based on the length of an evolution path

        """
        self._update_ps(es)
        if self.ps is None:
            return True
        squared_sum = sum(self.ps**2) / (1 - (1 - self.cs)**(2 * es.countiter))
        # correction with self.countiter seems not necessary,
        # as pc also starts with zero
        return squared_sum / es.N - 1 < 1 + 4. / (es.N + 1)
def hsig ( self , es ) : self . _update_ps ( es ) if self . ps is None : return True squared_sum = sum ( self . ps ** 2 ) / ( 1 - ( 1 - self . cs ) ** ( 2 * es . countiter ) ) return squared_sum / es . N - 1 < 1 + 4. / ( es . N + 1 )
return "OK-signal" for rank-one update, `True` (OK) or `False`
        (stall rank-one update), based on the length of an evolution path