void NOX::Epetra::Scaling::applyLeftScaling(const Epetra_Vector& input, Epetra_Vector& result) { if (scaleVector.size() == 0) { result = input; } else { Epetra_Vector* diagonal = 0; for (unsigned int i = 0; i < scaleVector.size(); i ++) { if (scaleType[i] == Left) { diagonal = scaleVector[i].get(); tmpVectorPtr->Reciprocal(*diagonal); result.Multiply(1.0, input, *tmpVectorPtr, 0.0); } } } }