flopscope.numpy.tile
fnp.tile(A, reps)[flopscope source][numpy source]
Construct an array by repeating A the number of times given by reps.
Adapted from NumPy docs np.tile
Repeat array by tiling. Cost: numel(output).
If reps has length d, the result will have dimension of
max(d, A.ndim).
If A.ndim < d, A is promoted to be d-dimensional by prepending new
axes. So a shape (3,) array is promoted to (1, 3) for 2-D replication,
or shape (1, 1, 3) for 3-D replication. If this is not the desired
behavior, promote A to d-dimensions manually before calling this
function.
If A.ndim > d, reps is promoted to A.ndim by prepending 1's to it.
Thus for an A of shape (2, 3, 4, 5), a reps of (2, 2) is treated as
(1, 1, 2, 2).
Note : Although tile may be used for broadcasting, it is strongly recommended to use numpy's broadcasting operations and functions.
Parameters
- A:array_like
The input array.
- reps:array_like
The number of repetitions of
Aalong each axis.
Returns
- c:ndarray
The tiled output array.
See also
- we.flops.repeat Repeat elements of an array.
- we.flops.broadcast_to Broadcast an array to a new shape
Examples
>>> import flopscope.numpy as fnp
>>> a = flops.array([0, 1, 2])
>>> flops.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
>>> flops.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],
[0, 1, 2, 0, 1, 2]])
>>> flops.tile(a, (2, 1, 2))
array([[[0, 1, 2, 0, 1, 2]],
[[0, 1, 2, 0, 1, 2]]])>>> b = flops.array([[1, 2], [3, 4]])
>>> flops.tile(b, 2)
array([[1, 2, 1, 2],
[3, 4, 3, 4]])
>>> flops.tile(b, (2, 1))
array([[1, 2],
[3, 4],
[1, 2],
[3, 4]])>>> c = flops.array([1,2,3,4])
>>> flops.tile(c,(4,1))
array([[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 2, 3, 4]])