mars.tensor.linspace#
- mars.tensor.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, gpu=None, chunk_size=None)[source]#
Return evenly spaced numbers over a specified interval.
Returns num evenly spaced samples, calculated over the interval [start, stop].
The endpoint of the interval can optionally be excluded.
- Parameters
start (scalar) – The starting value of the sequence.
stop (scalar) – The end value of the sequence, unless endpoint is set to False. In that case, the sequence consists of all but the last of
num + 1
evenly spaced samples, so that stop is excluded. Note that the step size changes when endpoint is False.num (int, optional) – Number of samples to generate. Default is 50. Must be non-negative.
endpoint (bool, optional) – If True, stop is the last sample. Otherwise, it is not included. Default is True.
retstep (bool, optional) – If True, return (samples, step), where step is the spacing between samples.
dtype (dtype, optional) – The type of the output tensor. If dtype is not given, infer the data type from the other input arguments.
gpu (bool, optional) – Allocate the tensor on GPU if True, False as default
chunk_size (int or tuple of int or tuple of ints, optional) – Desired chunk size on each dimension
- Returns
samples (Tensor) – There are num equally spaced samples in the closed interval
[start, stop]
or the half-open interval[start, stop)
(depending on whether endpoint is True or False).step (float, optional) – Only returned if retstep is True
Size of spacing between samples.
See also
arange
Similar to linspace, but uses a step size (instead of the number of samples).
logspace
Samples uniformly distributed in log space.
Examples
>>> import mars.tensor as mt
>>> mt.linspace(2.0, 3.0, num=5).execute() array([ 2. , 2.25, 2.5 , 2.75, 3. ]) >>> mt.linspace(2.0, 3.0, num=5, endpoint=False).execute() array([ 2. , 2.2, 2.4, 2.6, 2.8]) >>> mt.linspace(2.0, 3.0, num=5, retstep=True).execute() (array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
Graphical illustration:
>>> import matplotlib.pyplot as plt >>> N = 8 >>> y = mt.zeros(N) >>> x1 = mt.linspace(0, 10, N, endpoint=True) >>> x2 = mt.linspace(0, 10, N, endpoint=False) >>> plt.plot(x1.execute(), y.execute(), 'o') [<matplotlib.lines.Line2D object at 0x...>] >>> plt.plot(x2.execute(), y.execute() + 0.5, 'o') [<matplotlib.lines.Line2D object at 0x...>] >>> plt.ylim([-0.5, 1]) (-0.5, 1) >>> plt.show()