package scipy
Module Signal.BsplinesSource
Get an attribute of this module as a Py.Object.t. This is useful to pass a Python function to another function.
val add :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tadd(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Add arguments element-wise.
Parameters ---------- x1, x2 : array_like The arrays to be added. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- add : ndarray or scalar The sum of `x1` and `x2`, element-wise. This is a scalar if both `x1` and `x2` are scalars.
Notes ----- Equivalent to `x1` + `x2` in terms of array broadcasting.
Examples -------- >>> np.add(1.0, 4.0) 5.0 >>> x1 = np.arange(9.0).reshape((3, 3)) >>> x2 = np.arange(3.0) >>> np.add(x1, x2) array([ 0., 2., 4.], [ 3., 5., 7.], [ 6., 8., 10.])
val arange :
?start:[ `F of float | `I of int ] ->
?step:[ `F of float | `I of int ] ->
?dtype:Np.Dtype.t ->
stop:[ `F of float | `I of int ] ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tarange(start, stop, step,, dtype=None)
Return evenly spaced values within a given interval.
Values are generated within the half-open interval ``start, stop)`` (in other words, the interval including `start` but excluding `stop`). For integer arguments the function is equivalent to the Python built-in `range` function, but returns an ndarray rather than a list. When using a non-integer step, such as 0.1, the results will often not be consistent. It is better to use `numpy.linspace` for these cases. Parameters ---------- start : number, optional Start of interval. The interval includes this value. The default start value is 0. stop : number End of interval. The interval does not include this value, except in some cases where `step` is not an integer and floating point round-off affects the length of `out`. step : number, optional Spacing between values. For any output `out`, this is the distance between two adjacent values, ``out[i+1] - out[i]``. The default step size is 1. If `step` is specified as a position argument, `start` must also be given. dtype : dtype The type of the output array. If `dtype` is not given, infer the data type from the other input arguments. Returns ------- arange : ndarray Array of evenly spaced values. For floating point arguments, the length of the result is ``ceil((stop - start)/step)``. Because of floating point overflow, this rule may result in the last element of `out` being greater than `stop`. See Also -------- numpy.linspace : Evenly spaced numbers with careful handling of endpoints. numpy.ogrid: Arrays of evenly spaced numbers in N-dimensions. numpy.mgrid: Grid-shaped arrays of evenly spaced numbers in N-dimensions. Examples -------- >>> np.arange(3) array([0, 1, 2]) >>> np.arange(3.0) array([ 0., 1., 2.]) >>> np.arange(3,7) array([3, 4, 5, 6]) >>> np.arange(3,7,2) array([3, 5])
val arctan2 :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tarctan2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Element-wise arc tangent of ``x1/x2`` choosing the quadrant correctly.
The quadrant (i.e., branch) is chosen so that ``arctan2(x1, x2)`` is the signed angle in radians between the ray ending at the origin and passing through the point (1,0), and the ray ending at the origin and passing through the point (`x2`, `x1`). (Note the role reversal: the '`y`-coordinate' is the first function parameter, the '`x`-coordinate' is the second.) By IEEE convention, this function is defined for `x2` = +/-0 and for either or both of `x1` and `x2` = +/-inf (see Notes for specific values).
This function is not defined for complex-valued arguments; for the so-called argument of complex values, use `angle`.
Parameters ---------- x1 : array_like, real-valued `y`-coordinates. x2 : array_like, real-valued `x`-coordinates. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- angle : ndarray Array of angles in radians, in the range ``-pi, pi``. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- arctan, tan, angle
Notes ----- *arctan2* is identical to the `atan2` function of the underlying C library. The following special values are defined in the C standard: 1_
====== ====== ================ `x1` `x2` `arctan2(x1,x2)` ====== ====== ================ +/- 0 +0 +/- 0 +/- 0 -0 +/- pi > 0 +/-inf +0 / +pi < 0 +/-inf -0 / -pi +/-inf +inf +/- (pi/4) +/-inf -inf +/- (3*pi/4) ====== ====== ================
Note that +0 and -0 are distinct floating point numbers, as are +inf and -inf.
References ---------- .. 1 ISO/IEC standard 9899:1999, 'Programming language C.'
Examples -------- Consider four points in different quadrants:
>>> x = np.array(-1, +1, +1, -1) >>> y = np.array(-1, -1, +1, +1) >>> np.arctan2(y, x) * 180 / np.pi array(-135., -45., 45., 135.)
Note the order of the parameters. `arctan2` is defined also when `x2` = 0 and at several other special points, obtaining values in the range ``-pi, pi``:
>>> np.arctan2(1., -1., 0., 0.) array( 1.57079633, -1.57079633) >>> np.arctan2(0., 0., np.inf, +0., -0., np.inf) array( 0. , 3.14159265, 0.78539816)
val array :
?dtype:Np.Dtype.t ->
?copy:bool ->
?order:[ `K | `A | `C | `F ] ->
?subok:bool ->
?ndmin:int ->
object_:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tarray(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0)
Create an array.
Parameters ---------- object : array_like An array, any object exposing the array interface, an object whose __array__ method returns an array, or any (nested) sequence. dtype : data-type, optional The desired data-type for the array. If not given, then the type will be determined as the minimum type required to hold the objects in the sequence. copy : bool, optional If true (default), then the object is copied. Otherwise, a copy will only be made if __array__ returns a copy, if obj is a nested sequence, or if a copy is needed to satisfy any of the other requirements (`dtype`, `order`, etc.). order : 'K', 'A', 'C', 'F', optional Specify the memory layout of the array. If object is not an array, the newly created array will be in C order (row major) unless 'F' is specified, in which case it will be in Fortran order (column major). If object is an array the following holds.
===== ========= =================================================== order no copy copy=True ===== ========= =================================================== 'K' unchanged F & C order preserved, otherwise most similar order 'A' unchanged F order if input is F and not C, otherwise C order 'C' C order C order 'F' F order F order ===== ========= ===================================================
When ``copy=False`` and a copy is made for other reasons, the result is the same as if ``copy=True``, with some exceptions for `A`, see the Notes section. The default order is 'K'. subok : bool, optional If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array (default). ndmin : int, optional Specifies the minimum number of dimensions that the resulting array should have. Ones will be pre-pended to the shape as needed to meet this requirement.
Returns ------- out : ndarray An array object satisfying the specified requirements.
See Also -------- empty_like : Return an empty array with shape and type of input. ones_like : Return an array of ones with shape and type of input. zeros_like : Return an array of zeros with shape and type of input. full_like : Return a new array with shape of input filled with value. empty : Return a new uninitialized array. ones : Return a new array setting values to one. zeros : Return a new array setting values to zero. full : Return a new array of given shape filled with value.
Notes ----- When order is 'A' and `object` is an array in neither 'C' nor 'F' order, and a copy is forced by a change in dtype, then the order of the result is not necessarily 'C' as expected. This is likely a bug.
Examples -------- >>> np.array(1, 2, 3) array(1, 2, 3)
Upcasting:
>>> np.array(1, 2, 3.0) array( 1., 2., 3.)
More than one dimension:
>>> np.array([1, 2], [3, 4]) array([1, 2], [3, 4])
Minimum dimensions 2:
>>> np.array(1, 2, 3, ndmin=2) array([1, 2, 3])
Type provided:
>>> np.array(1, 2, 3, dtype=complex) array( 1.+0.j, 2.+0.j, 3.+0.j)
Data-type consisting of more than one element:
>>> x = np.array((1,2),(3,4),dtype=('a','<i4'),('b','<i4')) >>> x'a' array(1, 3)
Creating an array from sub-classes:
>>> np.array(np.mat('1 2; 3 4')) array([1, 2], [3, 4])
>>> np.array(np.mat('1 2; 3 4'), subok=True) matrix([1, 2], [3, 4])
val asarray :
?dtype:Np.Dtype.t ->
?order:[ `C | `F ] ->
a:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tConvert the input to an array.
Parameters ---------- a : array_like Input data, in any form that can be converted to an array. This includes lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays. dtype : data-type, optional By default, the data-type is inferred from the input data. order : 'C', 'F', optional Whether to use row-major (C-style) or column-major (Fortran-style) memory representation. Defaults to 'C'.
Returns ------- out : ndarray Array interpretation of `a`. No copy is performed if the input is already an ndarray with matching dtype and order. If `a` is a subclass of ndarray, a base class ndarray is returned.
See Also -------- asanyarray : Similar function which passes through subclasses. ascontiguousarray : Convert input to a contiguous array. asfarray : Convert input to a floating point ndarray. asfortranarray : Convert input to an ndarray with column-major memory order. asarray_chkfinite : Similar function which checks input for NaNs and Infs. fromiter : Create an array from an iterator. fromfunction : Construct an array by executing a function on grid positions.
Examples -------- Convert a list into an array:
>>> a = 1, 2 >>> np.asarray(a) array(1, 2)
Existing arrays are not copied:
>>> a = np.array(1, 2) >>> np.asarray(a) is a True
If `dtype` is set, array is copied only if dtype does not match:
>>> a = np.array(1, 2, dtype=np.float32) >>> np.asarray(a, dtype=np.float32) is a True >>> np.asarray(a, dtype=np.float64) is a False
Contrary to `asanyarray`, ndarray subclasses are not passed through:
>>> issubclass(np.recarray, np.ndarray) True >>> a = np.array((1.0, 2), (3.0, 4), dtype='f4,i4').view(np.recarray) >>> np.asarray(a) is a False >>> np.asanyarray(a) is a True
B-spline basis function of order n.
Notes ----- Uses numpy.piecewise and automatic function-generator.
val comb :
?exact:bool ->
?repetition:bool ->
n:[ `Ndarray of [> `Ndarray ] Np.Obj.t | `I of int ] ->
k:[ `Ndarray of [> `Ndarray ] Np.Obj.t | `I of int ] ->
unit ->
Py.Object.tThe number of combinations of N things taken k at a time.
This is often expressed as 'N choose k'.
Parameters ---------- N : int, ndarray Number of things. k : int, ndarray Number of elements taken. exact : bool, optional If `exact` is False, then floating point precision is used, otherwise exact long integer is computed. repetition : bool, optional If `repetition` is True, then the number of combinations with repetition is computed.
Returns ------- val : int, float, ndarray The total number of combinations.
See Also -------- binom : Binomial coefficient ufunc
Notes -----
- Array arguments accepted only for exact=False case.
- If N < 0, or k < 0, then 0 is returned.
- If k > N and repetition=False, then 0 is returned.
Examples -------- >>> from scipy.special import comb >>> k = np.array(3, 4) >>> n = np.array(10, 10) >>> comb(n, k, exact=False) array( 120., 210.) >>> comb(10, 3, exact=True) 120 >>> comb(10, 3, exact=True, repetition=True) 220
val cos :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tcos(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Cosine element-wise.
Parameters ---------- x : array_like Input array in radians. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : ndarray The corresponding cosine values. This is a scalar if `x` is a scalar.
Notes ----- If `out` is provided, the function writes the result into it, and returns a reference to `out`. (See Examples)
References ---------- M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions. New York, NY: Dover, 1972.
Examples -------- >>> np.cos(np.array(0, np.pi/2, np.pi)) array( 1.00000000e+00, 6.12303177e-17, -1.00000000e+00) >>> >>> # Example of providing the optional output parameter >>> out1 = np.array(0, dtype='d') >>> out2 = np.cos(0.1, out1) >>> out2 is out1 True >>> >>> # Example of ValueError due to provision of shape mis-matched `out` >>> np.cos(np.zeros((3,3)),np.zeros((2,2))) Traceback (most recent call last): File '<stdin>', line 1, in <module> ValueError: operands could not be broadcast together with shapes (3,3) (2,2)
val cspline1d :
?lamb:float ->
signal:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tCompute cubic spline coefficients for rank-1 array.
Find the cubic spline coefficients for a 1-D signal assuming mirror-symmetric boundary conditions. To obtain the signal back from the spline representation mirror-symmetric-convolve these coefficients with a length 3 FIR window 1.0, 4.0, 1.0/ 6.0 .
Parameters ---------- signal : ndarray A rank-1 array representing samples of a signal. lamb : float, optional Smoothing coefficient, default is 0.0.
Returns ------- c : ndarray Cubic spline coefficients.
val cspline1d_eval :
?dx:Py.Object.t ->
?x0:Py.Object.t ->
cj:Py.Object.t ->
newx:Py.Object.t ->
unit ->
Py.Object.tEvaluate a spline at the new set of points.
`dx` is the old sample-spacing while `x0` was the old origin. In other-words the old-sample points (knot-points) for which the `cj` represent spline coefficients were at equally-spaced points of:
oldx = x0 + j*dx j=0...N-1, with N=len(cj)
Edges are handled using mirror-symmetric boundary conditions.
A cubic B-spline.
This is a special case of `bspline`, and equivalent to ``bspline(x, 3)``.
val exp :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.texp(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Calculate the exponential of all elements in the input array.
Parameters ---------- x : array_like Input values. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- out : ndarray or scalar Output array, element-wise exponential of `x`. This is a scalar if `x` is a scalar.
See Also -------- expm1 : Calculate ``exp(x) - 1`` for all elements in the array. exp2 : Calculate ``2**x`` for all elements in the array.
Notes ----- The irrational number ``e`` is also known as Euler's number. It is approximately 2.718281, and is the base of the natural logarithm, ``ln`` (this means that, if :math:`x = \ln y = \log_e y`, then :math:`e^x = y`. For real input, ``exp(x)`` is always positive.
For complex arguments, ``x = a + ib``, we can write :math:`e^x = e^a e^b`. The first term, :math:`e^a`, is already known (it is the real argument, described above). The second term, :math:`e^b`, is :math:`\cos b + i \sin b`, a function with magnitude 1 and a periodic phase.
References ---------- .. 1 Wikipedia, 'Exponential function', https://en.wikipedia.org/wiki/Exponential_function .. 2 M. Abramovitz and I. A. Stegun, 'Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables,' Dover, 1964, p. 69, http://www.math.sfu.ca/~cbm/aands/page_69.htm
Examples -------- Plot the magnitude and phase of ``exp(x)`` in the complex plane:
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(-2*np.pi, 2*np.pi, 100) >>> xx = x + 1j * x:, np.newaxis # a + ib over complex plane >>> out = np.exp(xx)
>>> plt.subplot(121) >>> plt.imshow(np.abs(out), ... extent=-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi, cmap='gray') >>> plt.title('Magnitude of exp(x)')
>>> plt.subplot(122) >>> plt.imshow(np.angle(out), ... extent=-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi, cmap='hsv') >>> plt.title('Phase (angle) of exp(x)') >>> plt.show()
Compute the factorial and return as a float
Returns infinity when result is too large for a double
val floor :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tfloor(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the floor of the input, element-wise.
The floor of the scalar `x` is the largest integer `i`, such that `i <= x`. It is often denoted as :math:`\lfloor x \rfloor`.
Parameters ---------- x : array_like Input data. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : ndarray or scalar The floor of each element in `x`. This is a scalar if `x` is a scalar.
See Also -------- ceil, trunc, rint
Notes ----- Some spreadsheet programs calculate the 'floor-towards-zero', in other words ``floor(-2.5) == -2``. NumPy instead uses the definition of `floor` where `floor(-2.5) == -3`.
Examples -------- >>> a = np.array(-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0) >>> np.floor(a) array(-2., -2., -1., 0., 1., 1., 2.)
Gaussian approximation to B-spline basis function of order n.
Parameters ---------- n : int The order of the spline. Must be nonnegative, i.e., n >= 0
References ---------- .. 1 Bouma H., Vilanova A., Bescos J.O., ter Haar Romeny B.M., Gerritsen F.A. (2007) Fast and Accurate Gaussian Derivatives Based on B-Splines. In: Sgallari F., Murli A., Paragios N. (eds) Scale Space and Variational Methods in Computer Vision. SSVM 2007. Lecture Notes in Computer Science, vol 4485. Springer, Berlin, Heidelberg
val greater :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tgreater(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the truth value of (x1 > x2) element-wise.
Parameters ---------- x1, x2 : array_like Input arrays. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- out : ndarray or scalar Output array, element-wise comparison of `x1` and `x2`. Typically of type bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- greater_equal, less, less_equal, equal, not_equal
Examples -------- >>> np.greater(4,2,2,2) array( True, False)
If the inputs are ndarrays, then np.greater is equivalent to '>'.
>>> a = np.array(4,2) >>> b = np.array(2,2) >>> a > b array( True, False)
val greater_equal :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
Py.Object.tgreater_equal(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the truth value of (x1 >= x2) element-wise.
Parameters ---------- x1, x2 : array_like Input arrays. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- out : bool or ndarray of bool Output array, element-wise comparison of `x1` and `x2`. Typically of type bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- greater, less, less_equal, equal, not_equal
Examples -------- >>> np.greater_equal(4, 2, 1, 2, 2, 2) array( True, True, False)
val less :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tless(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the truth value of (x1 < x2) element-wise.
Parameters ---------- x1, x2 : array_like Input arrays. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- out : ndarray or scalar Output array, element-wise comparison of `x1` and `x2`. Typically of type bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- greater, less_equal, greater_equal, equal, not_equal
Examples -------- >>> np.less(1, 2, 2, 2) array( True, False)
val less_equal :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tless_equal(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the truth value of (x1 =< x2) element-wise.
Parameters ---------- x1, x2 : array_like Input arrays. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- out : ndarray or scalar Output array, element-wise comparison of `x1` and `x2`. Typically of type bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- greater, less, greater_equal, equal, not_equal
Examples -------- >>> np.less_equal(4, 2, 1, 2, 2, 2) array(False, True, True)
val logical_and :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:Py.Object.t ->
unit ->
Py.Object.tlogical_and(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Compute the truth value of x1 AND x2 element-wise.
Parameters ---------- x1, x2 : array_like Input arrays. If ``x1.shape != x2.shape``, they must be broadcastable to a common shape (which becomes the shape of the output). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : ndarray or bool Boolean result of the logical AND operation applied to the elements of `x1` and `x2`; the shape is determined by broadcasting. This is a scalar if both `x1` and `x2` are scalars.
See Also -------- logical_or, logical_not, logical_xor bitwise_and
Examples -------- >>> np.logical_and(True, False) False >>> np.logical_and(True, False, False, False) array(False, False)
>>> x = np.arange(5) >>> np.logical_and(x>1, x<4) array(False, False, True, True, False)
val piecewise :
?kw:(string * Py.Object.t) list ->
x:[> `Ndarray ] Np.Obj.t ->
condlist:Py.Object.t ->
funclist:Py.Object.t ->
Py.Object.t list ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tEvaluate a piecewise-defined function.
Given a set of conditions and corresponding functions, evaluate each function on the input data wherever its condition is true.
Parameters ---------- x : ndarray or scalar The input domain. condlist : list of bool arrays or bool scalars Each boolean array corresponds to a function in `funclist`. Wherever `condlisti` is True, `funclisti(x)` is used as the output value.
Each boolean array in `condlist` selects a piece of `x`, and should therefore be of the same shape as `x`.
The length of `condlist` must correspond to that of `funclist`. If one extra function is given, i.e. if ``len(funclist) == len(condlist) + 1``, then that extra function is the default value, used wherever all conditions are false. funclist : list of callables, f(x,*args,**kw), or scalars Each function is evaluated over `x` wherever its corresponding condition is True. It should take a 1d array as input and give an 1d array or a scalar value as output. If, instead of a callable, a scalar is provided then a constant function (``lambda x: scalar``) is assumed. args : tuple, optional Any further arguments given to `piecewise` are passed to the functions upon execution, i.e., if called ``piecewise(..., ..., 1, 'a')``, then each function is called as ``f(x, 1, 'a')``. kw : dict, optional Keyword arguments used in calling `piecewise` are passed to the functions upon execution, i.e., if called ``piecewise(..., ..., alpha=1)``, then each function is called as ``f(x, alpha=1)``.
Returns ------- out : ndarray The output is the same shape and type as x and is found by calling the functions in `funclist` on the appropriate portions of `x`, as defined by the boolean arrays in `condlist`. Portions not covered by any condition have a default value of 0.
See Also -------- choose, select, where
Notes ----- This is similar to choose or select, except that functions are evaluated on elements of `x` that satisfy the corresponding condition from `condlist`.
The result is::
|-- |funclist0(xcondlist[0]) out = |funclist1(xcondlist[1]) |... |funclistn2(xcondlist[n2]) |--
Examples -------- Define the sigma function, which is -1 for ``x < 0`` and +1 for ``x >= 0``.
>>> x = np.linspace(-2.5, 2.5, 6) >>> np.piecewise(x, x < 0, x >= 0, -1, 1) array(-1., -1., -1., 1., 1., 1.)
Define the absolute value, which is ``-x`` for ``x <0`` and ``x`` for ``x >= 0``.
>>> np.piecewise(x, x < 0, x >= 0, lambda x: -x, lambda x: x) array(2.5, 1.5, 0.5, 0.5, 1.5, 2.5)
Apply the same function to a scalar value.
>>> y = -2 >>> np.piecewise(y, y < 0, y >= 0, lambda x: -x, lambda x: x) array(2)
val qspline1d :
?lamb:float ->
signal:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tCompute quadratic spline coefficients for rank-1 array.
Parameters ---------- signal : ndarray A rank-1 array representing samples of a signal. lamb : float, optional Smoothing coefficient (must be zero for now).
Returns ------- c : ndarray Quadratic spline coefficients.
See Also -------- qspline1d_eval : Evaluate a quadratic spline at the new set of points.
Notes ----- Find the quadratic spline coefficients for a 1-D signal assuming mirror-symmetric boundary conditions. To obtain the signal back from the spline representation mirror-symmetric-convolve these coefficients with a length 3 FIR window 1.0, 6.0, 1.0/ 8.0 .
Examples -------- We can filter a signal to reduce and smooth out high-frequency noise with a quadratic spline:
>>> import matplotlib.pyplot as plt >>> from scipy.signal import qspline1d, qspline1d_eval >>> sig = np.repeat(0., 1., 0., 100) >>> sig += np.random.randn(len(sig))*0.05 # add noise >>> time = np.linspace(0, len(sig)) >>> filtered = qspline1d_eval(qspline1d(sig), time) >>> plt.plot(sig, label='signal') >>> plt.plot(time, filtered, label='filtered') >>> plt.legend() >>> plt.show()
val qspline1d_eval :
?dx:float ->
?x0:int ->
cj:[> `Ndarray ] Np.Obj.t ->
newx:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tEvaluate a quadratic spline at the new set of points.
Parameters ---------- cj : ndarray Quadratic spline coefficients newx : ndarray New set of points. dx : float, optional Old sample-spacing, the default value is 1.0. x0 : int, optional Old origin, the default value is 0.
Returns ------- res : ndarray Evaluated a quadratic spline points.
See Also -------- qspline1d : Compute quadratic spline coefficients for rank-1 array.
Notes ----- `dx` is the old sample-spacing while `x0` was the old origin. In other-words the old-sample points (knot-points) for which the `cj` represent spline coefficients were at equally-spaced points of::
oldx = x0 + j*dx j=0...N-1, with N=len(cj)
Edges are handled using mirror-symmetric boundary conditions.
Examples -------- We can filter a signal to reduce and smooth out high-frequency noise with a quadratic spline:
>>> import matplotlib.pyplot as plt >>> from scipy.signal import qspline1d, qspline1d_eval >>> sig = np.repeat(0., 1., 0., 100) >>> sig += np.random.randn(len(sig))*0.05 # add noise >>> time = np.linspace(0, len(sig)) >>> filtered = qspline1d_eval(qspline1d(sig), time) >>> plt.plot(sig, label='signal') >>> plt.plot(time, filtered, label='filtered') >>> plt.legend() >>> plt.show()
A quadratic B-spline.
This is a special case of `bspline`, and equivalent to ``bspline(x, 2)``.
val sin :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tsin(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Trigonometric sine, element-wise.
Parameters ---------- x : array_like Angle, in radians (:math:`2 \pi` rad equals 360 degrees). out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : array_like The sine of each element of x. This is a scalar if `x` is a scalar.
See Also -------- arcsin, sinh, cos
Notes ----- The sine is one of the fundamental functions of trigonometry (the mathematical study of triangles). Consider a circle of radius 1 centered on the origin. A ray comes in from the :math:`+x` axis, makes an angle at the origin (measured counter-clockwise from that axis), and departs from the origin. The :math:`y` coordinate of the outgoing ray's intersection with the unit circle is the sine of that angle. It ranges from -1 for :math:`x=3\pi / 2` to +1 for :math:`\pi / 2.` The function has zeroes where the angle is a multiple of :math:`\pi`. Sines of angles between :math:`\pi` and :math:`2\pi` are negative. The numerous properties of the sine and related functions are included in any standard trigonometry text.
Examples -------- Print sine of one angle:
>>> np.sin(np.pi/2.) 1.0
Print sines of an array of angles given in degrees:
>>> np.sin(np.array((0., 30., 45., 60., 90.)) * np.pi / 180. ) array( 0. , 0.5 , 0.70710678, 0.8660254 , 1. )
Plot the sine function:
>>> import matplotlib.pylab as plt >>> x = np.linspace(-np.pi, np.pi, 201) >>> plt.plot(x, np.sin(x)) >>> plt.xlabel('Angle rad') >>> plt.ylabel('sin(x)') >>> plt.axis('tight') >>> plt.show()
Smoothing spline (cubic) filtering of a rank-2 array.
Filter an input data set, `Iin`, using a (cubic) smoothing spline of fall-off `lmbda`.
val sqrt :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tsqrt(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Return the non-negative square-root of an array, element-wise.
Parameters ---------- x : array_like The values whose square-roots are required. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : ndarray An array of the same shape as `x`, containing the positive square-root of each element in `x`. If any element in `x` is complex, a complex array is returned (and the square-roots of negative reals are calculated). If all of the elements in `x` are real, so is `y`, with negative elements returning ``nan``. If `out` was provided, `y` is a reference to it. This is a scalar if `x` is a scalar.
See Also -------- lib.scimath.sqrt A version which returns complex numbers when given negative reals.
Notes ----- *sqrt* has--consistent with common convention--as its branch cut the real 'interval' `-inf`, 0), and is continuous from above on it. A branch cut is a curve in the complex plane across which a given complex function fails to be continuous. Examples -------- >>> np.sqrt([1,4,9]) array([ 1., 2., 3.]) >>> np.sqrt([4, -1, -3+4J]) array([ 2.+0.j, 0.+1.j, 1.+2.j]) >>> np.sqrt([4, -1, np.inf]) array([ 2., nan, inf])
val tan :
?out:
[ `Ndarray of [> `Ndarray ] Np.Obj.t
| `Tuple_of_ndarray_and_None of Py.Object.t ] ->
?where:[> `Ndarray ] Np.Obj.t ->
x:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.ttan(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True, signature, extobj)
Compute tangent element-wise.
Equivalent to ``np.sin(x)/np.cos(x)`` element-wise.
Parameters ---------- x : array_like Input array. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional This condition is broadcast over the input. At locations where the condition is True, the `out` array will be set to the ufunc result. Elsewhere, the `out` array will retain its original value. Note that if an uninitialized `out` array is created via the default ``out=None``, locations within it where the condition is False will remain uninitialized. **kwargs For other keyword-only arguments, see the :ref:`ufunc docs <ufuncs.kwargs>`.
Returns ------- y : ndarray The corresponding tangent values. This is a scalar if `x` is a scalar.
Notes ----- If `out` is provided, the function writes the result into it, and returns a reference to `out`. (See Examples)
References ---------- M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions. New York, NY: Dover, 1972.
Examples -------- >>> from math import pi >>> np.tan(np.array(-pi,pi/2,pi)) array( 1.22460635e-16, 1.63317787e+16, -1.22460635e-16) >>> >>> # Example of providing the optional output parameter illustrating >>> # that what is returned is a reference to said parameter >>> out1 = np.array(0, dtype='d') >>> out2 = np.cos(0.1, out1) >>> out2 is out1 True >>> >>> # Example of ValueError due to provision of shape mis-matched `out` >>> np.cos(np.zeros((3,3)),np.zeros((2,2))) Traceback (most recent call last): File '<stdin>', line 1, in <module> ValueError: operands could not be broadcast together with shapes (3,3) (2,2)
val zeros :
?dtype:Np.Dtype.t ->
?order:[ `C | `F ] ->
shape:int list ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tzeros(shape, dtype=float, order='C')
Return a new array of given shape and type, filled with zeros.
Parameters ---------- shape : int or tuple of ints Shape of the new array, e.g., ``(2, 3)`` or ``2``. dtype : data-type, optional The desired data-type for the array, e.g., `numpy.int8`. Default is `numpy.float64`. order : 'C', 'F', optional, default: 'C' Whether to store multi-dimensional data in row-major (C-style) or column-major (Fortran-style) order in memory.
Returns ------- out : ndarray Array of zeros with the given shape, dtype, and order.
See Also -------- zeros_like : Return an array of zeros with shape and type of input. empty : Return a new uninitialized array. ones : Return a new array setting values to one. full : Return a new array of given shape filled with value.
Examples -------- >>> np.zeros(5) array( 0., 0., 0., 0., 0.)
>>> np.zeros((5,), dtype=int) array(0, 0, 0, 0, 0)
>>> np.zeros((2, 1)) array([ 0.], [ 0.])
>>> s = (2,2) >>> np.zeros(s) array([ 0., 0.], [ 0., 0.])
>>> np.zeros((2,), dtype=('x', 'i4'), ('y', 'i4')) # custom dtype array((0, 0), (0, 0), dtype=('x', '<i4'), ('y', '<i4'))
val zeros_like :
?dtype:Np.Dtype.t ->
?order:[ `A | `F | `PyObject of Py.Object.t ] ->
?subok:bool ->
?shape:[ `I of int | `Is of int list ] ->
a:[> `Ndarray ] Np.Obj.t ->
unit ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tReturn an array of zeros with the same shape and type as a given array.
Parameters ---------- a : array_like The shape and data-type of `a` define these same attributes of the returned array. dtype : data-type, optional Overrides the data type of the result.
.. versionadded:: 1.6.0 order : 'C', 'F', 'A', or 'K', optional Overrides the memory layout of the result. 'C' means C-order, 'F' means F-order, 'A' means 'F' if `a` is Fortran contiguous, 'C' otherwise. 'K' means match the layout of `a` as closely as possible.
.. versionadded:: 1.6.0 subok : bool, optional. If True, then the newly created array will use the sub-class type of 'a', otherwise it will be a base-class array. Defaults to True. shape : int or sequence of ints, optional. Overrides the shape of the result. If order='K' and the number of dimensions is unchanged, will try to keep order, otherwise, order='C' is implied.
.. versionadded:: 1.17.0
Returns ------- out : ndarray Array of zeros with the same shape and type as `a`.
See Also -------- empty_like : Return an empty array with shape and type of input. ones_like : Return an array of ones with shape and type of input. full_like : Return a new array with shape of input filled with value. zeros : Return a new array setting values to zero.
Examples -------- >>> x = np.arange(6) >>> x = x.reshape((2, 3)) >>> x array([0, 1, 2], [3, 4, 5]) >>> np.zeros_like(x) array([0, 0, 0], [0, 0, 0])
>>> y = np.arange(3, dtype=float) >>> y array(0., 1., 2.) >>> np.zeros_like(y) array(0., 0., 0.)