Ignore:
Timestamp:
Nov 6, 2008, 3:32:23 PM (16 years ago)
Author:
rwilson
Message:

NumPy? conversion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source_numpy_conversion/anuga/utilities/sparse.py

    r5889 r5902  
    33"""
    44
     5import numpy
    56
    67class Sparse:
     
    1819           
    1920        if len(args) == 1:
    20             from numpy import array
    2121            try:
    22                 A = array(args[0])
     22                A = numpy.array(args[0])
    2323            except:
    2424                raise 'Input must be convertable to a Numeric array'
     
    9393
    9494    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)
    9896       
    9997        for i in range(self.M):
     
    110108        """
    111109
    112         from numpy import array, zeros, float
    113        
    114110        try:
    115             B = array(other)
     111            B = numpy.array(other)
    116112        except:
    117113            msg = 'FIXME: Only Numeric types implemented so far'
     
    131127            assert B.shape[0] == self.N, msg
    132128
    133             R = zeros(self.M, float) #Result
     129            R = numpy.zeros(self.M, numpy.float) #Result
    134130           
    135131            # Multiply nonzero elements
     
    141137       
    142138           
    143             R = zeros((self.M, B.shape[1]), float) #Result matrix
     139            R = numpy.zeros((self.M, B.shape[1]), numpy.float) #Result matrix
    144140
    145141            # Multiply nonzero elements
     
    197193        """
    198194
    199         from numpy import array, zeros, float
    200        
    201195        try:
    202             B = array(other)
     196            B = numpy.array(other)
    203197        except:
    204198            print 'FIXME: Only Numeric types implemented so far'
     
    211205            assert B.shape[0] == self.M, 'Mismatching dimensions'
    212206
    213             R = zeros((self.N,), float) #Result
     207            R = numpy.zeros((self.N,), numpy.float) #Result
    214208
    215209            #Multiply nonzero elements
     
    248242        """
    249243
    250         from numpy import zeros, float, int
    251 
    252244        if isinstance(A,Sparse):
    253245
     
    255247            keys.sort()
    256248            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)
    260252            current_row = -1
    261253            k = 0
     
    295287
    296288    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)
    300291       
    301292        for i in range(self.M):
     
    310301        """
    311302
    312         from numpy.oldnumeric import array, zeros, Float
    313        
    314303        try:
    315             B = array(other)
     304            B = numpy.array(other)
    316305        except:
    317306            print 'FIXME: Only Numeric types implemented so far'
     
    329318if __name__ == '__main__':
    330319    # A little selftest
    331    
    332     from numpy.oldnumeric import allclose, array, Float
    333    
    334320    A = Sparse(3,3)
    335321
     
    362348    u = A*v
    363349    print u
    364     assert allclose(u, [6,14,4])
     350    assert numpy.allclose(u, [6,14,4])
    365351
    366352    u = A.trans_mult(v)
    367353    print u
    368     assert allclose(u, [6,6,10])
     354    assert numpy.allclose(u, [6,6,10])
    369355
    370356    #Right hand side column
    371     v = array([[2,4],[3,4],[4,4]])
     357    v = numpy.array([[2,4],[3,4],[4,4]])
    372358
    373359    u = A*v[:,0]
    374     assert allclose(u, [6,14,4])
     360    assert numpy.allclose(u, [6,14,4])
    375361
    376362    #u = A*v[:,1]
Note: See TracChangeset for help on using the changeset viewer.