nlcpy.ravel

nlcpy.ravel(a, order='C')[source]

Returns a contiguous flattened array.

A 1-D array, containing the elements of the input, is returned. A copy is made only if needed.

Parameters
aarray_like

Input array. The elements in a are read in the order specified by order, and packed as a 1-D array.

order{‘C’, ‘F’, ‘A’, ‘K’}, optional

The elements of a are read using this index order. ‘C’ means to index the elements in row-major, C-style order, with the last axis index changing fastest, back to the first axis index changing slowest. ‘F’ means to index the elements in column-major, Fortran-style order, with the first index changing fastest, and the last index changing slowest. Note that the ‘C’ and ‘F’ options take no account of the memory layout of the underlying array, and only refer to the order of axis indexing. ‘A’ means to read the elements in Fortran-like index order if a is Fortran contiguous in memory, C-like order otherwise. ‘K’ means to read the elements in the order they occur in memory, except for reversing the data when strides are negative. By default, ‘C’ index order is used.

Returns
yndarray

y is an array of the same subtype as a, with shape (a.size,). Note that matrices are special cased for backward compatibility, if a is an ndarray, then y is a 1-D ndarray.

Note

In row-major, C-style order, in two dimensions, the row index varies the slowest, and the column index the quickest. This can be generalized to multiple dimensions, where row-major order implies that the index along the first axis varies slowest, and the index along the last quickest. The opposite holds for column-major, Fortran-style index ordering. When a view is desired in as many cases as possible, arr.reshape(-1) may be preferable.

Restriction

  • If order == ‘K’: NotImplementedError occurs.

Examples

It is equivalent to reshape(-1, order=order).

>>> import nlcpy as vp
>>> x = vp.array([[1, 2, 3], [4, 5, 6]])
>>> vp.ravel(x)
array([1, 2, 3, 4, 5, 6])
>>> vp.ravel(x, order='F')
array([1, 4, 2, 5, 3, 6])
>>> x.reshape(-1)
array([1, 2, 3, 4, 5, 6])
>>> a = vp.arange(12).reshape(2,3,2); a
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5]],

       [[ 6,  7],
        [ 8,  9],
        [10, 11]]])
>>> a.ravel(order='C')
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])