numerical integration pseudo-random number sampling Monte Carlo methods iterative methods numerical stability