MUQ  0.4.3
SumOperator.cpp
Go to the documentation of this file.
2 
3 
4 using namespace muq::Modeling;
5 
6 
7 SumOperator::SumOperator(std::shared_ptr<LinearOperator> Ain,
8  std::shared_ptr<LinearOperator> Bin) : LinearOperator(Ain->rows(), Ain->cols()), A(Ain), B(Bin)
9 {
10  assert(A->rows()==B->rows());
11  assert(A->cols()==B->cols());
12 }
13 
14 
15 Eigen::MatrixXd SumOperator::Apply(Eigen::Ref<const Eigen::MatrixXd> const& x)
16 {
17  return A->Apply(x) + B->Apply(x);
18 }
19 
20 
21 Eigen::MatrixXd SumOperator::ApplyTranspose(Eigen::Ref<const Eigen::MatrixXd> const& x)
22 {
23  return A->ApplyTranspose(x) + B->ApplyTranspose(x);
24 }
Generic linear operator base class.
SumOperator(std::shared_ptr< LinearOperator > Ain, std::shared_ptr< LinearOperator > Bin)
Definition: SumOperator.cpp:7
std::shared_ptr< LinearOperator > B
Definition: SumOperator.h:29
std::shared_ptr< LinearOperator > A
Definition: SumOperator.h:26
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x) override
Definition: SumOperator.cpp:21
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x) override
Definition: SumOperator.cpp:15