ENH: made a function like numpy.linalg.norm for sparse matrix

I made a function similar to http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.norm.html for sparse matrix.  This pull request also includes element-wise power function for sparse matrix: csr_matrix and csc_matrix.  
Hi guys,
I've been stuck here.  I can't get scipy.dot to return the result correctly
<pre>
a = np.array([2j, 1+3j, 6+4j])
np.dot(a.real, a.real)  => return 37.0
a = csr_matrix(a)
scipy.dot(a.real, a.real)  => throw "Cannot find a common data type." exception
</pre>

I was trying to convert this line such that it can handle sparse matrix with complex type.
https://github.com/numpy/numpy/blob/master/numpy/linalg/linalg.py#L2058

Please advice.