title: Eigen: How to check if Matrix is invertible
body: <p>I would like to generate a random invertible Matrix using Eigen, which fulfills these criteria:</p>
  <pre><code>Eigen::Matrix&lt;T, Eigen::Dynamic, Eigen::Dynamic&gt; res(M, N + 1);
  Eigen::Matrix&lt;T, Eigen::Dynamic, Eigen::Dynamic&gt; y(M, 1);
  y.setRandom();
  while (true) {
      res.setRandom();
      Eigen::FullPivLU&lt;Eigen::Matrix&lt;T, Eigen::Dynamic, Eigen::Dynamic&gt;&gt; lu(res.transpose() * res);
      if (lu.isInvertible()) {
          break;
      }
  }
  </code></pre>
  <p>So <code>res^T*res</code> should be invertible, but i need a random <code>res</code>.</p>