code: def _newton(n, x_initial, maxit=5):
      """Newton iteration for polishing the asymptotic approximation
      to the zeros of the Hermite polynomials.
  
      Parameters
      ----------
      n : int
          Quadrature order
      x_initial : ndarray
          Initial guesses for the roots
      maxit : int
          Maximal number of Newton iterations.
          The default 5 is sufficient, usually
          only one or two steps are needed.
  
      Returns
      -------
      nodes : ndarray
          Quadrature nodes
      weights : ndarray
          Quadrature weights
  
      See Also
      --------
      roots_hermite_asy
      """
      # Variable transformation
      mu = sqrt(2.0 * n + 1.0)
      t = x_initial / mu
      theta = arccos(t)
      # Newton iteration
      for i in range(maxit):
          u, ud = _pbcf(n, theta)
          dtheta = u / (sqrt(2.0) * mu * sin(theta) * ud)
          theta = theta + dtheta
          if max(abs(dtheta)) < 1e-14:
              break
      # Undo variable transformation
      x = mu * cos(theta)
      # Central node is always zero
      if n % 2 == 1:
          x[0] = 0.0
      # Compute weights
      w = exp(-(x**2)) / (2.0 * ud**2)
      return x, w
  
imports: from __future__ import division, print_function, absolute_import
  import numpy
  from numpy import exp, inf, pi, sqrt, floor, sin, cos, around, int, hstack, arccos, arange
  from scipy import linalg
  from scipy.special import airy
  from .None import _ufuncs
  from .None import _ufuncs
  from .None import specfun
  from ._ufuncs import binom, eval_jacobi, eval_sh_jacobi, eval_gegenbauer, eval_chebyt, eval_chebyu, eval_chebys, eval_chebyc, eval_sh_chebyt, eval_sh_chebyu, eval_legendre, eval_sh_legendre, eval_genlaguerre, eval_laguerre, eval_hermite, eval_hermitenorm
label_desc: Use image node_id 16 for calling a global function with example usage: _newton(n, x_initial, maxit) and returns: x,  w