9 assert(x.rows() == ncols);
11 Eigen::MatrixXd output(nrows, x.cols());
13 output.block(0, 0, nrows-1, x.cols()) = x.block(1,0,nrows-1, x.cols());
14 output.row(nrows-1) =
lastRow.transpose()*x;
22 assert(x.rows() == nrows);
24 Eigen::MatrixXd output = Eigen::MatrixXd::Zero(ncols, x.cols());
26 output.block(1, 0, ncols-1, x.cols()) = x.block(0,0,ncols-1,x.cols());
27 output +=
lastRow * x.row(x.rows()-1);
36 Eigen::MatrixXd output = Eigen::MatrixXd::Zero(nrows, ncols);
37 output.block(0,1,nrows-1,nrows-1) = Eigen::MatrixXd::Identity(nrows-1,nrows-1);
virtual Eigen::MatrixXd GetMatrix() override
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x) override
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x) override