Вычисление первых k степеней матрицы в R - PullRequest
1 голос
/ 28 мая 2019

Если я хочу вычислить первые k степени (скажем, k = 10) некоторой матрицы A, используя matrix.power из пакета matrixcalc, мне действительно нужно написать A2 <- matrix.power(A, 2), A3 <- matrix.power(A, 3), ..., A10 <- matrix.power(A, 10)? Мне это кажется немного утомительным, но я старался избегать циклов, что, как я понимаю, рекомендуется в R, потому что это неэффективно. Смогу ли я сотворить магию с apply функциями? По сути, мне понадобится сумма некоторой конкретной записи от всех степеней матрицы A до k.

1 Ответ

1 голос
/ 28 мая 2019

Опция lapply

library(matrixcalc)
lst1 <- lapply(2:100, matrix.power, x = A)

, а затем получить сумму с Reduce

Reduce(`+`, lst1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...