Ir al contenido principal

Reto de métodos numéricos: resumen

Durante octubre (2017) escribí un programa por día para algunos métodos numéricos famosos en Python y Julia. Esto está pensado como un ejercicio, no esperen que el código sea lo suficientemente bueno para usarse en la "vida real". Además, también debo mencionar que casi que no tenía experiencia con Julia, así que probablemente no escriba un Julia idiomático y se parezca más a Python.

Resumen

Esta publicación resume el reto. Para ver el código fuente pueden remitirse al repositorio.

El veredicto

Ya que el reto es conmigo mismo, y el propósito era aprender algo de Julia, el veredicto es: exitoso. Sin embargo, fallé en el día 26 con el Método de Elementos de Frontera.

La lista de métodos

Día

Método numérico

01

Bisección

02

Regula falsi

03

Newton

04

Newton multivariable

05

Broyden

06

Descenso del gradiente

07

Nelder-Mead

08

Newton para optimización

09

Interpolación de Lagrange

10

Interpolación de Lagrange con muestreo de Lobatto

11

Interpolación de Lagrange con matriz de Vandermonde

12

Interpolación de Hermite

13

Interpolación spline

14

Cuadratura trapezoidal

15

Cuadratura de Simpson

16

Cuadratura de Clenshaw-Curtis

17

Integración de Euler

18

Integración de Runge-Kutta

19

Integración de Verlet

20

Método del disparo

21

Diferencias finitas con método de Jacobi

22

Diferencias finitas para valores propios

23

Método de Ritz

24

Elementos finitos en 1D

25

Elementos finitos en 2D

26

Método de elementos de frontera

27

Integración Monte-Carlo

28

Factorización LU factorization

29

Factorización de Cholesky

30

Gradiente conjugado

31

Elementos finitos con solucionador

Conclusiones

  • Este era un ejercicio de kata de código para aprender algunos detalles sobre Julia para computación científica. Como tal, fue muy útil para mí ensuciarme las manos con Julia.

  • Implementar el Método de Elementos de Frontera en un día parece algo difícil. Yo ya lo sabía de antemano, pero lo intenté de todas formas … sin éxito.

  • La sintaxis de Julia está en un punto intermedio entre Python y Matlab. Esto hace que sea fácil de usar, aunque la documentación de algunas paquetes está en una etapa preliminar en este momento.

  • No volveré a hacer un reto como estos en un rato. Requiere de mucha atención realizarlo.

Comentarios

Comments powered by Disqus