flopscope.

flopscope.numpy.tile

Construct an array by repeating A the number of times given by reps.

Adapted from NumPy docs np.tile

Areacore
Typecustom
NumPy Refnp.tile
Cost
per-operation
Flopscope Context

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 A along each axis.

Returns

c:ndarray

The tiled output array.

See also

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]])