This problem was reported in Spyder and I was able to reproduce it locally. Basically, if you run
In [1]: import numpy as np
In [2]: np.linalg.<Tab>
you won't get completions for the linalg module.
After a bit of testing, I found that this problem doesn't show up if Jedi completions are enabled. But we have them disabled by default in Spyder because they introduce serious lags when working with large dataframes.
It'd be nice if this could be fixed for the next IPython release and I'm able to put some time to do it. @krassowski, could you let me know where to start looking for a possible solution? Thanks!