Muestreo de una distribución de probabilidad discreta en C ++

Soy nuevo en C ++ y estoy extremadamente sorprendido por la falta de herramientas de manipulación de probabilidad comunes y accesibles (es decir, la falta de cosas en Boost y la biblioteca estándar). He realizado una gran cantidad de programación científica en otros idiomas, pero los complementos estándar y / o ubicuos de terceros siempre incluyen una gama completa de herramientas de probabilidad. Un amigo, y facturó a Boost como el complemento ubicuo equivalente para C ++, pero al leer la documentación de Boost, incluso parece tener una escasez de lo que consideraría elementos integrados extremadamente elementales.

No puedo encontrar un incorporado que tome algún tipo de matriz de probabilidades discretas y produzca un índice elegido de acuerdo con esas probabilidades. Por supuesto, puedo escribir mi propia función para esto, pero solo quería comprobar si me falta una forma estándar de hacerlo.

Creo que tener que escribir mis propias funciones en un nivel tan bajo es algo malo, pero estoy escribiendo un nuevo módulo de simulación para un proyecto más grande que está todo en C ++. Mi táctica habitual sería escribirlo en Python y vincularlo a C ++, pero debido a que varias personas tendrán que administrar este código una vez que lo termine, y ninguno de ellos conoce Python, creo que sería sea más prudente para entregárselos a todos en C ++.

Más en general, ¿qué hace la gente en C ++ para cosas como el muestreo de distribuciones estándar, en particular, algo tan básico como una distribución normal multivariada?

Respuestas a la pregunta(10)

Su respuesta a la pregunta