code: def encrypted_gradient(self, sum_to=None):
          
          gradient = self.compute_gradient()
          encrypted_gradient = encrypt_vector(self.pubkey, gradient)
  
          if sum_to is not None:
              return sum_encrypted_vectors(sum_to, encrypted_gradient)
          else:
              return encrypted_gradient
docs: Compute and encrypt gradient.
  
          When `sum_to` is given, sum the encrypted gradient to it, assumed
          to be another vector of the same size