(Terinspirasi oleh pertanyaan ini di atas tentang Matematika)
Definisi
Diberikan n x nmatriks kuadrat A , kita dapat menyebutnya invertiblejika ada beberapa n x nmatriks kuadrat B sedemikian sehingga AB = BA = I n , dengan I n menjadi matriks identitas ukuran n x n(matriks dengan diagonal utama 1s dan apa pun yang lain 0), dan AB dan BA yang mewakili perkalian matriks biasa (saya tidak akan membahasnya di sini - ambil kelas aljabar linier).
Dari itu, kami dapat memanggil m x nmatriks C totally invertible jika setiap k x ksubmatrix (didefinisikan di bawah) dari C dibalik untuk semua k > 1, k <= (smaller of m,n).
Sebuah submatrix didefinisikan sebagai matriks yang dihasilkan setelah penghapusan sejumlah baris dan / atau kolom dari matriks asli. Sebagai contoh, 3x3matriks C di bawah ini dapat ditransformasikan menjadi 2x2submatrix C ' dengan menghapus baris pertama 1 2 3dan kolom tengah 2 5 8sebagai berikut:
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
Perhatikan bahwa ada banyak kemungkinan submatrix yang berbeda, di atas hanyalah sebuah contoh. Tantangan ini hanya berkaitan dengan orang-orang di mana submatrix yang dihasilkan adalah k x k matriks persegi .
Tantangan
Diberikan matriks input, tentukan apakah itu benar-benar tidak dapat dibalik atau tidak.
Input
- Satu matriks ukuran
m x n, dalam format apa pun yang sesuai . - Tanpa kehilangan sifat umum, Anda dapat mengasumsikan
m <= nataum >= n, yang mana golfier untuk kode Anda, dan mengambil input seperti itu (yaitu, Anda mendapatkan operasi transpos gratis jika Anda menginginkannya). - Ukuran matriks input tidak akan lebih kecil dari
3 x 3, dan tidak lebih besar dari bahasa Anda dapat menangani. - Matriks input hanya terdiri dari nilai numerik dari Z + ( bilangan bulat positif ).
Hasil
- Nilai true / falsey untuk apakah matriks input benar-benar dapat dibalik.
Aturan
- Program lengkap atau fungsi dapat diterima.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Contohnya
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]]
6di sudut, bukan a 7. Kesalahan ketik yang canggung.
2 6 3; 1 12 2; 5 3 1?