February 1, 2013
Let’s check CRS (Compressed Row Storage) in Python NumPy.
[yuy121@cyberstar: ~]# module list Currently Loaded Modulefiles: 1) realvnc/4.5r21561 2) java/1.6.0_20 3) intel/11.1.073 4) pgi/10.9
Load Python module.
[yuy121@cyberstar: ~]# module load python [yuy121@cyberstar: ~]# module list Currently Loaded Modulefiles: 1) realvnc/4.5r21561 6) gmp/5.0.1 11) gcc/4.5.0 2) java/1.6.0_20 7) mpfr/2.4.2 12) openmpi/gnu/1.4.2 3) intel/11.1.073 8) ppl/0.10.2 13) python/2.6.5 4) pgi/10.9 9) cloog-ppl/0.15.9 5) mkl/10.2.4.032 10) mpc/0.8.1 [yuy121@cyberstar: ~]# python Python 2.6.5 (r265:79063, Jul 14 2011, 09:22:34) [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Check CSR format in NumPy.
value | 1 | 1 | 2 | 3 | 4 | 5 | 7 |
---|---|---|---|---|---|---|---|
col_ind | 0 | 1 | 2 | 0 | 1 | 0 | 2 |
row_ptr | 0 | 3 | 5 | 7 | 7 |
Python 2.6.5 (r265:79063, Jul 14 2011, 09:22:34) [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from numpy import array, matrix >>> from scipy.sparse import csr_matrix >>> A=[[1, 1, 2], [3, 4, 0], [5, 0, 7], [0, 0, 0]] >>> c = csr_matrix(A) >>> c <4x3 sparse matrix of type '<type 'numpy.int64'>' with 7 stored elements in Compressed Sparse Row format> >>> c.__dict__ {'format': 'csr', '_shape': (4, 3), 'indptr': array([0, 3, 5, 7, 7], dtype=int32), 'indices': array([0, 1, 2, 0, 1, 0, 2], dtype=int32), 'maxprint': 50, 'data': array([1, 1, 2, 3, 4, 5, 7])} >>> c.data array([1, 1, 2, 3, 4, 5, 7]) >>> c.indices array([0, 1, 2, 0, 1, 0, 2], dtype=int32) >>> c.indptr array([0, 3, 5, 7, 7], dtype=int32)
Comments Off on Compressed Row Storage Format in Python