[Scipy-svn] r2229 - trunk/Lib/signal

scipy-svn at scipy.org scipy-svn at scipy.org
Sun Sep 24 04:08:57 EDT 2006


Author: rkern
Date: 2006-09-24 03:08:41 -0500 (Sun, 24 Sep 2006)
New Revision: 2229

Modified:
   trunk/Lib/signal/ltisys.py
Log:
Remove use of typecodes.

Modified: trunk/Lib/signal/ltisys.py
===================================================================
--- trunk/Lib/signal/ltisys.py	2006-09-24 07:57:51 UTC (rev 2228)
+++ trunk/Lib/signal/ltisys.py	2006-09-24 08:08:41 UTC (rev 2229)
@@ -1,14 +1,11 @@
-## Automatically adapted for scipy Oct 21, 2005 by convertcode.py
-
 #
 # Author: Travis Oliphant 2001
 #
 
 from filter_design import tf2zpk, zpk2tf, normalize
 import numpy
-from numpy import product, zeros, \
-     array, dot, transpose, arange, ones, nan_to_num
-from numpy.oldnumeric import Float
+from numpy import product, zeros, array, dot, transpose, arange, ones, \
+    nan_to_num
 import scipy.interpolate as interpolate
 import scipy.integrate as integrate
 import scipy.linalg as linalg
@@ -36,25 +33,25 @@
     num, den = normalize(num, den)   # Strips zeros, checks arrays
     nn = len(num.shape)
     if nn == 1:
-        num = asarray([num],num.dtype.char)
+        num = asarray([num], num.dtype)
     M = num.shape[1]
     K = len(den)
     if (M > K):
         raise ValueError, "Improper transfer function."
     if (M == 0 or K == 0):  # Null system
-        return array([],Float), array([], Float), array([], Float), \
-               array([], Float)
+        return array([],float), array([], float), array([], float), \
+               array([], float)
 
     # pad numerator to have same number of columns has denominator
-    num = r_['-1',zeros((num.shape[0],K-M),num.dtype.char), num]
+    num = r_['-1',zeros((num.shape[0],K-M), num.dtype), num]
 
     if num.shape[-1] > 0:
         D = num[:,0]
     else:
-        D = array([],Float)
+        D = array([],float)
 
     if K == 1:
-        return array([], Float), array([], Float), array([], Float), D
+        return array([], float), array([], float), array([], float), D
 
     frow = -array([den[1:]])
     A = r_[frow, eye(K-2, K-1)]
@@ -150,7 +147,7 @@
 
     num_states = A.shape[0]
     type_test = A[:,0] + B[:,0] + C[0,:] + D
-    num = numpy.zeros((nout, num_states+1),type_test.dtype.char)
+    num = numpy.zeros((nout, num_states+1), type_test.dtype)
     for k in range(nout):
         Ck = atleast_2d(C[k,:])
         num[k] = poly(A - dot(B,Ck)) + (D[k]-1)*den
@@ -325,7 +322,7 @@
         raise ValueError, "System does not define that many inputs."
 
     if X0 is None:
-        X0 = zeros(sys.B.shape[0],sys.A.dtype.char)
+        X0 = zeros(sys.B.shape[0],sys.A.dtype)
 
     # for each output point directly integrate assume zero-order hold
     #   or linear interpolation.
@@ -392,9 +389,9 @@
         raise ValueError, "System does not define that many inputs."
 
     if X0 is None:
-        X0 = zeros(sys.B.shape[0],sys.A.dtype.char)
+        X0 = zeros(sys.B.shape[0], sys.A.dtype)
 
-    xout = zeros((len(T),sys.B.shape[0]),sys.A.dtype.char)
+    xout = zeros((len(T),sys.B.shape[0]), sys.A.dtype)
     xout[0] = X0
     A = sys.A
     AT, BT = transpose(sys.A), transpose(sys.B)
@@ -402,10 +399,10 @@
     lam, v = linalg.eig(A)
     vt = transpose(v)
     vti = linalg.inv(vt)
-    GT = dot(dot(vti,diag(numpy.exp(dt*lam))),vt).astype(xout.dtype.char)
+    GT = dot(dot(vti,diag(numpy.exp(dt*lam))),vt).astype(xout.dtype)
     ATm1 = linalg.inv(AT)
     ATm2 = dot(ATm1,ATm1)
-    I = eye(A.shape[0],dtype=A.dtype.char)
+    I = eye(A.shape[0],dtype=A.dtype)
     GTmI = GT-I
     F1T = dot(dot(BT,GTmI),ATm1)
     if interp:
@@ -415,7 +412,7 @@
         dt1 = T[k] - T[k-1]
         if dt1 != dt:
             dt = dt1
-            GT = dot(dot(vti,diag(numpy.exp(dt*lam))),vt).astype(xout.dtype.char)
+            GT = dot(dot(vti,diag(numpy.exp(dt*lam))),vt).astype(xout.dtype)
             GTmI = GT-I
             F1T = dot(dot(BT,GTmI),ATm1)
             if interp:
@@ -460,13 +457,13 @@
         vals = linalg.eigvals(sys.A)
         tc = 1.0/min(abs(real(vals)))
         T = arange(0,7*tc,7*tc / float(N))
-    h = zeros(T.shape, sys.A.dtype.char)
+    h = zeros(T.shape, sys.A.dtype)
     s,v = linalg.eig(sys.A)
     vi = linalg.inv(v)
     C = sys.C
     for k in range(len(h)):
         es = diag(numpy.exp(s*T[k]))
-        eA = (dot(dot(v,es),vi)).astype(h.dtype.char)
+        eA = (dot(dot(v,es),vi)).astype(h.dtype)
         h[k] = squeeze(dot(dot(C,eA),B))
     return T, h
 
@@ -497,6 +494,6 @@
         vals = linalg.eigvals(sys.A)
         tc = 1.0/min(abs(real(vals)))
         T = arange(0,7*tc,7*tc / float(N))
-    U = ones(T.shape, sys.A.dtype.char)
+    U = ones(T.shape, sys.A.dtype)
     vals = lsim(sys, U, T, X0=X0)
     return vals[0], vals[1]




More information about the Scipy-svn mailing list