Author Archive

El método de Euler

Miércoles, Octubre 8th, 2008

El método de Euler para la aproximación de una función partiendo de un punto conocido de ésta y de su derivada.
La derivada de una función es aproximadamente:
\frac{dx\;}{dt\;} \approx \frac{x(t+h)-x(t)}{h} = f(t)

Despejando tenemos:
\begin{cases}  x(t+h) = x(t) +hf(t) \\ x(0) \mbox{ es conocido} \end{cases}

Y dando valores a t=0, h, 2h , 3h, \dots
x(h) = x(0) + hf(0)
x(2h) = x(h) + hf(h)
x(3h) = x(2h) + hf(2h)
\dots

Con lo que ya tenemos el algoritmo. Lo siguiente es la implementación en sage ploteando juntos el primer punto, los puntos calculados con el método de Euler y la función original (en linea roja) para comparar.
En este caso la función original es x = {{e}^{t}  \cos \left( t \right)}. De la que únicamente conocemos la derivada f={{e}^{t}  \cos \left(t \right)} - {{e}^{t}  \sin \left( t \right)} y el punto x(0)=1. Finalmente el algoritmo quedaría:


#Variables
var('h,t,n')
h = 1/10 #paso
puntos = 100 #puntos a calcular
#Condiciones iniciales
f = exp(t)*cos(t) - exp(t)*sin(t) #ecuacion diferencial
x = exp(t)*cos(t) #funcion original para comparar
x0 = 1 #el punto conocido

p = point((0,1))
for i in range(puntos):
    x1 = RR(x0 + h*f(i*h))
    #print x1,RR(x(i*h)),x1-RR(x(i*h))
    p += point((i*h,x1))
    x0 = x1

#graficar la funcion original junto con los puntos hallados
p += plot(x,0,puntos*h,color="red")
p

Ideas sobre globalización, crisis y no linealidad

Sábado, Octubre 4th, 2008

Escucho a Gabilondo y me da miedo, porque lo que oigo ya me suena, es una voz de fondo que lleva ya tiempo sonando y cada vez repite más fuerte: control, control, control.

Supongo que en tiempos de crisis algunos ven positivo cortar las tres libertades de la economía global, sin embargo es en realidad muy peligroso. David analiza muy bien el discurso y concluye que además de la crisis deberíamos temer a quienes la aprovechan para reclamar un mundo más cerrado y autoritario en nombre de una supuesta economía democrática.

Gabilondo dice:

La especulación financiera se hizo global antes de que el mundo construyera alguna estructura global

Pero a mi me parece que las casas no se empiezan por el tejado y que el significado que le da a esa afirmación no tiene pies ni cabeza, porque es una afirmación trivial.

Entiendo poquito de economía, pero tengo alguna idea de los cimientos sobre los que se ha levantado: matemáticas lineales que asumen que el mercado tiene distribución normal. Error, y de los gordos.

No lo sé, y espero investigar pronto cómo ha sido posible desarrollar la ciencia económica si la teoría está equivocada, tal vez no le prestan mucha atención y la práctica empírica se impone a la larga. Pero el caso es que sería muy interesante aplicar la Teoría del caos a la economía.

Quizás me equivoco (una vez y otra) y sean solo impresiones mías pero en un post de Juan Urrutia sobre neurología y neuroeconomía leo entre lineas un poquito de ese orden caótico no lineal que subyace en la economía.

La imparable Neuroeconomía no parece tan útil para la economía como seguramente lo es para la neurología [...] todavía estoy por ver algún experimento que me abra un camino en economía que me parezca interesante recorrer. Y, sin embargo, estoy convencido de que el cogollo de la ciencia económica es una fuente segura de ideas y de caminos a recorrer par los neurólogos

Por el momento no me importa el sentido en el que brotan las ideas en esa fuente, me interesa la implicación y vuelvo a la frase de gabilondo sobre el sistema global no construido. La economía, como todo sistema social es un sistema vivo. Y en vez de ponernos a sangrar al paciente como propone él tal vez deberíamos antes explorar y asimilar estas nuevas matemáticas de la no linealidad y obrar en consecuencia.

Audentes fortuna iuvat

Jueves, Septiembre 4th, 2008

Este verano no le he hecho mucho caso a mi blog. Me quedó poquito tiempo para él después de que se me cruzaran los cables y empezara a mover el culo para ganarme los garbanzos.

Un día un colega me pegó un telefonazo y me dijo: “¡Ey! No me renuevan el contrato… ¿tienes alguna idea?”. No daría un duro por ninguna de mis ideas, pero tenerlas las tengo a montones, así que sabiendo que él tenía herramientas le propuse montarnos algo por nuestra cuenta. Y ahí está, funcionando, poquito a poco: Telecomunicaciones Gemavi, o la empresa de cómo hacer ñapas con estilo.

