35     for (
int i = 1; i < r.size(); ++i) {
 
   41     Eigen::VectorXd r(n + 1);
 
   46 void BinomialMatrix::extend(
int const n) {
 
   48     auto& old = getMatrix();
 
   49     int const m = old.rows() - 1;
 
   51     Eigen::MatrixXd updated = Eigen::MatrixXd::Zero(n + 1, n + 1);
 
   52     updated.topLeftCorner(old.rows(), old.cols()) = old;
 
   53     for (
int i = 
m + 1; i <= n; ++i) {
 
   56         for (
int j = 1; j < i; ++j) {
 
   57             updated(i, j) = updated(i - 1, j - 1) * (
static_cast<double>(i) / 
static_cast<double>(j));
 
   64 Eigen::MatrixXd& BinomialMatrix::getMatrix() {
 
   65     static Eigen::MatrixXd it = Eigen::MatrixXd::Constant(2, 2, 1.0);