code: def _callable_generators(dtype):
      n = 100
      topk = 10
      d = {
          "id": _make_id_fn(n),
          "linear cond=1k": _make_diag_fn(np.linspace(1, 1000, n), 40),
          "linear cond=100k": _make_diag_fn(
              np.linspace(1, 100 * 1000, n), 40
          ),
          "geom cond=1k": _make_diag_fn(np.logspace(0, 3, n), 20),
          "geom cond=100k": _make_diag_fn(np.logspace(0, 5, n), 20),
          "ring laplacian": _make_ring_fn(n, 40),
          "randn": _make_randn_fn(n, topk, 40),
          "sparse 1%": _make_sparse_fn(n, 0.01),
          "sparse 10%": _make_sparse_fn(n, 0.10),
      }
  
      ret = {}
      for k, (vec_mul_fn, eigs, m) in d.items():
          if jtu.num_float_bits(dtype) > 32:
              m *= 3
          eigs.sort()
  
          # Note we must lift the vector multiply into matmul
          fn = jax.vmap(vec_mul_fn, in_axes=1, out_axes=1)
  
          ret[k] = (fn, eigs[::-1][:topk].astype(dtype), n, m)
      return ret
  
imports: import functools
  import re
  import os
  import unittest
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  import scipy.linalg
  import scipy.sparse
  import jax
  from jax import config
  from jax._src import test_util
  from jax.experimental.sparse import linalg, bcoo
  import jax.numpy
label_desc: Use image node_id 13 for calling a global function with example usage: _callable_generators(dtype) and returns: ret