I think that I'd like this to be written in the following way:
<pre>
tmp = normalize_matrix_on_axis(tmp)
if n_null_eig > 0:
    tmp = np.hstack((tmp, np.zeros((tmp.shape[0], n_null_eig))))
return tmp
</pre>
This avoids a bit of duplication of code. In addition, reusing the same variable name also avoids memory duplication.