Amostragem de uma distribuição de probabilidade discreta em C ++

Sou novo em C ++ e extremamente surpreso com a falta de ferramentas acessíveis e comuns de manipulação de probabilidade (ou seja, a falta de coisas no Boost e na biblioteca padrão). Eu fiz muita programação científica em outras linguagens, mas os complementos padrão e / ou onipresentes de terceiros sempre incluem uma gama completa de ferramentas de probabilidade. Um pouco, e consideramos o Boost o complemento onipresente equivalente para C ++, mas, ao ler a documentação do Boost, até parece haver uma escassez do que eu consideraria embutidos extremamente elementare

Não consigo encontrar um componente interno que exija algum tipo de matriz de probabilidades discretas e produza um índice escolhido de acordo com essas probabilidades. É claro que posso escrever minha própria função para isso, mas só queria verificar se falta uma maneira padrão de fazer iss

Ter que escrever minhas próprias funções em um nível tão baixo é uma coisa ruim, sinto, mas estou escrevendo um novo módulo de simulação para um projeto maior, todo em C ++. Minha tática usual seria escrevê-lo em Python e vincular o Python ao C ++, mas como várias outras pessoas terão que gerenciar esse código assim que eu terminar, e nenhuma delas conhece o Python, acho que seria seja mais prudente entregá-lo a todos eles em C ++.

Geralmente, o que as pessoas fazem em C ++ para coisas como amostragem de distribuições padrão, em particular algo tão básico quanto uma distribuição normal multivariada?

questionAnswers(10)

yourAnswerToTheQuestion