code: def self_adjoint_eig(tensor, name=None):
      """Computes the eigen decomposition of a batch of self-adjoint matrices.
  
      Computes the eigenvalues and eigenvectors of the innermost N-by-N matrices
      in `tensor` such that
      `tensor[...,:,:] * v[..., :,i] = e[..., i] * v[...,:,i]`, for i=0...N-1.
  
      Args:
        tensor: `Tensor` of shape `[..., N, N]`. Only the lower triangular part of
          each inner inner matrix is referenced.
        name: string, optional name of the operation.
  
      Returns:
        e: Eigenvalues. Shape is `[..., N]`. Sorted in non-decreasing order.
        v: Eigenvectors. Shape is `[..., N, N]`. The columns of the inner most
          matrices contain eigenvectors of the corresponding matrices in `tensor`
      """
      e, v = gen_linalg_ops.self_adjoint_eig_v2(
          tensor, compute_v=True, name=name
      )
      return e, v
  
imports: import numpy
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import cond
  from tensorflow.python.ops import gen_array_ops
  from tensorflow.python.ops import gen_linalg_ops
  from tensorflow.python.ops import linalg_ops_impl
  from tensorflow.python.ops import map_fn
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.gen_linalg_ops import *
  from tensorflow.python.util import deprecation
  from tensorflow.python.util import dispatch
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 8 for calling a global function with example usage: self_adjoint_eig(tensor, name) and returns: e,  v