@staticmethod
def hardening(q, h_func, stength):
    'hardening distribution P and return Q\n\n        Args:\n            q: input distributions.\n            h_func: input harderning function.\n            strength: hardening strength.\n\n        returns:\n            p: hardened and normatlized distributions.\n\n        '
    q = h_func(q)
    weight = ((q ** stength) / q.sum(0))
    return (weight.T / weight.sum(1)).T
hardening distribution P and return Q

Args:
    q: input distributions.
    h_func: input harderning function.
    strength: hardening strength.

returns:
    p: hardened and normatlized distributions.
@staticmethod
def hardening(q, h_func, stength):
    'hardening distribution P and return Q\n\n        Args:\n            q: input distributions.\n            h_func: input harderning function.\n            strength: hardening strength.\n\n        returns:\n            p: hardened and normatlized distributions.\n\n        '
    q = h_func(q)
    weight = ((q ** stength) / q.sum(0))
    return (weight.T / weight.sum(1)).T