Pr.2, Ej.5

Pr.2, Ej.5

de Nicolas Grosso San Roman -
Número de respuestas: 1

Hola! Escribí el código de este ejercicio y al calcular los tiempos de cada método siempre me termina dando que el bslashtx lo realiza más rápido que lutx (una vez) y haciendo las sustituciones, está bien esto?

Veo que bslashtx llama a lutx y luego realiza las cuentas necesarias para dar el vector respuesta, lo cual sería sumarle el tiempo en que realiza la descomposición LU () y luego realizar las sustituciones. Luego cuando lo realizo con las sustituciones (habiendo calculado la desc. LU anteriormente) tiene solo el costo de realizar las sustituciones.

Sabiendo esto diría que el primer método demoraría más, pero me da lo contrario.

Adjunto mi código por alguna corrección:


 


Ejemplo de salida:



Gracias!!

En respuesta a Nicolas Grosso San Roman

Re: Pr.2, Ej.5

de Francisco Carballal -
Buenas.

Tu razonamiento me parece correcto, la sustitución hacia adelante y la hacia atrás deberían ser de orden n^2 y backslash orden n^3, así que las soluciones que usan la descomposición LU deberían ser más rápidas (incluso si consideraras el tiempo que le lleva hacer la descomposición LU una vez).

Hice un experimento parecido y con 10 vectores me pasó lo mismo, pero después probé con 100 y la solución con LU fue más rápida. Después probé con 1000 y fue aún más la diferencia. Capaz es eso. Esto de los órdenes de nota con cantidades grandes. También agrandando las matrices (pasé a 1000x1000) fue más rápido usando LU.

Fijate si con eso empieza a tener el comportamiento que esperas. Capaz matrices de 100x100 o 10 vectores no es suficiente para que se note el orden. Acordate que el orden habla de cómo crecen las cantidades cuando los números de hacen grandes.

Espero ayudar.

Saludos!