class_docstr: Hessian update strategy with full dimensional internal representation.
      
code: def _auto_scale(self, delta_x, delta_grad):
      # Heuristic to scale matrix at first iteration.
      # Described in Nocedal and Wright "Numerical Optimization"
      # p.143 formula (6.20).
      s_norm2 = np.dot(delta_x, delta_x)
      y_norm2 = np.dot(delta_grad, delta_grad)
      ys = np.abs(np.dot(delta_grad, delta_x))
      if ys == 0.0 or y_norm2 == 0 or s_norm2 == 0:
          return 1
      if self.approx_type == "hess":
          return y_norm2 / ys
      else:
          return ys / y_norm2
  
imports: from __future__ import division, print_function, absolute_import
  import numpy
  from numpy.linalg import norm
  from scipy.linalg import get_blas_funcs
  from warnings import warn
label_desc: Use image node_id 3 for calling the FullHessianUpdateStrategy obj's underlying member method code with example usage: obj._auto_scale(delta_x, delta_grad) and returns: int, unknown, unknown