- Timestamp:
- Nov 6, 2008, 3:32:23 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source_numpy_conversion/anuga/utilities/sparse.py
r5889 r5902 3 3 """ 4 4 5 import numpy 5 6 6 7 class Sparse: … … 18 19 19 20 if len(args) == 1: 20 from numpy import array21 21 try: 22 A = array(args[0])22 A = numpy.array(args[0]) 23 23 except: 24 24 raise 'Input must be convertable to a Numeric array' … … 93 93 94 94 def todense(self): 95 from numpy import zeros, float 96 97 D = zeros( (self.M, self.N), float) 95 D = numpy.zeros( (self.M, self.N), numpy.float) 98 96 99 97 for i in range(self.M): … … 110 108 """ 111 109 112 from numpy import array, zeros, float113 114 110 try: 115 B = array(other)111 B = numpy.array(other) 116 112 except: 117 113 msg = 'FIXME: Only Numeric types implemented so far' … … 131 127 assert B.shape[0] == self.N, msg 132 128 133 R = zeros(self.M,float) #Result129 R = numpy.zeros(self.M, numpy.float) #Result 134 130 135 131 # Multiply nonzero elements … … 141 137 142 138 143 R = zeros((self.M, B.shape[1]),float) #Result matrix139 R = numpy.zeros((self.M, B.shape[1]), numpy.float) #Result matrix 144 140 145 141 # Multiply nonzero elements … … 197 193 """ 198 194 199 from numpy import array, zeros, float200 201 195 try: 202 B = array(other)196 B = numpy.array(other) 203 197 except: 204 198 print 'FIXME: Only Numeric types implemented so far' … … 211 205 assert B.shape[0] == self.M, 'Mismatching dimensions' 212 206 213 R = zeros((self.N,),float) #Result207 R = numpy.zeros((self.N,), numpy.float) #Result 214 208 215 209 #Multiply nonzero elements … … 248 242 """ 249 243 250 from numpy import zeros, float, int251 252 244 if isinstance(A,Sparse): 253 245 … … 255 247 keys.sort() 256 248 nnz = len(keys) 257 data = zeros ( (nnz,),float)258 colind = zeros ( (nnz,),int)259 row_ptr = zeros ( (A.M+1,),int)249 data = numpy.zeros ( (nnz,), numpy.float) 250 colind = numpy.zeros ( (nnz,), numpy.int) 251 row_ptr = numpy.zeros ( (A.M+1,), numpy.int) 260 252 current_row = -1 261 253 k = 0 … … 295 287 296 288 def todense(self): 297 from numpy.oldnumeric import zeros, Float 298 299 D = zeros( (self.M, self.N), Float) 289 290 D = numpy.zeros( (self.M, self.N), numpy.float) 300 291 301 292 for i in range(self.M): … … 310 301 """ 311 302 312 from numpy.oldnumeric import array, zeros, Float313 314 303 try: 315 B = array(other)304 B = numpy.array(other) 316 305 except: 317 306 print 'FIXME: Only Numeric types implemented so far' … … 329 318 if __name__ == '__main__': 330 319 # A little selftest 331 332 from numpy.oldnumeric import allclose, array, Float333 334 320 A = Sparse(3,3) 335 321 … … 362 348 u = A*v 363 349 print u 364 assert allclose(u, [6,14,4])350 assert numpy.allclose(u, [6,14,4]) 365 351 366 352 u = A.trans_mult(v) 367 353 print u 368 assert allclose(u, [6,6,10])354 assert numpy.allclose(u, [6,6,10]) 369 355 370 356 #Right hand side column 371 v = array([[2,4],[3,4],[4,4]])357 v = numpy.array([[2,4],[3,4],[4,4]]) 372 358 373 359 u = A*v[:,0] 374 assert allclose(u, [6,14,4])360 assert numpy.allclose(u, [6,14,4]) 375 361 376 362 #u = A*v[:,1]
Note: See TracChangeset
for help on using the changeset viewer.