input: Write a python function to optimize a set of query parameters using gradient descent.
  assert optimizer(0, 0, 0, 0.1) == (0.0, 0.0, 0.0)
  assert optimizer(1, 2, 3, 0.1) == (0.7, 2.0, 2.5)
  assert optimizer(-1, -2, -3, 0.1) == (-0.7, -2.2, -2.5)
output: def optimizer(x, y, z, learning_rate):
      def gradient(x, y, z):
          grad_x = 2 * (x - 1)
          grad_y = 2 * (y - 2)
          grad_z = 2 * (z - 3)
          return grad_x, grad_y, grad_z
      
      grad_x, grad_y, grad_z = gradient(x, y, z)
      
      new_x = x - learning_rate * grad_x
      new_y = y - learning_rate * grad_y
      new_z = z - learning_rate * grad_z
      
      return new_x, new_y, new_z