Vorrei essere in grado di determinare rapidamente se un dato kernel 2D di coefficienti interi è separabile in due kernel 1D con coefficienti interi. Per esempio
2 3 2
4 6 4
2 3 2
è separabile in
2 3 2
e
1
2
1
Il vero test di separabilità sembra essere abbastanza semplice usando l'aritmetica intera, ma la decomposizione in filtri 1D con coefficienti interi si sta dimostrando un problema più difficile. La difficoltà sembra risiedere nel fatto che i rapporti tra righe o colonne possono essere non interi (frazioni razionali), ad esempio nell'esempio sopra abbiamo rapporti di 2, 1/2, 3/2 e 2/3.
Non voglio davvero usare un approccio pesante come SVD perché (a) è relativamente computazionalmente costoso per le mie esigenze e (b) non aiuta necessariamente a determinare i coefficienti interi .
Qualche idea ?
ULTERIORI INFORMAZIONI
I coefficienti possono essere positivi, negativi o zero e possono esserci casi patologici in cui la somma di uno o entrambi i vettori 1D è zero, ad es.
-1 2 -1
0 0 0
1 -2 1
è separabile in
1 -2 1
e
-1
0
1