parameters: (*args)
return_statement: return tuple(out)
docstring: Construct an open mesh from multiple sequences.
  
      This function takes N 1-D sequences and returns N outputs with N
      dimensions each, such that the shape is 1 in all but one dimension
      and the dimension with the non-unit shape value cycles through all
      N dimensions.
  
      Using `ix_` one can quickly construct index arrays that will index
      the cross product. ``a[np.ix_([1,3],[2,5])]`` returns the array
      ``[[a[1,2] a[1,5]], [a[3,2] a[3,5]]]``.
  
      Parameters
      ----------
      args : 1-D sequences
  
      Returns
      -------
      out : tuple of ndarrays
          N arrays with N dimensions each, with N the number of input
          sequences. Together these arrays form an open mesh.
  
      See Also
      --------
      ogrid, mgrid, meshgrid
  
      Examples
      --------
      >>> a = np.arange(10).reshape(2, 5)
      >>> a
      array([[0, 1, 2, 3, 4],
             [5, 6, 7, 8, 9]])
      >>> ixgrid = np.ix_([0,1], [2,4])
      >>> ixgrid
      (array([[0],
             [1]]), array([[2, 4]]))
      >>> ixgrid[0].shape, ixgrid[1].shape
      ((2, 1), (1, 2))
      >>> a[ixgrid]
      array([[2, 4],
             [7, 9]])
docstring_summary: Construct an open mesh from multiple sequences.
docstring_tokens: Construct an open mesh from multiple sequences .
function: def ix_(*args):
      """
      Construct an open mesh from multiple sequences.
  
      This function takes N 1-D sequences and returns N outputs with N
      dimensions each, such that the shape is 1 in all but one dimension
      and the dimension with the non-unit shape value cycles through all
      N dimensions.
  
      Using `ix_` one can quickly construct index arrays that will index
      the cross product. ``a[np.ix_([1,3],[2,5])]`` returns the array
      ``[[a[1,2] a[1,5]], [a[3,2] a[3,5]]]``.
  
      Parameters
      ----------
      args : 1-D sequences
  
      Returns
      -------
      out : tuple of ndarrays
          N arrays with N dimensions each, with N the number of input
          sequences. Together these arrays form an open mesh.
  
      See Also
      --------
      ogrid, mgrid, meshgrid
  
      Examples
      --------
      >>> a = np.arange(10).reshape(2, 5)
      >>> a
      array([[0, 1, 2, 3, 4],
             [5, 6, 7, 8, 9]])
      >>> ixgrid = np.ix_([0,1], [2,4])
      >>> ixgrid
      (array([[0],
             [1]]), array([[2, 4]]))
      >>> ixgrid[0].shape, ixgrid[1].shape
      ((2, 1), (1, 2))
      >>> a[ixgrid]
      array([[2, 4],
             [7, 9]])
  
      """
      out = []
      nd = len(args)
      baseshape = [1]*nd
      for k in range(nd):
          new = _nx.asarray(args[k])
          if (new.ndim != 1):
              raise ValueError, "Cross index must be 1 dimensional"
          if issubclass(new.dtype.type, _nx.bool_):
              new = new.nonzero()[0]
          baseshape[k] = len(new)
          new = new.reshape(tuple(baseshape))
          out.append(new)
          baseshape[k] = 1
      return tuple(out)
function_tokens: def ix_ ( * args ) : out = [ ] nd = len ( args ) baseshape = [ 1 ] * nd for k in range ( nd ) : new = _nx . asarray ( args [ k ] ) if ( new . ndim != 1 ) : raise ValueError , "Cross index must be 1 dimensional" if issubclass ( new . dtype . type , _nx . bool_ ) : new = new . nonzero ( ) [ 0 ] baseshape [ k ] = len ( new ) new = new . reshape ( tuple ( baseshape ) ) out . append ( new ) baseshape [ k ] = 1 return tuple ( out )