Gemavi está superada, fue divertido y enriquecedor, aprendí mucho. Pero no me interesa pasarme la vida grimpando efes y coaxiales… Gemavi me sirve para ir acumulando un pequeñito capital que me está permitiendo desarrollar en los ratos libres otro proyecto, con otro pirado. De momento puedo decir que es un proyecto neoveneciano puro. Es arriesgado, mucho, pero a los osados les sonríe la fortuna y esta vez, de verdad, si que es apasionante :)

Nuevos tableros fractales para las lenguas

Sábado, Agosto 23rd, 2008

Hace poco Kevin Kelly publicaba un artículo muy interesante sobre la perpetuación de la información almacenada. El debate no es nuevo: nuestra información desde la implantación de la revolución digital es rápidamente caduca y difícilmente recuperable debido a los soportes y la codificación respectivamente. ¿Alguien cree que dentro de 20 años podremos recuperar la información de nuestros actuales DVD’s? Hoy día es muy dificil recuperar la información de un disquette de 3″ 1/2 ya ni digamos de uno de 5″ 1/4. Y eso respecto al soporte, en cuanto a la codificación por ejemplo siempre me acuerdo del primer videojuego que programé, que corría en Windows 95… Prácticamente irrecuperable.

En el artículo se habla de la presentación (tras casi diez años de trabajo) del Rosetta disk. Un disco de larga duración que almacena a escala microscópica aproximadamente 13000 páginas en 1500 lenguajes diferentes. Un legado de información para las próximas generaciones.

Toda una proeza.

Sin embargo leo el último artículo de David sobre multilingüísmo y el contraste clama al cielo, el mundo anglo nos ofrece petrificar las lenguas, conservar un fosil para cuando dentro de tres, cinco o diez generaciones toda “la humanidad” hable inglés. Los anglófonos son sordos, ya lo sabemos, pero a mí me parece que además son ciegos: David relata un mundo que ya existe y que cada vez se hará más presente, ciudades-metrópoli como tablero de juego neoveneciano, donde coexistiran en una estructura fractal miles de lenguas distintas y vivas.

La lengua articula el pensamiento, y es la misma lengua la rejilla sobre la cual se cultivan las redes. Por eso si queremos que nuestras redes sean verdaderamente nuestras tenemos que emitir en nuestras lenguas (sean las que sean), solo así nuestra red creará un marco conversacional importante, digno de ser escuchado por otros.

En un mundo transnacional, verdaderamente globalizado, en cada ciudad-metrópoli, un precioso fractal de flores-red se abrirá y su esplendor será como un sonido selvático en el que si escuchamos directamente, sin filtros, lo que oiremos será diversidad, a cada comunidad real emitiendo sus pensamientos, proclamando su modo de vida y defendiendo sus intereses.

Cómo integrar feed en mediawiki

Domingo, Junio 29th, 2008

Puede resultar útil integrar ciertos feeds en un wiki, por ejemplo podemos crear una categoría de miniposts llamada “wiki” en el blog e ir anotando allí los cambios y las nuevas referencias que vamos introduciendo en el wiki, tomamos el feed de esa categoría y lo incluimos en la portada del wiki en una sección a modo “cambios recientes”.

Para conseguirlo utilizamos el programa Magpie a través de la extensión Feedimport para Mediawiki, el proceso es muy sencillo:

  1. Descargamos Magpie y lo colocamos por ejemplo en ~/lib/Magpie

  2. Colocamos el fichero feedimport.php en el directorio de extensiones de Mediawiki:
    ~/mediawiki/extensions

  3. Editamos feedimport.php para configurar el directorio en el que se encuentra Magpie:
    # define location of magpie
    define('MAGPIE_DIR', '/home/janzo/lib/magpierss/');

  4. Y editamos el fichero de configuración de Mediawiki (LocalSettings.php) para incluir la extensión, añadiendo la siguiente linea:
    require_once("$IP/extensions/feedimport.php");

  5. Para utilizarlo editamos cualquier página en Mediawiki:
    <rss>http://nonumerable.net/feed|max=5|template=Template:FEED</rss>

  6. Y configuramos la apariencia en una plantilla (en este caso FEED) con el formato:
    : [{{{link}}} {{{title}}}]
    :: {{{description}}}
    :: {{{dc_creator}}} {{{date}}}

Actualización

  • La prueba de funcionamiento en este minipost y en la portada de mi contextopedia.
  • Como Mediawiki hace los enlaces a su forma particular para que un link aparezca en ambos el formato debe ser la combinación siguiente: <a href="http://micontextopedia/articulo">[[articulo]]</a>