Source code for pyamg.gallery.example

"""Examples stored in files."""

import os
from glob import glob

from scipy.io import loadmat

base_dir = os.path.split(__file__)[0]
example_dir = os.path.join(base_dir, 'example_data')
example_files = glob(os.path.join(example_dir, '*.mat'))
example_names = sorted(os.path.split(name)[1][:-4] for name in example_files)


[docs] def load_example(name): """Load an example problem by name. Parameters ---------- name : string (e.g. 'airfoil') Name of the example to load Notes ----- Each example is stored in a dictionary with the following keys: - 'A' : sparse matrix - 'B' : near-nullspace candidates - 'vertices' : dense array of nodal coordinates - 'elements' : dense array of element indices Current example names are:%s Examples -------- >>> from pyamg.gallery import load_example >>> ex = load_example('knot') """ if name not in example_names: raise ValueError(f'No example with name {name}') return loadmat(os.path.join(example_dir, name + '.mat'), struct_as_record=True)
# insert the example names into the docstring load_example.__doc__ %= ('\n' + ' ' * 8).join([''] + example_names)