demasiado para Python???
Jaime Perea
jaime en iaa.es
Mar Mayo 6 13:34:13 CEST 2003
El Martes, 6 de Mayo de 2003 04:40, Andrés A. Rocchia escribió:
> Hola, ya me advirtieron en la lista que para calculos complejos Python
> quiza no es la mejor opción pero no pense que me encontrara con ese
> problema tan rápido... a menos que yo este haciendo las cosas mal y es
> por lo que les estoy consultando.
>
> Bien les envío el siguiente algoritmo, que al resolverlo en mi PC tardo
> 4.5 minutos (Pentiun 100MHz - Windows 98 - 32RAM).
>
> Es que ya para este tipo de calculos tengo que usar C++ ? Todavia no
> probe con Pascal (que domino un poco) pero supongo que debe hacerlo mas
> rápido que en 4.5 minutos.
>
> Saludos,
> Andrés
>
> PD: adjunto el archivo difusion.py
La idea es que debes operar con vectores a la vez, con eso aceleras en
más de un orden de magnitud, algo así como lo que sigue.... OJO que no da lo
mismo exactamente ya que de esta manera no actualizas h en cada j como
haces tú.
for i in range(1,n+1):
h[1:jj+1] = r*h[2:jj+2] + (1-2*r)*h[1:jj+1]+r*h[0:jj]
h[jj+1] = h[jj-1]
De todas maneras este es el típico algoritmo que caerá al final en las garras
de algún compilador :-)
Un saludo
--
Jaime D. Perea Duarte. jaime en iaa.es
Linux registered user #10472
Dep. Astrofisica Extragalactica.
Instituto de Astrofisica de Andalucia (CSIC)
Apdo. 3004, 18080 Granada, Spain.
Más información sobre la lista de distribución Python-es