BUG: avoid NaNs in arrays passed to scipy.linalg

Initializing with "np.empty" creates NaNs every once in a while. Scipy
doesn't like it as of scipy 0.10: we cannot turn of "check_finite"
in this version.

These NaNs are harmless because they are in the upper diagonal, while the
scipy solve_triangular uses only the lower.