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