code: def get_blas_lapack_symbols():
      cached = getattr(get_blas_lapack_symbols, "cached", None)
      if cached is not None:
          return cached
  
      # Obtain symbol list from Cython Blas/Lapack interface
      srcdir = os.path.join(
          os.path.dirname(__file__), os.pardir, "linalg"
      )
  
      symbols = []
  
      # Get symbols from the generated files
      for fn in [
          "cython_blas_signatures.txt",
          "cython_lapack_signatures.txt",
      ]:
          with open(os.path.join(srcdir, fn), "r") as f:
              for line in f:
                  m = re.match(r"^\s*[a-z]+\s+([a-z0-9]+)\(", line)
                  if m:
                      symbols.append(m.group(1))
  
      # Get the rest from the generator script
      # (we cannot import it directly here, so use exec)
      sig_fn = os.path.join(srcdir, "_cython_signature_generator.py")
      with open(sig_fn, "r") as f:
          code = f.read()
      ns = {"__name__": "<module>"}
      exec(code, ns)
      symbols.extend(ns["blas_exclusions"])
      symbols.extend(ns["lapack_exclusions"])
  
      get_blas_lapack_symbols.cached = tuple(sorted(set(symbols)))
      return get_blas_lapack_symbols.cached
  
imports: import re
  import os
  import sys
  from distutils.util import get_platform
  import numpy
  from .system_info import combine_dict
label_desc: Use image node_id 15 for calling a global function with example usage: get_blas_lapack_symbols() and returns: get_blas_lapack_symbols, cached