[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