1 #ifndef BLOCKROWOPERATOR_H
2 #define BLOCKROWOPERATOR_H
25 BlockRowOperator(std::vector<std::shared_ptr<LinearOperator>>
const& blocksIn);
27 virtual Eigen::MatrixXd
Apply(Eigen::Ref<const Eigen::MatrixXd>
const& x)
override;
29 virtual Eigen::MatrixXd
ApplyTranspose(Eigen::Ref<const Eigen::MatrixXd>
const& x)
override;
31 virtual Eigen::MatrixXd
GetMatrix()
override;
34 std::vector<std::shared_ptr<LinearOperator>>
const&
GetBlocks()
const{
return blocks;};
37 std::vector<std::shared_ptr<LinearOperator>>
blocks;
39 static int SumCols(std::vector<std::shared_ptr<LinearOperator>>
const& blocksIn);
Defines a block row matrix in terms of other linear operators.
static int SumCols(std::vector< std::shared_ptr< LinearOperator >> const &blocksIn)
std::vector< std::shared_ptr< LinearOperator > > const & GetBlocks() const
virtual Eigen::MatrixXd GetMatrix() override
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x) override
std::vector< std::shared_ptr< LinearOperator > > blocks
std::shared_ptr< LinearOperator > GetBlock(int i) const
BlockRowOperator(std::vector< std::shared_ptr< LinearOperator >> const &blocksIn)
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x) override
Generic linear operator base class.