Practico 3 Ej 10

Practico 3 Ej 10

de Damian Augusto Langone Fusari -
Número de respuestas: 1

Buenas, no nos queda muy claro algo sobre este ejercicio. Leyendo la letra suponemos que se refieren a matrices escalonadas de nxn. Lo que no vemos bien, y por ende no vemos el tipo, es qué es lo que se supone que hace el operador addM. Suponemos que se agrega un array a una matriz pero no vemos de que forma, ya que agregandola como fila o columna la matriz dejaria de ser cuadrada.

El tipo que pensamos es:

Parameter addM: forall (A:Set) (n:nat), A -> Matrix A n -> Array A n -> Matrix A (n+1).

Muchas gracias

En respuesta a Damian Augusto Langone Fusari

Re: Practico 3 Ej 10

de Carlos Luna -

Hola.

Una matriz escalonada no tiene todos los elementos para la dimensión n*n. La primera columna contiene un sólo elemento, la segunda columna 2 elementos, la tercera 3 y así sucesivamente, de tal manera que la columna n posee n elementos. Gráficamente podría verse algo así como:

X X X ... X

   X X ... X

      X ... X

         ... X

El operador addM podría expresar que dada una matriz escalonada de n columnas y un arreglo de n+1 elementos, se genera una matriz escalonada de n+1 columnas (construyendo de abajo hacia arriba para la gráfica previa):  

Parameter addM : forall (X : Set) (n : nat), Matrix X n -> Array X (n+1) -> Matrix X (n+1).


Saludos, Carlos