title: When will numpy.linalg.inv() and numpy.linalg.pinv() give very different values?
body: <p>for the equation Ax = b, let A = USV.t, i need to calculate inverse of (S.T@S). I noticecd that using np.linalg.inv() and np.linalg.pinv() gives extremely different results. np.allclose() infact returns false.</p>
  <p>I want to know why this is happening, any mathematical insight? maybe due to some property of A? here A is a non-linear function of a dynamic time series.</p>
  <p>Basically when can you expect pinv() and inv() to give very different results?</p>