Привет, я не уверен, что мой алгоритм правильный. Я пытаюсь воспроизвести mvnrnd. функция Matlab, но в gsl. В некоторых журнальных статьях я нашел алгоритм, который создает вектор многомерных нормальных чисел, но мне нужна матрица многомерных нормальных случайных чисел.
скажем, распределение Z ~ (мю, сигма);
предполагая, что сигма - матрица, уже положительно определенная.
алгоритм, который я нашел в Интернете, говорит
1. cholskey(sigma) = A
2. generate uniform gaussian vector r
3. matrix vector triangular product with gsl_blas_dtrmv A * r
4. add mu to Ar and that will be a vector of multivariate normal random numbers
мой метод ниже
Правильно ли приведенные ниже изменения для произведения матрицы случайных величин
1. cholskey(sigma) = A
2. generate uniform gaussian matrix R
3. matrix matrix scalar product AR
4. add mu to AR and that will be a matrix of multivariate normal random numbers