| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Remove the comment suggesting that they are not
|
|
|
|
|
|
|
| |
`poly.coeffs = 1` has always failed with a strong exception guarantee.
However, `poly.coeffs += 1` would both change the state and fail.
Now both fail without affecting the value.
|
|
|
|
| |
Scipy needs `.__dict__['coeffs']` to work, so we can't call the member _coeffs
|
| |
|
|
|
|
|
| |
Presumably written long before @property existed. This means we don't need
__dict__ everywhere
|
|
|
|
| |
Fixes #8760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
np.roots() does not always return complex roots, the
roots of a polynomial depend its coefficients and
therefore may be in the real or complex domain.
e.g.
```
>>> (np.roots([1,2,3])).dtype
dtype('complex128')
>>> (np.roots([1,2,])).dtype
dtype('float64')
```
|
| |
|
|
|
| |
The first dimension of the return value depends on the degree of the polynomial, not the number of elements being used in the fit.
|
|
|
|
| |
Also a slight refactoring of np.polyfit.
|
|
|
|
|
|
|
|
| |
This should fix the issue discussed at
https://mail.scipy.org/pipermail/numpy-discussion/2013-July/067076.html
Without the ValueError added here, polyfit can (and does) return
negative or nan variances with no warning.
|
|\
| |
| | |
BUG: change real output checking to test if all imaginary parts are zero
|
| | |
|
| |
| |
| |
| | |
conjugates
|
| | |
|
| |
| |
| |
| | |
Closes gh-6849.
|
| |
| |
| |
| | |
Closes gh-6863.
|
|/ |
|
|
|
|
|
|
|
|
|
| |
- {ndarray, bool} -> ndarray or bool
- {int, array of ints} -> int or array of ints
- {str, function} -> str or function
- {sequnce, int} -> sequence or int
- {array_like, poly1d} -> array_like or poly1d
- {None, list of `m` scalars, scalar} -> list of `m` scalars or scalar
|
|
|
|
|
|
| |
Closes #5096. Casts integer arrays to np.double, to prevent
integer overflow. Object arrays are left unchanged, to allow
use of arbitrary precision objects.
|
|
|
|
|
|
|
|
|
| |
Multiplying a numpy_scalar times a numpy_array is much faster than
the other way around. This PR switches the order of multiplication
in the polyval function resulting in a speedup of about 5x for scalar
values of x.
Closes #4610.
|
|
|
|
| |
The rules enforced are the same as those used for scipy.
|
|
|
|
|
|
|
| |
Makes the identity check `a = np.array([np.nan], dtype=object)`
`a == a`, etc. a deprecation/futurewarning instead of just
changing it.
Also fixes some smaller things.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means that for example broadcasting errors get raised.
The array_equiv function is changed to explicitely test
if broadcasting is possible. It may be nice to do this
test differently, but I am not sure if that is possible.
Create a FutureWarning for comparisons to None, which
should result in areal elementwise (object) comparisons.
Slightly adepted a wrong test.
Poly changes: Some changes in the polycode was necessary,
the one is probably a bug fix, the other needs to be
thought over, since len check is not perfect maybe, since
it is more liekly to raise raise an error.
Closes gh-3759 and gh-1608
|
|
|
|
| |
Matlab uses `conv` for both convolution and polynomial multiplication. Clarifying that numpy has functions for each.
|
|
|
|
| |
Fixes #2092. Changes message passed to ValueError.
|
|\
| |
| | |
BUG: Set __hash__ = None for non-hashable classes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because neither poly1d nor the Polynomial package polynomial classes are
immutable, hence not reliably hashable, they should signal that by
setting __hash__ = None. This also fixes the warning
Overriding __eq__ blocks inheritance of __hash__ in 3.x
that is given when the command `python2.7 -3 -c"import numpy"` is run.
|
|/
|
|
| |
the notes were wrong in the order of the index for p.
|
|
|
|
|
|
|
| |
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idioms fixer makes the following replacements.
1) int <- bool
2) comparison or identity of types <- isinstance
3) a.sort() <- sorted(a)
There were two problems that needed to be dealt with after the
application of the fixer. First, the replacement of comparison or
identity of types by isinstance was not always correct. The isinstance
function returns true for subtypes whereas many of the places where the
fixer made a substitution needed to check for exact type equality.
Second, the sorted function was applied to arrays, but because it treats
them as iterators and constructs a sorted list from the result, that is
the wrong thing to do.
Closes #3062.
|
|
|
|
|
|
|
| |
Add `print_function` to all `from __future__ import ...` statements
and use the python3 print function syntax everywhere.
Closes #3078.
|
|\
| |
| | |
DOC: Formatting fixes using regex
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new import `absolute_import` is added the `from __future__ import`
statement and The 2to3 `import` fixer is run to make the imports
compatible. There are several things that need to be dealt with to make
this work.
1) Files meant to be run as scripts run in a different environment than
files imported as part of a package, and so changes to those files need
to be skipped. The affected script files are:
* all setup.py files
* numpy/core/code_generators/generate_umath.py
* numpy/core/code_generators/generate_numpy_api.py
* numpy/core/code_generators/generate_ufunc_api.py
2) Some imported modules are not available as they are created during
the build process and consequently 2to3 is unable to handle them
correctly. Files that import those modules need a bit of extra work.
The affected files are:
* core/__init__.py,
* core/numeric.py,
* core/_internal.py,
* core/arrayprint.py,
* core/fromnumeric.py,
* numpy/__init__.py,
* lib/npyio.py,
* lib/function_base.py,
* fft/fftpack.py,
* random/__init__.py
Closes #3172
|
|
|
|
|
|
|
|
| |
This should be harmless, as we already are division clean. However,
placement of this import takes some care. In the future a script
can be used to append new features without worry, at least until
such time as it exceeds a single line. Having that ability will
make it easier to deal with absolute imports and printing updates.
|
|
|
|
|
|
|
|
|
|
| |
Replaces the
raise Exception, msg:
form with
raise Exception(msg):
|
| |
|
|
|
|
| |
I think that is the end of it.
|
| |
|
| |
|
| |
|
|
|
|
| |
the input is a poly1d. Fixes ticket #1249.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|