( Matematikte bu sorudan esinlenerek )
Tanımlar
Bir Verilen n x n
kare matris A , bunu çağırabilir invertible
bazı mevcutsa n x n
kare matris B öyle AB = BA = I n ile ben n boyutta birim matris olmak n x n
(ana köşegen ile matrisin 1
s ve başka bir şey 0
) ve AB ve her zamanki matris çarpımını temsil eden BA (buraya girmeyeceğim - git doğrusal cebir sınıfını al).
O, biz bir çağırabilir m x n
matris C totally invertible
Her eğer k x k
bir submatrix (aşağıda tanımlanmıştır) C herkes için ters çevrilebilir olup k > 1
, k <= (smaller of m,n)
.
Bir alt matris, orijinal matristen herhangi bir sayıda satır ve / veya sütunun silinmesinden sonra ortaya çıkan matris olarak tanımlanır. Örneğin, aşağıdaki 3x3
matris C bir transforme edilebilir 2x2
submatrix C' ilk satırı kaldırarak 1 2 3
ve orta sütunu 2 5 8
şu şekilde:
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
Birçok farklı alt matris olasılığının olduğunu unutmayın, yukarıdakiler sadece bir örnektir. Bu zorluk sadece sonuçta ortaya çıkan alt k x k
matrisin kare matris olduğu durumlarla ilgilidir .
Meydan okuma
Bir giriş matrisi verildiğinde, tamamen ters çevrilebilir olup olmadığını belirleyin.
Girdi
- Boyutta tek bir matris
m x n
içinde, uygun olan herhangi bir biçimi . - Genelliği kaybı olmadan, varsayabiliriz
m <= n
veyam >= n
Kodunuzla için golfier hangisi ve yolu (yani, bir almak girdi almak devrik eğer istersen ücretsiz operasyonu). - Giriş matrisi boyutu,
3 x 3
dilinizin işleyebileceğinden daha küçük ve daha büyük olmayacaktır. - Giriş matrisi sadece Z + ' dan gelen sayısal değerlerden ( pozitif tamsayılar ) oluşacaktır .
Çıktı
- Bir truthy / Falsey olup giriş matris değeri tamamen tersinirdir.
Kurallar
- Tam bir program veya bir işlev kabul edilebilir.
- Standart boşluklar yasaktır.
- Bu kod golfüdür, bu nedenle her zamanki golf kuralları geçerlidir ve en kısa kod (bayt cinsinden) kazanır.
Örnekler
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
köşede bir olması gerekiyordu , değil 7
. Sakar yazım hataları.
2 6 3; 1 12 2; 5 3 1
?