Proposed Belos interface change for speedup when x_init = 0.
Created by: ambrad
It's common when solving A x = b iteratively for x_init = 0.
BelosLinearProblem::setProblem always calls computeCurrResVec, and computeCurrResVec (essentially) always compute A*x_init. This is a waste of an MVP if x_init = 0.
Mark, Alicia, and I discussed an interface change to optimize out the wasted
MVP. We propose adding the function
void setAXMinusB(const Teuchos::RCP<MV>& newR)
This function would be optionally called before setProblem. If it is called,
then setProblem will use newR instead of explicitly computing the residual.