class_docstr: Implement a gradient descent algorithm.
docstr: Observe evaluation `results` corresponding to list of `points` in
  space.
  
  Save current point and gradient corresponding to this point.
code: def observe(self, trials):
      """Observe evaluation `results` corresponding to list of `points` in
      space.
  
      Save current point and gradient corresponding to this point.
  
      """
      if trials[-1].status != "completed":
          return
  
      self.current_point = numpy.asarray(
          format_trials.trial_to_tuple(trials[-1], self.space)
      )
      self.gradient = numpy.asarray(trials[-1].gradient.value)
      self.has_observed_once = True
  
file_path: orion/tests/functional/gradient_descent_algo/src/orion/algo/gradient_descent.py
imports: import numpy
  from orion.algo.base import BaseAlgorithm
  from orion.core.utils import format_trials
label_desc: Use image node_id 3 for calling the Gradient_Descent obj's underlying member method code with example usage: obj.observe(trials) without return types