Source code for pyamg.gallery.example

"""Examples stored in files"""

__docformat__ = "restructuredtext en"

import os
from fnmatch import fnmatch
from glob import glob
from itertools import izip

from scipy.io import loadmat

__all__ = ['load_example']

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 = [os.path.split(name)[1][:-4] for name in example_files]

example_names.sort()


[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('no example with name (%s)' % name) else: 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)