(zainspirowany tym pytaniem dotyczącym matematyki)
Definicje
Biorąc pod uwagę n x n
macierz kwadratowa , można nazwać Jeżeli istnieje jakiś macierzy kwadratowej B jest takie, że AB = BA = I n , o , że n jest macierzą jednostkową wielkości (matrycy z głównych ukośnych s do niczego innego ) i AB i BA reprezentujące zwykłe mnożenie macierzy (nie wchodzę w to tutaj - idź wziąć klasę algebry liniowej).invertible
n x n
n x n
1
0
Z tym, można nazwać m x n
macierzy C totally invertible
, jeżeli każdy k x k
podmatryca (zdefiniowane niżej) w ° C jest odwracalny dla wszystkich k > 1
, k <= (smaller of m,n)
.
Podmacierz jest definiowana jako macierz wynikowa po usunięciu dowolnej liczby wierszy i / lub kolumn z oryginalnej macierzy. Na przykład poniższą 3x3
macierz C można przekształcić w 2x2
submatrix C ' , usuwając pierwszy wiersz 1 2 3
i środkową kolumnę 2 5 8
w następujący sposób:
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
Zauważ, że istnieje wiele różnych możliwości submatriksów, powyższy jest tylko przykładem. To wyzwanie dotyczy tylko tych, w których wynikowa submatrix jest k x k
macierzą kwadratową .
Wyzwanie
Biorąc pod uwagę macierz wejściową, określ, czy jest ona całkowicie odwracalna, czy nie.
Wejście
- Pojedyncza matryca rozmiaru
m x n
w dowolnym odpowiednim formacie . - Bez utraty ogólności możesz założyć
m <= n
lubm >= n
, w zależności od tego, który kod jest bardziej golfowy, i wziąć dane wejściowe w ten sposób (tzn. Możesz otrzymać operację transpozycji za darmo, jeśli chcesz). - Rozmiar matrycy wejściowej nie będzie mniejszy niż
3 x 3
i nie będzie większy niż Twój język. - Macierz wejściowa będzie się składać tylko z wartości liczbowych z Z + ( dodatnie liczby całkowite ).
Wyjście
- Truthy / falsey wartość tego, czy matrycy wejściowej jest całkowicie odwracalna.
Zasady
- Dopuszczalny jest pełny program lub funkcja.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Przykłady
Truthy
[[1 2 3]
[2 3 1]
[3 1 2]]
[[2 6 3]
[1 12 2]
[5 3 1]]
[[1 2 3 4]
[2 3 4 1]
[3 4 1 2]]
[[2 3 5 7 11]
[13 17 19 23 29]
[31 37 41 43 47]]
Falsey
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 6 2 55 3]
[4 5 5 5 6]
[9 3 7 10 4]
[7 1 8 23 9]]
[[2 3 6]
[1 2 12]
[1 1 6]]
[[8 2 12 13 2]
[12 7 13 12 13]
[8 1 12 13 5]]
6
w kącie, a nie 7
. Niezdarne literówki.
2 6 3; 1 12 2; 5 3 1
?