[R-es] Potencia de una matriz

Kjetil Halvorsen kjetil1001 en gmail.com
Vie Nov 13 15:19:48 CET 2009


El paquete expm, no en CRAN, pero en R-forge, tiene una funci'on
matpow

Kjetil

2009/11/13 Jorge Ivan Velez <jorgeivanvelez en gmail.com>:
> Buenas noches César,
>
> Si te refieres a tomar cada elemento de una matriz, digamos A, y elevarlos a
> una potencia k, entonces escribir
>
> A^k
>
> en la consola del R es más que suficiente.
>
> Sea k = 2. Si en vez de lo anterior lo que necesitas es B = A x A (porque
> k=2), entonces podrías construir una función que lo realice. "A mano"
> escribirías lo siguiente en la consola:
>
> B <- A %*% A
> B
>
> El problema es que cuando k es por ejemplo 10, lo anterior es bastante
> ineficiente.
>
> A continuación te doy varios ejemplos de ambas situaciones. El uso de f1 o
> f2 depende de tu aplicación. Si ninguna de las dos opciones es lo que
> buscas, quizás un poco más de detalle podría ayudarnos a ayudarte. De qué
> dimensión es la matriz A de tu aplicación y qué valores puede tomar k?
>
> Una librería que podría ser de utilidad podría ser "Matrix", aunque no la he
> revisado detalladamente.
>
> # Creando una matriz A
> set.seed(123)
> A <- matrix(rnorm(4), ncol = 2)
> A
>
> # Elevando cada elemento de A a la potencia k
> f1 <- function(x,k) x^k
> f1(A, 2)     # A^2
> f1(A, 5)     # A^5
>
> # Producto matricial de A por si misma k veces
> f2 <- function(x, k){
>        r <- diag(dim(x)[2])
>        for(i in 1:k) r <- r %*% x
>        r
>        }
> f2(A,2) # A x A
> f2(A,3) # A x A x A
> f2(A,5) # A x A x A x A x A
>
> Saludos,
>
>                     Jorge Ivan Velez
>
>
> 2009/11/12 Cesar Escalante <>
>
>> Cordial saludo.
>>
>> Les agradecería que me ayudaran con una función eficiente para calcular
>> potencias de una matriz. ¿Cuál biblioteca la tiene?
>>
>> Gracias de antemano
>>
>>
>> César Escalante C.
>>
>>        [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>



-- 
"... an entire human genome would fit on a music CD."

--- www.thinkgene.com



Más información sobre la lista de distribución R-help-es