diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2019-03-12 18:38:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-12 18:38:41 -0600 |
commit | d34d1f3c035f60ee80212b68b642ab648bd4252b (patch) | |
tree | 81d0e1bd2be023a549976f1d2e029650d28cc735 /numpy | |
parent | 58640b78d1179888c261ae45dc754c2651296dcc (diff) | |
parent | b1c68f98583e607ada63a9e384b8f1cf46f56cd7 (diff) | |
download | numpy-d34d1f3c035f60ee80212b68b642ab648bd4252b.tar.gz |
Merge pull request #13108 from eric-wieser/simplify-vander-n-d
MAINT: Merge duplicate implementations of `hermvander2d` and `hermvander3d` functions
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/polynomial/hermite.py | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/numpy/polynomial/hermite.py b/numpy/polynomial/hermite.py index 93c9fc564..f3e55f6e8 100644 --- a/numpy/polynomial/hermite.py +++ b/numpy/polynomial/hermite.py @@ -1291,17 +1291,7 @@ def hermvander2d(x, y, deg): .. versionadded:: 1.7.0 """ - ideg = [int(d) for d in deg] - is_valid = [id == d and id >= 0 for id, d in zip(ideg, deg)] - if is_valid != [1, 1]: - raise ValueError("degrees must be non-negative integers") - degx, degy = ideg - x, y = np.array((x, y), copy=0) + 0.0 - - vx = hermvander(x, degx) - vy = hermvander(y, degy) - v = vx[..., None]*vy[..., None,:] - return v.reshape(v.shape[:-2] + (-1,)) + return pu._vander2d(hermvander, x, y, deg) def hermvander3d(x, y, z, deg): @@ -1355,18 +1345,7 @@ def hermvander3d(x, y, z, deg): .. versionadded:: 1.7.0 """ - ideg = [int(d) for d in deg] - is_valid = [id == d and id >= 0 for id, d in zip(ideg, deg)] - if is_valid != [1, 1, 1]: - raise ValueError("degrees must be non-negative integers") - degx, degy, degz = ideg - x, y, z = np.array((x, y, z), copy=0) + 0.0 - - vx = hermvander(x, degx) - vy = hermvander(y, degy) - vz = hermvander(z, degz) - v = vx[..., None, None]*vy[..., None,:, None]*vz[..., None, None,:] - return v.reshape(v.shape[:-3] + (-1,)) + return pu._vander3d(hermvander, x, y, z, deg) def hermfit(x, y, deg, rcond=None, full=False, w=None): |