Mantén la atención porque en esta división encontrarás la solución que buscas.
Solución:
El libro Physics by Computer tiene una unidad sobre la mariposa de Hofstadter. La “presentación de los fundamentos teóricos solo puede verse como una primera introducción”, según la introducción del libro, pero tiene un código fuente para calcular la figura.
Esta página web sobre el libro tiene muchos enlaces rotos, pero puedes encontrar el código fuente de Java para la unidad Butterfly del libro en Wayback Machine.
He portado el código java a HTML5 canvas/javascript aquí, donde puedes ver cómo se completa la figura a medida que aumenta q:
También recomiendo este conciso resumen de media página de las matemáticas de Oliver Knill, al que se vinculó la página en la que @Jitter publicó un enlace. Describe una función $f(x,y)$ para la Mariposa, usando un exponente de Lyapunov. Requisito previo: conocimiento de matrices y determinantes.
Creé un Jupyter Notebook http://nbviewer.jupyter.org/github/empet/Mathematical-Physics/blob/master/Hofstadter-buterfly.ipynb, que presenta cómo se define la mariposa Hofstadter, así como una trama interactiva que muestra al pasar el flujo magnético racional correspondiente y la energía.
Si crees que te ha sido útil nuestro artículo, nos gustaría que lo compartas con otros desarrolladores de este modo nos ayudas a difundir nuestra información.