parameters: (self, p=1., proj_grad=True, euclidean=False, cheap=False,
                 lrs=(1e-2, 1e-1), vr=True, rnd_init=False, seed=None, **kwargs)
docstring: Ctor.
docstring_summary: Ctor.
docstring_tokens: Ctor .
function: def __init__(self, p=1., proj_grad=True, euclidean=False, cheap=False,
                 lrs=(1e-2, 1e-1), vr=True, rnd_init=False, seed=None, **kwargs):
      """Ctor."""
      del kwargs
      if (p < 0.) or (p > 1.):
        raise ValueError("p must be in [0, 1]")
      self.num_players = None
      self.p = p
      self.proj_grad = proj_grad
      self.cheap = cheap
      self.vr = vr
      self.pm_vr = None
      self.rnd_init = rnd_init
      self.lrs = lrs
      self.has_aux = True
      self.aux_errors = []
  
      self.euclidean = euclidean
      if euclidean:
        self.update = self.euc_descent_step
      else:
        self.update = self.mirror_descent_step
  
      self.seed = seed
      self.random = np.random.RandomState(seed)
function_tokens: def __init__ ( self , p = 1. , proj_grad = True , euclidean = False , cheap = False , lrs = ( 1e-2 , 1e-1 ) , vr = True , rnd_init = False , seed = None , * * kwargs ) : del kwargs if ( p < 0. ) or ( p > 1. ) : raise ValueError ( "p must be in [0, 1]" ) self . num_players = None self . p = p self . proj_grad = proj_grad self . cheap = cheap self . vr = vr self . pm_vr = None self . rnd_init = rnd_init self . lrs = lrs self . has_aux = True self . aux_errors = [ ] self . euclidean = euclidean if euclidean : self . update = self . euc_descent_step else : self . update = self . mirror_descent_step self . seed = seed self . random = np . random . RandomState ( seed )