AmesosGenOp::AmesosGenOp( Epetra_LinearProblem& problem, const RCP<Amesos_BaseSolver>& solver, const RCP<Epetra_Operator>& massMtx, bool useTranspose ) : useTranspose_(useTranspose), solver_(solver), massMtx_(massMtx) { problem_ = const_cast<Epetra_LinearProblem*>( solver->GetProblem() ); if ( solver_->UseTranspose() ) solver_->SetUseTranspose(!useTranspose); else solver_->SetUseTranspose(useTranspose); if ( massMtx_->UseTranspose() ) massMtx_->SetUseTranspose(!useTranspose); else massMtx_->SetUseTranspose(useTranspose); }