code: def circumradius(a, b, c):
      """a, b and c are 3-dimensional vectors which are the vertices of a
      triangle. The function returns the circumradius of the triangle, i.e
      the radius of the smallest circle that can contain the triangle. In
      the degenerate case when the 3 points are collinear it returns
      half the distance between the furthest apart points.
  
      Parameters
      ----------
      a, b, c : (3,) array_like
         the three vertices of the triangle
  
      Returns
      -------
      circumradius : float
          the desired circumradius
      """
      x = a - c
      xx = np.linalg.norm(x) ** 2
      y = b - c
      yy = np.linalg.norm(y) ** 2
      z = np.cross(x, y)
      # test for collinearity
      if np.linalg.norm(z) == 0:
          return (
              np.sqrt(
                  np.max(
                      np.dot(x, x), np.dot(y, y), np.dot(a - b, a - b)
                  )
              )
              / 2.0
          )
      else:
          m = np.vstack((x, y, z))
          w = np.dot(
              np.linalg.inv(m.T), np.array([xx / 2.0, yy / 2.0, 0])
          )
          return np.linalg.norm(w) / 2.0
  
imports: import itertools
  import math
  import numpy
  import numpy.linalg
label_desc: Use image node_id 16 for calling a global function with example usage: circumradius(a, b, c) and returns: unknown, unknown