I want to extend my __init__ method by an extra parameter Tol (tolerance) which serves as a threshold for converting a given matrix to a sparse matrix. All elements of the original matrix which have an absolute value less than Tol should be considered as zeros. Give Tol a default value 0
this is my code
this is my code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import numpy as np class SparseMatrix: def __init__( self ,matrix): self .matrix = np.asarray(matrix) self .intern_represent = 'CSR' self .intern_represent = 'CSC' @property def values ( self ): return self .matrix [np.nonzero( self .matrix)] def __repr__( self ): return ( ' A= ' + str ( self .values) + '\nIA= ' + str ( self .IA) + '\nJA= ' + str ( self .JA)) @property def IA ( self ): IA = [] IA.append ( 0 ) for i in range ( 1 ,np.shape( self .matrix)[ 0 ] + 1 ): num = IA [i - 1 ] + np.count_nonzero( self .matrix [i - 1 ]) IA.append(num) IA = np.asarray (IA) return IA @property def JA ( self ): index = np.nonzero( self .matrix) return index [ 1 ] @property def number_of_nonzero( self ): return len ( self .values) def change ( self ,i,j,new): self .matrix [i][j] = new return new def ConvertCSC( self ): return np.transpose( self .matrix) def CSReqaulCSC( self ): if ( self .matrix = = np.transpose( self .matrix)). all (): return True else : return False all |