def interpolation_matrix(self, x, mask=None, weights=None, method='<STR_LIT>', n_jobs=-<NUM_LIT:1>):
if pimms.is_str(method): method = method.lower()<EOL>if method in [None, Ellipsis, '<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>elif method in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>return Mesh.scale_interpolation(<EOL>self.nearest_interpolation(x, n_jobs=n_jobs),<EOL>mask=mask,<EOL>weights=weights)<EOL><DEDENT>elif method in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>return Mesh.scale_interpolation(<EOL>self.linear_interpolation(x, n_jobs=n_jobs),<EOL>mask=mask,<EOL>weights=weights)<EOL><DEDENT>elif method in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT:h>']:<EOL><INDENT>return Mesh.scale_interpolation(<EOL>self.heaviest_interpolation(x, n_jobs=n_jobs),<EOL>mask=mask,<EOL>weights=weights)<EOL><DEDENT>else: raise ValueError('<STR_LIT>' % method)<EOL>
mesh.interpolation_matrix(x) yields an interpolation matrix for the given point matrix x (x
  ay also be an address-data map).

The following options are accepted:
  * mask (default: None) indicates that the given True/False or 0/1 valued list/array should
    be used; any point whose nearest neighbor (see below) is in the given mask will, instead
    of an interpolated value, be set to nan. The mask is interpreted by the mask() method.
  * method (default: 'linear') specifies what method to use for interpolation. The only
    currently supported methods are 'linear' and 'nearest'. Note that 'auto' cannot be used
    with interpolation_matrix() as it can with interpolate() because the data being
    interpolated is not given to interpolation_matrix() and thus cannot be used to deduce 
    the interpolation type. The 'nearest' method does not actually perform a
    nearest-neighbor interpolation but rather assigns to a destination vertex the value of
    the source vertex whose voronoi-like polygon contains the destination vertex; note that
    the term 'voronoi-like' is used here because it uses the Voronoi diagram that
    corresponds to the triangle mesh and not the true delaunay triangulation. The 'linear'
    method uses linear interpolation; though if the given data is non-numerical, then
    nearest interpolation is used instead. The 'automatic' method uses linear interpolation
    for any floating-point data and nearest interpolation for any integral or non-numeric
    data.
  * n_jobs (default: -1) is passed along to the cKDTree.query method, so may be set to an
    integer to specify how many processors to use, or may be -1 to specify all processors.