discretize.utils.sub2ind#
- discretize.utils.sub2ind(shape, subs)[source]#
Return indices of tensor grid elements from subscripts.
This function is a wrapper for
numpy.ravel_multi_index()with a hard-coded Fortran order, and a column order for themulti_indexConsider elements of a tensors grid whose positions are given by the subscripts (i,j,k). This function will return the corresponding indices of these elements. Each row of the input array subs defines the ijk for a particular tensor element.
- Parameters:
- shape(
dim)tupleofint Defines the shape of the tensor (1D, 2D or 3D).
- subs(
N,dim) array_likeofint The subscripts of the tensor grid elements. Each rows defines the position of a particular tensor element. The shape of of the array is (N, ndim).
- shape(
- Returns:
numpy.ndarrayofintThe indices of the tensor grid elements defined by subs.
See also
Examples
He we recreate the examples from
numpy.ravel_multi_index()to illustrate the differences. The indices corresponding to each dimension are now columns in the array (instead of rows), and it assumed to use a Fortran order.>>> import numpy as np >>> from discretize.utils import sub2ind >>> arr = np.array([[3, 4], [6, 5], [6, 1]]) >>> sub2ind((7, 6), arr) array([31, 41, 13], dtype=int64)