Epetra_CrsMatrix::Multiply with locally replicated range map question
Created by: bartgol
@trilinos/epetra
Current Behavior
Currently, if the range map is locally replicated, the result of A.Apply(X,Y)
is not what I expected. In particular, Epetra does a final call Y.Reduce()
, which ends up giving a Y vector that is numProc times larger than what I expected. Why is Epetra doing this? I.e., why are we reducing the output vector, in case of a locally replicated range map? Isn't the result (before the Reduce() call) already what one most likely wants? The user can always call Y.Reduce()
if he is interested in that.
Possible Solution
Assuming my concern is correct, simply remove line 3212 (and the likes in other branches of if statements) in Epetra_CrsMatrix.cpp