Monday, April 4, 2016

One Liner swaping of variables using tuples

In Python, it is possible to create a one liner code to swap the value of
two variables, this is how
a = 2
b = 4
print "a = ",a,"b = ",b

# One liner swap of variable using tuples

(a, b) = (b, a)
print "a = ",a,"b = ",b

# To improve the readability 
# you can write the tuple 
# without parenthesis, as
a, b = b, a

Matlab spy plot style in Python (sparse pattern)

The first time I used the command spy to show the sparse pattern of a sparse matrix, I wasn't satisfied with the result,
as a person who are used to Matlab plots. In this figure isn't easy to see the sparse pattern of the the matrix. After reading about the options available in the spy command, I found the option markersize. Changing the value of this parameter we can obtain a more familiar plot.
This is the code,
#!/usr/bin/env python
import scipy.sparse as sparse
import matplotlib.pyplot as plt
import scipy.io as io
import numpy as np

#Downloading the matrix from SPARSEKIT
problem = "SPARSKIT/drivcav/e05r0200"
mm = np.lib._datasource.Repository('ftp://math.nist.gov/pub/MatrixMarket2/')
f = mm.open('%s.mtx.gz' % problem)
A = io.mmread(f).tocsr()
f.close()
#Default Ploting
plt.spy(A)
plt.show()
#Closer to Matlab's result
plt.spy(A,markersize=1.0)
plt.show()

Example codes in github

You can find all the code published in this blog in github, please visit https://github.com/astudillor/codes_python_blog. Feel free to use and modify this code.