[Scipy-svn] r2359 - in trunk/Lib: linalg sandbox sandbox/xplt signal stats

scipy-svn at scipy.org scipy-svn at scipy.org
Wed Dec 6 20:11:36 EST 2006


Author: oliphant
Date: 2006-12-06 19:11:18 -0600 (Wed, 06 Dec 2006)
New Revision: 2359

Added:
   trunk/Lib/sandbox/wavelet/
Modified:
   trunk/Lib/linalg/__init__.py
   trunk/Lib/linalg/basic.py
   trunk/Lib/sandbox/xplt/Mplot.py
   trunk/Lib/signal/signaltools.py
   trunk/Lib/signal/sigtoolsmodule.c
   trunk/Lib/stats/continuous.lyx
Log:
Fix up so that scipy.linalg.pinv2 is selected for numpy.dual (it uses SVD like numpy.dual does).

Modified: trunk/Lib/linalg/__init__.py
===================================================================
--- trunk/Lib/linalg/__init__.py	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/linalg/__init__.py	2006-12-07 01:11:18 UTC (rev 2359)
@@ -15,11 +15,17 @@
 
 from numpy.dual import register_func
 for k in ['norm', 'inv', 'svd', 'solve', 'det', 'eig', 'eigh', 'eigvals',
-          'eigvalsh', 'lstsq', 'pinv', 'cholesky']:
+          'eigvalsh', 'lstsq', 'cholesky']:
     try:
         register_func(k, eval(k))
     except ValueError:
         pass
+
+try:
+    register_func('pinv', pinv2)
+except ValueError:
+    pass
+
 del k, register_func
 
 from numpy.testing import ScipyTest

Modified: trunk/Lib/linalg/basic.py
===================================================================
--- trunk/Lib/linalg/basic.py	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/linalg/basic.py	2006-12-07 01:11:18 UTC (rev 2359)
@@ -370,13 +370,15 @@
     return x,resids,rank,s
 
 
-def pinv(a, cond=None):
-    """ pinv(a, cond=None) -> a_pinv
+def pinv(a, cond=None, rcond=None):
+    """ pinv(a, rcond=None) -> a_pinv
 
     Compute generalized inverse of A using least-squares solver.
     """
     a = asarray_chkfinite(a)
     b = numpy.identity(a.shape[0], dtype=a.dtype)
+    if rcond is not None:
+        cond = rcond
     return lstsq(a, b, cond=cond)[0]
 
 
@@ -384,14 +386,16 @@
 feps = numpy.finfo(single).eps
 
 _array_precision = {'f': 0, 'd': 1, 'F': 0, 'D': 1}
-def pinv2(a, cond=None):
-    """ pinv2(a, cond=None) -> a_pinv
+def pinv2(a, cond=None, rcond=None):
+    """ pinv2(a, rcond=None) -> a_pinv
 
     Compute the generalized inverse of A using svd.
     """
     a = asarray_chkfinite(a)
     u, s, vh = decomp.svd(a)
     t = u.dtype.char
+    if rcond is not None:
+        cond = rcond
     if cond in [None,-1]:
         cond = {0: feps*1e3, 1: eps*1e6}[_array_precision[t]]
     m,n = a.shape

Modified: trunk/Lib/sandbox/xplt/Mplot.py
===================================================================
--- trunk/Lib/sandbox/xplt/Mplot.py	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/sandbox/xplt/Mplot.py	2006-12-07 01:11:18 UTC (rev 2359)
@@ -10,8 +10,8 @@
 numpy = Numeric
 from numpy import ravel, reshape, repeat, arange, transpose, compress, \
      where, ones, newaxis, asarray
-import numpy.lib.mlab as MLab
-from numpy.lib.mlab import pi, cos, sin, arctan2, array, angle
+import numpy.oldnumeric.mlab as MLab
+from numpy.oldnumeric.mlab import pi, cos, sin, arctan2, array, angle
 import types
 import write_style
 points = 0.0013000

Modified: trunk/Lib/signal/signaltools.py
===================================================================
--- trunk/Lib/signal/signaltools.py	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/signal/signaltools.py	2006-12-07 01:11:18 UTC (rev 2359)
@@ -277,7 +277,7 @@
 
 
 def convolve2d(in1, in2, mode='full', boundary='fill', fillvalue=0):
-    """Conolve two 2-dimensional arrays.
+    """Convolve two 2-dimensional arrays.
 
   Description:
 

Modified: trunk/Lib/signal/sigtoolsmodule.c
===================================================================
--- trunk/Lib/signal/sigtoolsmodule.c	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/signal/sigtoolsmodule.c	2006-12-07 01:11:18 UTC (rev 2359)
@@ -1740,7 +1740,7 @@
 
     PyObject *in1=NULL, *in2=NULL, *fill_value=NULL;
     int mode=2, boundary=0, typenum, flag, flip=1, ret;
-    intp *aout_dimens, *dims=NULL;
+    intp *aout_dimens=NULL, *dims=NULL;
     char zeros[32];  /* Zeros */
     int n1, n2, i;
     PyArrayObject *ain1=NULL, *ain2=NULL, *aout=NULL;
@@ -1804,7 +1804,6 @@
     }
 	
     aout = (PyArrayObject *)PyArray_SimpleNew(ain1->nd, aout_dimens, typenum);
-    free(aout_dimens);
     if (aout == NULL) goto fail;
 
     flag = mode + boundary + (typenum << TYPE_SHIFT) + \
@@ -1849,6 +1848,7 @@
     }
 
 fail:
+    free(aout_dimens);
     Py_XDECREF(ain1);
     Py_XDECREF(ain2);
     Py_XDECREF(aout);

Modified: trunk/Lib/stats/continuous.lyx
===================================================================
--- trunk/Lib/stats/continuous.lyx	2006-12-06 12:46:23 UTC (rev 2358)
+++ trunk/Lib/stats/continuous.lyx	2006-12-07 01:11:18 UTC (rev 2359)
@@ -2931,8 +2931,8 @@
 
  
 \begin_inset Formula \begin{eqnarray*}
-\mu & = & \frac{1}{a-1}\\
-\mu_{2} & = & \frac{1}{\left(a-2\right)\left(a-1\right)}-\mu^{2}\\
+\mu & = & \frac{1}{a-1}\quad a>1\\
+\mu_{2} & = & \frac{1}{\left(a-2\right)\left(a-1\right)}-\mu^{2}\quad a>2\\
 \gamma_{1} & = & \frac{\frac{1}{\left(a-3\right)\left(a-2\right)\left(a-1\right)}-3\mu\mu_{2}-\mu^{3}}{\mu_{2}^{3/2}}\\
 \gamma_{2} & = & \frac{\frac{1}{\left(a-4\right)\left(a-3\right)\left(a-2\right)\left(a-1\right)}-4\mu\mu_{3}-6\mu^{2}\mu_{2}-\mu^{4}}{\mu_{2}^{2}}-3\end{eqnarray*}
 




More information about the Scipy-svn mailing list