12.3: Multiplicar Matriz
- Page ID
- 115219
Escribe tu propia función de multiplicación matricial usando la plantilla de abajo y compárela con la multiplicación matricial incorporada que se puede encontrar en numpy
. Tu función debe tomar dos “listas de listas” como entradas y devolver el resultado como una tercera lista de listas.
Prueba tu código con los siguientes ejemplos
Estudio de cronometraje
En esta parte, compararás tu multiplicación matricial con la multiplicación de matriz numpy
. Multiplicará dos\(n \times n\) matrices generadas aleatoriamente usando tanto la función multiplicar ()
definida anteriormente como la multiplicación de la matriz numpy
. Aquí está la estructura básica de su estudio de cronometraje:
- Inicializar dos listas vacías llamadas
my_time
ynumpy_time
- Bucle sobre valores de n (100, 200, 300, 400, 500)
- Para cada valor de\(n\) usar la función time.clock () para calcular el tiempo que lleva usar su algoritmo y anexar ese tiempo (en segundos) a la lista
my_time
. - Para cada valor de\(n\) usar la función time.clock () para calcular el tiempo que se tarda en usar la multiplicación de la matriz
numpy
y anexar ese tiempo (en segundos) a la listanumpy_time
. - Usa el código proporcionado para generar un diagrama de dispersión de tus resultados.
Con base en los resultados anteriores, puedes ver que el algoritmo numpy
no solo es más rápido sino que también “escala” a un ritmo más lento que tu algoritmo.
¿Por qué crees que la multiplicación de la matriz numpy
es mucho más rápida?