1) Используйте реализацию библиотеки, как это было предложено Димой.
Или, если вы действительно чувствуете жжение нужно сделать это самостоятельно:
2) Предположим, что вы хотите создать нормалей со средним вектором M и дисперсией/ковариационной матрицы V, выполняют Cholesky Decomposition на V, чтобы придумать нижняя треугольная матрица L такая, что V = LL t (где верхний индекс t обозначает транспонирование). Создайте вектор Z трех независимых стандартных нормалей (используя Random.nextGaussian()
для получения отдельных элементов). Тогда LZ + M
будет иметь требуемое многомерное нормальное распределение.
Если вы ищете библиотеку, возможно, у apache commons math есть что-то для подобных случаев. (Хотя в этом случае, вероятно, http://softwarerecs.stackexchange.com/ лучший сайт, чтобы спросить.) –