code: def _update_position(
      state,
      position_delta,
      next_objective,
      next_gradient,
      grad_tolerance,
      f_relative_tolerance,
      x_tolerance,
      f_absolute_tolerance,
  ):  # pyformat: disable
      """Updates the state advancing its position by a given position_delta."""
      state = terminate_if_not_finite(
          state, next_objective, next_gradient
      )
  
      next_position = state.position + position_delta
      # pyformat: disable
      converged = ~state.failed & _check_convergence(
          state.position,
          next_position,
          state.objective_value,
          next_objective,
          next_gradient,
          grad_tolerance,
          f_relative_tolerance,
          x_tolerance,
          f_absolute_tolerance,
      )
      # pyformat: enable
      return update_fields(
          state,
          converged=state.converged | converged,
          position=next_position,
          objective_value=next_objective,
          objective_gradient=next_gradient,
      )
  
file_path: probability/tensorflow_probability/python/optimizer/bfgs_utils.py
imports: import collections
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.optimizer.linesearch.hager_zhang import hager_zhang
label_desc: Use image node_id 9 for calling a global function with example usage: _update_position(state, position_delta, next_objective, next_gradient, grad_tolerance, f_relative_tolerance, x_tolerance, f_absolute_tolerance) and returns: update_fields