A ^ k для умножения матриц в R?

предполагатьA это некоторая квадратная матрица. Как я могу легко возвести в степень эту матрицу в R?

Я уже попробовал два способа: Trial 1 с хаком for-loop и Trial 2 немного более элегантно, но это еще далеко отAk простота.

Испытание 1

set.seed(10)
t(matrix(rnorm(16),ncol=4,nrow=4)) -> a 
for(i in 1:2){a <- a %*% a}

Испытание 2

a <- t(matrix(c(0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0),nrow=4))
i <- diag(4) 
(function(n) {if (n<=1) a else (i+a) %*% Recall(n-1)})(10)

Ответы на вопрос(6)

Ваш ответ на вопрос