Как стать автором
Обновить

Комментарии 1

подбор комбинации элементов многомерной матрицы, чтобы сделать ее положительно определенной, потребует порядочно удачи и времени на вычисления

Если вам нужна какая-нибудь положительно определённая матрица размерности n x n, то достаточно взять какую-нибудь матрицу X размерности n x сколько-нибудь и умножить её саму на себя, т.е. X X^T. Если вы брали матрицу случайно, то результат умножения будет неотрицательно определённым (этого достаточно для существования многомерного нормального распределения с такой ковариационной матрицей, пусть и вырожденного) хотя бы из-за того, что «какая-нибудь матрица размерности n x сколько-нибудь» — это выборка реализаций n-мерной случайной величины, а X X^T — её ковариационная матрица. То есть если не хочется устанавливать ещё один пакет, а хочется быстро на что-то посмотреть, то вполне достаточно

N <- 10
m <- matrix(rnorm(N*N), ncol=N)
pos.def.marix <- t(m) %*% m

Проверить результат можно, посмотрев на

eigen(pos.def.matrix)

— все собственные числа должны быть положительными, и они такими и будут (а если взять матрицу с числом рядов k < N, то мы получим N-k нулевых собственных чисел — это если вы хотели посмотреть на вырожденные распределения).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий