Élever la matrice d'identité à un pouvoir

10

Est-il possible d'élever la matrice d'identité à un pouvoir? J'obtiens une erreur si j'essaie d'utiliser l' ^opérateur.

x = [2 0 ; 0 2]
x^2 # this works fine
(2I)^2 #throws MethodError: no method matching ^(::UniformScaling{Int64}, ::Int64)

Remarque: je sais que je pourrais simplement le faire (2^2)I, mais il y a des cas où cela ne peut pas être fait (par exemple lorsqu'une matrice est passée à une fonction qui soulève la matrice).

Andrea Nardi
la source

Réponses:

10

C'est juste une méthode manquante pour les UniformScalingobjets. Ce serait bien si vous pouviez ouvrir un problème à ce sujet afin qu'il puisse être ajouté dans une future version.

StefanKarpinski
la source