¿Qué distribución de desviaciones quieres?
Aquí hay una técnica que siempre funciona, pero no siempre es la más eficiente. La función de distribución acumulativa P (x) proporciona la fracción del tiempo en que los valores caen por debajo de x. Por lo tanto, P (x) = 0 en el valor más bajo posible de xy P (x) = 1 en el valor más alto posible de x. Cada distribución tiene una CDF única, que codifica todas las propiedades de la distrubción en la forma en que P (x) se eleva de 0 a 1. Si y es una desviación uniforme en el intervalo [0,1], entonces x satisface P (x) = y se distribuirá de acuerdo a su distribución. Para que esto funcione en forma conjunta, solo necesita una forma de calcular el inverso de P (x) para su distribución.
La biblioteca Meta.Numerics define un gran número de distrubtions comúnmente utilizados (por ejemplo, normal, lognormal, exponencial, ji cuadrado, etc.) y tiene funciones para el cálculo de la CDF (Distribution.LeftProbability) y la inversa CDF (Distribution.InverseLeftProbability) de cada.
Para técnicas especializadas que son rápidas para distrubtions particulares, p. la técnica de Box-Muller para desviaciones distribuidas de forma normal, ver el libro Numerical Recipies.
Depende de la distribución que desee. –