nlcpy.atleast_3d

nlcpy.atleast_3d(*arys)[source]

Views inputs as arrays with at least three dimensions.

Parameters
arys1, arys2, …array_like

One or more array-like sequences. Non-array inputs are converted to arrays. Arrays that already have three or more dimensions are preserved.

Returns
res1, res2, …ndarray

An array, or list of arrays, each with ndim >= 3. Copies are avoided where possible, and views with three or more dimensions are returned. For example, a 1-D array of shape (N,) becomes a view of shape (1, N, 1), and a 2-D array of shape (M, N) becomes a view of shape (M, N, 1).

See also

atleast_1d

Converts inputs to arrays with at least one dimension.

atleast_2d

Views inputs as arrays with at least two dimensions.

Examples

>>> import nlcpy as vp
>>> vp.atleast_3d(3.0)
array([[[3.]]])
>>> x = vp.arange(3.0)
>>> vp.atleast_3d(x).shape
(1, 3, 1)
>>> x = vp.arange(12.0).reshape(4,3)
>>> vp.atleast_3d(x).shape
(4, 3, 1)
>>> vp.atleast_3d(x).base is x.base  # x is a reshape, so not base itself
True
>>> for arr in vp.atleast_3d([1, 2], [[1, 2]], [[[1, 2]]]):
...     print(arr, arr.shape) 
...
[[[1]
  [2]]] (1, 2, 1)
[[[1]
  [2]]] (1, 2, 1)
[[[1 2]]] (1, 1, 2)