[Scipy-svn] r4410 - trunk/scipy/cluster
scipy-svn at scipy.org
scipy-svn at scipy.org
Tue Jun 3 13:50:54 EDT 2008
Author: damian.eads
Date: 2008-06-03 12:50:47 -0500 (Tue, 03 Jun 2008)
New Revision: 4410
Modified:
trunk/scipy/cluster/hierarchy.py
Log:
Removed more unnecessary imports in hierarchy, namely sys and math. Now uses np.ndarray instead of _array_type for type checking.
Modified: trunk/scipy/cluster/hierarchy.py
===================================================================
--- trunk/scipy/cluster/hierarchy.py 2008-06-03 15:55:06 UTC (rev 4409)
+++ trunk/scipy/cluster/hierarchy.py 2008-06-03 17:50:47 UTC (rev 4410)
@@ -175,22 +175,21 @@
"""
import numpy as np
-import _hierarchy_wrap, types, math, sys
+import _hierarchy_wrap, types
_cpy_non_euclid_methods = {'single': 0, 'complete': 1, 'average': 2,
'weighted': 6}
_cpy_euclid_methods = {'centroid': 3, 'median': 4, 'ward': 5}
_cpy_linkage_methods = set(_cpy_non_euclid_methods.keys()).union(
set(_cpy_euclid_methods.keys()))
-_array_type = np.ndarray
try:
import warnings
def _warning(s):
- warnings.warn('scipy-cluster: %s' % s, stacklevel=3)
+ warnings.warn('scipy.cluster: %s' % s, stacklevel=3)
except:
def _warning(s):
- print ('[WARNING] scipy-cluster: %s' % s)
+ print ('[WARNING] scipy.cluster: %s' % s)
def _unbiased_variance(X):
"""
@@ -801,7 +800,7 @@
v = np.asarray(v)
if p < 1:
raise ValueError("p must be at least 1")
- return math.pow((abs(u-v)**p).sum(), 1.0/p)
+ return (abs(u-v)**p).sum() ** (1.0 / p)
def euclidean(u, v):
"""
@@ -1447,7 +1446,7 @@
elif mstr in set(['seuclidean', 'se', 's']):
if V is not None:
V = np.asarray(V)
- if type(V) is not _array_type:
+ if type(V) != np.ndarray:
raise TypeError('Variance vector V must be a numpy array')
if V.dtype != np.double:
raise TypeError('Variance vector V must contain doubles.')
@@ -1485,7 +1484,7 @@
elif mstr in set(['mahalanobis', 'mahal', 'mah']):
if VI is not None:
VI = _convert_to_double(np.asarray(VI))
- if type(VI) != _array_type:
+ if type(VI) != np.ndarray:
raise TypeError('VI must be a numpy array.')
if VI.dtype != np.double:
raise TypeError('The array must contain 64-bit floats.')
@@ -1742,7 +1741,7 @@
R = np.asarray(R)
valid = True
try:
- if type(R) is not _array_type:
+ if type(R) != np.ndarray:
if name:
raise TypeError('Variable \'%s\' passed as inconsistency matrix is not a numpy array.' % name)
else:
@@ -1802,7 +1801,7 @@
Z = np.asarray(Z)
valid = True
try:
- if type(Z) is not _array_type:
+ if type(Z) != np.ndarray:
if name:
raise TypeError('\'%s\' passed as a linkage is not a valid array.' % name)
else:
@@ -1864,7 +1863,7 @@
y = np.asarray(y)
valid = True
try:
- if type(y) is not _array_type:
+ if type(y) != np.ndarray:
if name:
raise TypeError('\'%s\' passed as a condensed distance matrix is not a numpy array.' % name)
else:
@@ -1926,7 +1925,7 @@
D = np.asarray(D)
valid = True
try:
- if type(D) is not _array_type:
+ if type(D) != np.ndarray:
if name:
raise TypeError('\'%s\' passed as a distance matrix is not a numpy array.' % name)
else:
@@ -2161,7 +2160,7 @@
"""
X = np.asarray(X)
- if type(X) is not _array_type or len(X.shape) != 2:
+ if type(X) != np.ndarray or len(X.shape) != 2:
raise TypeError('The observation matrix X must be an n by m numpy array.')
Y = pdist(X, metric=distance)
@@ -2986,9 +2985,9 @@
T1 = np.asarray(T1)
T2 = np.asarray(T2)
- if type(T1) is not _array_type:
+ if type(T1) != np.ndarray:
raise TypeError('T1 must be a numpy array.')
- if type(T2) is not _array_type:
+ if type(T2) != np.ndarray:
raise TypeError('T2 must be a numpy array.')
T1S = T1.shape
@@ -3100,7 +3099,7 @@
"""
Z = np.asarray(Z)
T = np.asarray(T)
- if type(T) != _array_type or T.dtype != np.int:
+ if type(T) != np.ndarray or T.dtype != np.int:
raise TypeError('T must be a one-dimensional numpy array of integers.')
is_valid_linkage(Z, throw=True, name='Z')
if len(T) != Z.shape[0] + 1:
More information about the Scipy-svn
mailing list