Matriks kofaktor adalah transpose dari Matriks Adjugate . Elemen-elemen dari matriks ini adalah kofaktor dari matriks asli.
Kofaktor (yaitu elemen matriks kofaktor pada baris i dan kolom j) adalah penentu dari submatrix yang dibentuk dengan menghapus baris ke-i dan kolom ke-j dari matriks asli, dikalikan dengan (-1) ^ (i + j).
Misalnya, untuk matriks
Elemen matriks kofaktor pada baris 1 dan kolom 2 adalah:
Anda dapat menemukan info tentang apa yang menentukan matriks dan bagaimana menghitungnya di sini .
Tantangan
Tujuan Anda adalah untuk mengeluarkan matriks kofaktor dari matriks input.
Catatan : Built-in yang mengevaluasi matriks kofaktor, atau matriks tambahan, atau penentu atau hal serupa yang diizinkan .
Memasukkan
Matriks dapat dimasukkan sebagai argumen baris perintah, sebagai parameter fungsi, dalam STDIN
atau dengan cara apa pun yang paling sesuai untuk bahasa yang Anda gunakan.
Matriks akan diformat sebagai daftar daftar, masing-masing sublist sesuai dengan satu baris, yang berisi faktor-faktor yang dipesan dari kiri ke kanan. Baris dipesan dari atas ke bawah dalam daftar.
Misalnya, matriks
a b
c d
akan diwakili oleh [[a,b],[c,d]]
.
Anda dapat mengganti tanda kurung siku dan koma dengan sesuatu yang lain jika cocok dengan bahasa Anda dan masuk akal (misalnya ((a;b);(c;d))
)
Matriks hanya akan berisi bilangan bulat (yang bisa negatif) .
Matriks akan selalu berbentuk bujur sangkar (yaitu jumlah baris dan kolom yang sama).
Anda dapat mengasumsikan bahwa input akan selalu benar (yaitu tidak ada masalah format, tidak lain dari integer, tidak ada matriks kosong).
Keluaran
Matriks kofaktor yang dihasilkan dapat di-output ke STDOUT
, dikembalikan dari fungsi, ditulis ke file, atau hal serupa lainnya yang secara alami sesuai dengan bahasa yang Anda gunakan.
Matriks kofaktor harus diformat dengan cara yang persis sama dengan matriks input yang diberikan, misalnya [[d,-c],[-b,a]]
. Jika Anda membaca sebuah string, maka Anda harus mengembalikan / menampilkan string di mana matriks diformat persis seperti pada input. Jika Anda menggunakan sesuatu seperti misalnya daftar daftar sebagai input, maka Anda harus mengembalikan daftar daftar juga.
Uji kasus
- Memasukkan:
[[1]]
Keluaran: [[1]]
- Memasukkan:
[[1,2],[3,4]]
Keluaran: [[4,-3],[-2,1]]
- Memasukkan:
[[-3,2,-5],[-1,0,-2],[3,-4,1]]
Keluaran: [[-8,-5,4],[18,12,-6],[-4,-1,2]]
- Memasukkan:
[[3,-2,7,5,0],[1,-1,42,12,-10],[7,7,7,7,7],[1,2,3,4,5],[-3,14,-1,5,-9]]
Keluaran:
[[9044,-13580,-9709,23982,-9737],[-1981,1330,3689,-3444,406],[14727,7113,2715,-9792,414],[-28448,-2674,-707,16989,14840],[-2149,2569,-2380,5649,-3689]]
Mencetak gol
Ini adalah kode-golf sehingga jawaban tersingkat dalam byte menang.