code: def uinit(self, ushape):
          
  
          if self.opt['Y0'] is None:
              return np.zeros(ushape, dtype=self.dtype)
          else:
              # If initial Y is non-zero, initial U is chosen so that
              # the relevant dual optimality criterion (see (3.10) in
              # boyd-2010-distributed) is satisfied.
              return (self.Wdf/self.rho)*np.sign(self.Y)
docs: Return initialiser for working variable U.