Bug fix on synchronisation of matrix-vector multiplication product when assembled into a residual
requested to merge bugfixes/bug_fix_in_synchronization_of_mat_vec_mul_product_when_assembled_to_residual into master
When Matrix - vector multiplication is done and the product is assembled into residual, there is synchronization of the residual. If the residual is not empty, it is synchronizing something which was already in sync, therefore we were getting double contributions at the master-slave pairs. It is solved by assembling matrix-vector multiplication into a temporary array, synchronizing it and then assembling into the residual.