Matrices de Toepliz
Una matriz de Toeplitz es una matriz cuadrada que es constante a lo largo de las diagonales paralelas a la diagonal principal. Por ejemplo,
1 2 3 4 |
|2 5 1 6| |2 5 1 6| |4 2 5 1| |4 2 6 1| |7 4 2 5| |7 4 2 5| |9 7 4 2| |9 7 4 2| |
la primera es una matriz de Toeplitz y la segunda no lo es.
Las anteriores matrices se pueden definir por
1 2 3 |
ej1, ej2 :: Array (Int,Int) Int ej1 = listArray ((1,1),(4,4)) [2,5,1,6,4,2,5,1,7,4,2,5,9,7,4,2] ej2 = listArray ((1,1),(4,4)) [2,5,1,6,4,2,6,1,7,4,2,5,9,7,4,2] |
Definir la función
1 |
esToeplitz :: Eq a => Array (Int,Int) a -> Bool |
tal que esToeplitz p
se verifica si la matriz p
es de Toeplitz. Por ejemplo,
1 2 |
esToeplitz ej1 == True esToeplitz ej2 == False |