updateDiagonal