Podnieś macierz tożsamości do potęgi

10

Czy można podnieść matrycę tożsamości do potęgi? Otrzymuję błąd, jeśli spróbuję użyć ^operatora.

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

Uwaga: Wiem, że mógłbym to po prostu zrobić (2^2)I, ale są przypadki, w których nie można tego zrobić (np. Gdy macierz jest przekazywana do funkcji, która podnosi macierz).

Andrea Nardi
źródło

Odpowiedzi:

10

To po prostu brakująca metoda dla UniformScalingobiektów. Byłoby wspaniale, gdybyś mógł rozwiązać problem, aby można go było dodać w przyszłej wersji.

Stefan Karpiński
źródło