summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2019-03-12 18:38:41 -0600
committerGitHub <noreply@github.com>2019-03-12 18:38:41 -0600
commitd34d1f3c035f60ee80212b68b642ab648bd4252b (patch)
tree81d0e1bd2be023a549976f1d2e029650d28cc735 /numpy
parent58640b78d1179888c261ae45dc754c2651296dcc (diff)
parentb1c68f98583e607ada63a9e384b8f1cf46f56cd7 (diff)
downloadnumpy-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.py25
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):