Saya ingin dapat dengan cepat menentukan apakah kernel 2D yang diberikan koefisien integer dapat dipisahkan menjadi dua kernel 1D dengan koefisien integer. Misalnya
2 3 2
4 6 4
2 3 2
dipisahkan menjadi
2 3 2
dan
1
2
1
Tes sebenarnya untuk pemisahan tampaknya cukup mudah menggunakan aritmatika integer, tetapi penguraian menjadi filter 1D dengan koefisien integer terbukti menjadi masalah yang lebih sulit. Kesulitan tampaknya terletak pada kenyataan bahwa rasio antara baris atau kolom mungkin non-integer (fraksi rasional), misalnya dalam contoh di atas kita memiliki rasio 2, 1/2, 3/2 dan 2/3.
Saya tidak benar-benar ingin menggunakan pendekatan tugas berat seperti SVD karena (a) ini relatif mahal secara komputasi untuk kebutuhan saya dan (b) masih belum tentu membantu untuk menentukan koefisien integer .
Ada ide?
INFORMASI LEBIH LANJUT
Koefisien mungkin positif, negatif atau nol, dan mungkin ada kasus patologis di mana jumlah salah satu atau kedua vektor 1D adalah nol, misalnya
-1 2 -1
0 0 0
1 -2 1
dipisahkan menjadi
1 -2 1
dan
-1
0
1