Archive for 28 mayo 2013

Física teórica: guía de lectura I

mayo 28, 2013

Hace poco me solicitaron una recomendación de libros para empezar con la física teórica partiendo de la base de haber estudiado otra especialidad de física. No es la primera vez que me piden algo similar así que voy a dar algunas recomendaciones.

Lo primero que debe hacer cualquiera que se plantee estudiar física teórica es tener una buena base en mecánica cuántica no relativista. Sé que hay gente que sólo ha estudiado una asignatura anual de cuántica en tercero, y que, según donde lo haya estudiado, el nivel es muy bajo. Por poner algunos ejemplos significativos comentaré que hay gente que en el primer cuatrimestre ven toda la pre-mecánica cuántica, una elaboración de lo que se explica en la parte de “física moderna” de secundaria, osea, todo lo que se hizo antes de que se empezase a usar la ecuación de Schröedinger. En mi opinión eso está bien cómo curiosidad histórica, pero poco más. Lo suyo es dedicar a ese asunto una o dos semanas introductorias y luego pasar a la verdadera cuántica. Fruto de dedicar tanto tiempo a esa parte prescindible es que luego, en el segundo cuatrimestre, se quedan muy cortos. Hablo de gente que sólo ve una introducción al formalismo cuántico, problemas típicos en una dimensión (pozos, barreras, efecto túnel) y el oscilador armónico por el método funcional, sin llegar a ver el método de operadores creación/aniquilación que es básico en un montón de aspectos mas avanzados de cuántica.

Para hacernos una idea del nivel que se debería tener en cuántica no relativista comentaré lo que se suele ver (al menos lo que se veía en la licenciatura, ahora con bolonia cualquiera sabe el desastre que han podido hacer xD) en la UAM. En el primer año, tercero, se ve en el primer cuatrimestre lo que esa gente de la que hablé antes ve en el segundo, pero incluyendo alguna cosa más: por supuesto el método de operadores creación/aniquilación para el oscilador armónico y también algo del limite clásico y semiclasico. En el segundo cuatrimestre (la distribución exacta varía según los años) se suele ver el formalismo abstracto de Dirac, una introducción al momento angular, algo de spin, algo de teoría de perturbaciones (los casos mas sencillos), partículas idénticas y, desde luego, el átomo de hidrógeno. Según quien lo de se puede ver alguna cosa más, pero eso, así a grosso modo, sería lo imprescindible.

Luego en cuarto hay dos asignaturas. En el primer cuatrimestre se ven mas a fondo el momento angular, la teoría de perturbaciones, las partículas idénticas, el spin, etc. En general es un temario similar al segundo cuatrimestre de tercero, pero entrando en muchos mas detalles. En el segundo cuatrimestre es casi obligatorio ver teoría de colisiones, con bastante extensión, y luego ya hay otras posibilidades que dependen un poco del año. Se suele ver una introducción a la cuantización del campo electromagnético, y puede que también algo de mecánica relativista (ecuación de Klein-Gordon sobre todo).

Cómo dije antes todo esto es básico e imprescindible. Yo he estudiado esto básicamente por dos libros, el de Yndurain y los dos volúmenes del Galindo Pascual, usando el Landau cómo referencia ocasional en algunos temas. Hay gente que prefieren el Cohen-Tanuhdji. A mi nunca me gustó, entre otras cosas porque es un libro enorme, en dos tomos, y es muy poco práctico usar algo así. Quizás ahora con los tablets me lo pensaría, pero, la verdad, yo si tuviese que estudiar ahora creo que posiblemente usaría un libro mas moderno, el Ballentines (Quantum mechanics, a modern development), que usa el formalismo de espacios de Hilbert equipados (como hace el galindo-pascual, pero de modo mas asequible para quien no tenga una base muy fuerte en análisis funcional).

Bien, eso es para empezar. Pero, por supuesto, hay más, mucho más.

Hay gente que me ha preguntado si es necesario saber a fondo mecánica clásica. En mi opinión, si se ha visto un buen curso de mecánica clásica en segundo, dónde se haya visto con detalle el formalismo lagrangiano, las bases del hamiltoniano, y algo -sin entrar a fondo- de Hamilton-Jacobi, corchetes de poisson, transformaciones canónicas y variables acción-ángulo va servido. En la carrera, en cuarto, hay otra asignatura de física clásica dónde según quien la de se puede profundizar en esos temas, y posiblemente ver algo de fluidos, o de caos. Yo tuve la suerte de que esa asignatura me la dió Enrique Álvarez y vimos sistemas lagrangianos degenerados (o “gauge”). Es decir, aquellos en los que no se pueden despejar de manera unívoca los momentos canónicos en términos de las velocidades. Estos sistemas aparecen en relatividad especial, teorías gauge, teoría de cuerdas, etc. Se tratan o bien por el formalismo de ligaduras de Dirac o por el de BRST. Para un físico teórico es mucho mas útil eso que lo otro, pero, la verdad, es díficil encontrar bibliografía al respecto. Hay otra gente que considera muy importante ver el formalismo de la mecánica clásica mediante geometría simpléctica en variedades. Yo lo conozco, y la verdad, excepto para gente que vaya a trabajar en temas de cuantización geométrica (algo que, por ejemplo, hacen algunos de la LQG) no me parece en absoluto prioritario. En todo caso si alguien quiere verlo las referencias standard son el Arnold y el Tromba (éste con mucho mas detalle matemático)

Otro aspecto que es interesante es ver teoría clásica de campos, en particular electrodinámica clásica. Para esto las referencias suelen ser libros de electrodinámica cuántica que se extiendan en la parte clásica. Yo en particular usé uno de la editorial Mir, que saqué de la biblioteca y no llegué a comprar, y no recuerdo mas detalles respecto a quien era el autor y cuál era el título exacto, pero vamos, hay más. Quizás los primeros capítulos del volumen 2-teoría clásica del campo- del curso teórico de Landau-lipshitz, podría servir sí no se encuentra otra cosa para tener los detalles imprescindibles.

Estas dos asignaturas últimas (mecánica clásica y electrodinámica clásica) si bien son necesarias son algo tangenciales. El core de la física teórica es la teoría cuántica de campos, la física de partículas y la relatividad general (y luego ya la teoría de cuerdas). Vamos con ello.

Empiezo por la mas fácil de cara a hacer recomendaciones, la relatividad general. Un aspecto clave con esta asignatura es la base matemática. Lo mínimo imprescindible sería saber cálculo tensorial a lo Levi-civvitta. Los tensores se solían ver muy por encima en segundo, dentro de métodos matemáticos, pero con los nuevos planes de estudios dejó de verse. De todos modos lo que se veía no era suficiente. Yo, cuando estudiaba segundo de físicas, estudié también dos asignaturas de matemáticas, topología y geometría de curvas y superficies. Luego, en el verano, miré el Sokolnikof de cálculo tensorial, que al final trae una introducción a la relatividad general. Aparte me leí el libro de Einstein en el que explicaba, con algo de detalle matemático, la relatividad general. Luego en tercero estudié por mi cuenta lo que vendría a ser geometría III de la UAM, dónde se ve geometría en variedades, y en cuarto estudié geometría Riemaniana (lo que vendría a ser geometría IV). También ví algo de espacios fibrados y mas topología algebraica, y otras asignaturas de matemáticas, cómo muy por encima teoría de la medida y algo de análisis funcional (de alguna me matriculé incluso). Cuando llegué a quinto la asignatura de relatividad general del primer cuatrimestre tuve a Enrique Álvarez. Empezó con una introducción, desde cero, a variedades, geometría riemaniana (y semiriemaniana, claro xD) y luego, cuando introdujo las conexiones usó el método de Cartan, que no es el que yo había visto en los dos libros que usé para esos temas (el boothby: “Differential geomtry and manifolds an riemanian geometry”, y uno de Bishop & Golberg, “tensor analisys on manifolds”).

Bien, esa fué mi historia. Pero aquí se trata de hacer recomendaciones. Yo recomendaría estudiar el último libro que mencioné, el Bishop & Goldberg, y luego pasarse a los libros de RG. Estos libros suelen traer una buena introducción a la matemática requerida, pero sigo recomendando que previamente se estudie este libro.

Sobre los libros a usar para RG yo haría dos recomendaciones muy claras, y dejaría otro de consulta. El libro por autonomasia es el Wald: “general relativity”. Es muy extenso, y quizás, siendo de los 80, se pueda pensar que es algo antiguo, pero cómo quiera que a partir de los 80 ha habido una escisión en el estudio de la relatividad y lo que unos estudian otros lo ignoran, y viceversa, creo que lo que en ese libro se enseña es lo último sobre lo que hay un consenso unánime. Otro libro, mucho mas corto, que también me gusta bastante el el Strauman: “general relativity and relativistic astrophysic”. El tercer libro que recomiendo es el de Weinberg (no recuerdo el título exacto).

En un primer cuatrimestre se suele ver lo básico, el formalismo matemático, las ideas físicas, las ecuaciones de Einsteins, y la solución de Schwarschild. En un segundo cuatrimestre se veía (creo que ya no se da) cosmología básica, con los modelos de FRW y sus implicaciones en física de partículas. Para eso recomendaría el libro de Weinberg (el de gravitación y cosmología, no el mas moderno que es exclusivo de cosmología, que está muy bien cómo libro de referencia en cosmología, pero es demasiado avanzado para empezar, en mi opinión al menos). Por supuesto el Wald también trae una introducción a FRW, así que se puede estudiar también por ahí. En general el Wald trae mucho más de lo que se explica en licenciatura y mi recomendación es clara, hay que leérselo entero ;).

Cómo ya me va quedando muy larga la entrada dejo para otro día las otras asignaturas, teoría cuántica de campos y física de partículas, y para teoría de cuerdas posiblemente lo suyo sería hacer otra entrada dedicada. Quien me conozca sabe que me da mucha pereza hacer las segundas partes de las entradas, así que paciencia ;).

Quantum mechancis in your android device

mayo 23, 2013

El título es una paráfrasis del libro Quantum Mechanics Using Computer Algebra: Includes Sample Programs in C++, SymbolicC++, Maxima, Maple, and Mathematica .

Esta es la segunda edición. La primera tenía el mismo título, pero cambiaban los entornos en los que se ofrecía software. En particular -de cara al propósito de ésta entrada- en vez de máxima usaba reduce. Cualquiera que haya seguido recientemente el blog adivinará que la parte de máxima esta justificada por la reciente versión de máxima para android. Si menciono la primera edición y reduce es porque resulta que también existe una versión de reduce para android. Aviso, cómo ahí explica hay dos reduce para android, el que enlazo y uno que se llama Android reduce. El primero es un entorno que incluye toda la funcionalidad pero que debe ejecutarse desde la línea de comandos. El segundo es una aplicación visual que permite hacer una serie de operaciones mediante una interfaz visual que, por debajo, llaman al core. Ah, y, por supuesto, en android hay varios compiladores de C++ (de symbolic C++ no lo sé, acabo de enterarme de que existe eso xD) así que también puede usarse ese código con uno de los compiladores.

En definitiva, que en ese libro vamos a tener un montón de código para resolver problemas típicos de mecánica cuántica, desdealgunos muy elementales hasta tópicos mas avanzados como teoría de perturbaciones, scattering, etc. También incluye algunos temas que podrían considerarse mecánica cuántica relativista, cómo las matrices de Dirac. Un fallo de la primera edicion es que no contiene ningún diskette/CD-ROM (es del 1995, por esa época no había nada mas sofisticado, y bueno, tampoco hace falta un DVD o blue ray para meter ese código y si acaso las versiones de los programas), no sé si la segunda versio´n lo incluirá, esperemos que sí.

Por cierto, cómo habréis podido ver en la web es tienen algunos pdf com parte de los primeros capítulos que incluye algo de software. Un código de máxima sacado de ese capítulos es el siguiente: /* wavepacket.mac */
depends (psi,x,psi,t);
depends (f1,x,f1,t);
depends (f2,x,f2,t);
f1: B/(sqrt(1+%i*hb*t/(m*a2)));
f2: exp(-(x*x)/(2*a2*(1+%i*hb*t/(m*a2))));
psi: f1*f2;
res1: hb*hb*diff(psi,x,2)/(2*m);
res2: %i*hb*diff(psi,t);
result1: (res1+res2)/f2;
result2: expand(result1);
print(result2);

He probado a ejecutar ese código en el maxima para windows y el de android y en ambos se ejecuta correctamente. Hay alguna diferencia eso sí. En el de windows se puede hacer copy & paste de todo y darle a ejecutar y funciona, haciendo todos los cálculos de un tirón. En el de Android eso no va y he tenido que ir copiando el código línea por línea, lo cuál es un poco pesado. En la práctica eso no sería problema porque lo suyo es poner este código en un archivo de texto (extensión txt, max o mac) y cargarlo con el comando load( path del archivo). Aviso, lo de las rutas en linux/android son un poco lio par ala gente que está acostumbrada a windows. Si ponéis los scripts de máxima en una carpeta llamada “maximaScripts” de la microSD que viene con el dispositivo (microSD0 cómo suelen llamarla los exploradores de archivos) tenéis que escribir como ruta: “/mnt/microsd/maximascrips.nombrearchivo.mac” (espero no haberme equivocado que lo estoy escribiendo de memoria).

También probé a ejecutar algo de código de reduce e igualmente funciona correctamente en la versión para android. Para cosas tan sencillas (a nivel de proceso) cómo estas el tiempo de ejecución (probado en un note 10.1 y en un note II – ambos con cuatro núcleos a 1.4 y 16 Ghz respectivamente, y 2 GB de RRAM) es despreciable y no se puede notar ninguna diferencia al tiempo que tarda en ejecutarse en un PC (AMD fusion de 6 núcleos a 3.2 GHZ, y 14 GB de RAM). Por supuesto para cálculos complejos la potencia es importante, pero al fin y al cabo la primera versión del libro se escribió para ordenadores 486, o si acaso Pentium, con velocidades de reloj del orden de los 100 MGHZ y con una memoria que podría ir entre uno 8 y 32 MB de RAM. Vale que los micros de ARM para móviles no son tan potentes cómo sus correspondientes actuales de PC, pero sin duda le dan mil vueltas a los ordenadores de esa época.

Aparte de esté código de mecánica cuántica también testeé el maxima de android con algo de cálculo tensorial, en particular le pedí que me sacase el tensor de Ricci a partir de una métrica. Una vez más el cálculo lo hizo de manera casi instantánea y no hubo diferencia apreciable al tiempo que requiere el mismo cálculo en el PC de sobremesa. Eso sí, hacer el mismo cálculo a mano podría requerir horas, así que ahí se ve lo fantástico de tener este tipo de potencia de cálculo en un dispositivo que puedas llevar a cualquier lado, en particular porque éste tipo de cálculos son los que suele necesitar un físico teórico. Incluso si alguien trabaja en teoría de cuerdas se va encontrar con la necesidad de hacer cálculo tensorial, no digamos ya si trabaja en agujero negros en teoría de cuerdas. Con estos packages de cálculo, los libros y artículos que puedes llevar en el tablet, y un stylus para escribir prácticamente hay todo lo que se puede necesitar para hacer física teórica cómodamente. Por supuesto en un tablet windows 8 con stylus aparte de estos programas tienes mathematica y maple, que aún no están portados para android, y que tienen mas scripts en la red para más tareas, pero pese a ello uno se puede apañar mas que dignamente con lo que ya hay. En el peor de los casos si uno quiere un mathemática puede pagar por ese invento extraño del wolphram alpha pro que da una funcionalidad muy similar a mthematica, pero en versión en la nube (que es un tipo de informática que detesto, y no digamos ya de pago, as´ique conmigo que no cuenten xD).

Bien, esto de poder comprar un libro es fantástico, pero sería interesante tener -cómo anticipé- material para descargar desde la web. Hay varias páginas. Por ahora la más interseante que he encontrado (par aun teórico) es MAXIMA BY EXAMPLE: DETAILED EXAMPLES OF THE USE OF THE MAXIMA COMPUTER ALGEBRA SYSTEM escrita por el físico Edwin L. (Ted) Woollett.

Por supuesto si uno sube de nivel sería interesante tener software para hacer cálculo de cosas cómo el espectro de una teoría supersimétrica a partir de su Lagrangiano, o algo para hacer diagramas de Feynman, o vaya usted a saber qué. Cómo dije antes mucho de ese software está para mathematica y mapple, que por ahora no están disponibles en Android. Pero si hay mucho para matlab, y si está para matlab está para Octave, que si está disponible en android. En fín, no nos vamos a engañar, para windows sigue habiendo mas material, pero comparado a lo que había hace un año ahora tenemos Maxima, Octave, mathstudio y reduce (por citar los mas importantes) y teniendo en cuenta que no hay móviles con windows 8 y sí con android y que lo mejor es poder compartir todo el software en el móvil, en el tablet y en el ordenador, y que eso sólo puede hacerse con Android, pues está claro cuál es el camino. Bueno, en el futuro próximo los de Ubuntu van a sacar una versión de Linux para móviles y tablets, y par linux ya sí que hay prácticamente lo mismo que para windows.

Entiendo que hay mucha gente que tiene la idea de que lo suyo es dedicarse a la física en un despacho, con el ordenador al lado. O si acaso en una biblioteca, con un portátil. Pero eso limita mucho, yo quiero disponer de todo el material posble en cualquier lado, porque, a ver, ¿quien no ha quedado con amigos, estos se van a la discoteca, se pierden por ahí, y uno se queda aburrido (eso puede ocurrir incluso si los amigos no se pierden xD) sin nada interesante que hacer? Pues en esos caso se saca del bolsillo el note II y se pone a hacer física y si uno necesita calcular un tensor de Ricci que mejor que tener un software que lo haga y luego ya hacer a mano los cálculos que corresponda ;).

Por supuesto, si se es del grupo de gente alérgico a la tecnología siempre puede optar por opciones mas…clásicas xD.

Caos espectral en mecánica cuántica (o perturbación crítica)

mayo 15, 2013

Actualización: He modificado el título de la entrada para llamar a la teoría propuesta por un nombre mas descriptivo, y posiblemente mas llamativo también ;).

Hace unas fechas escribí una breve reseña sobre caos cuántico. La ligereza de la misma puede haber servido cómo pista de que no era un tema en el que hubiese profundizado demasiado, por decirlo suavemente. El motivo es que no era un tema que me hubiese resultado especialmente atractivo hasta ahora. Cómo dije ahí esa gente tiente a ocuparse de mecánica cuántica muy sencilla y -además- en última instancia no existe un análogo cuántico del caos clásico así que no terminaba de ver un buen motivo para profundizar en ese campo.

Con los precedentes anteriores uno podría plantearse cómo es que ahora dedico una segunda entrada al tema. El motivo proviene de algo aparentemente muy alejado de la mecánica cuántica: el cálculo numérico. Cómo parte de la titulación de matemáticas es necesario cursar al menos dos asignaturas sobre cálculo numérico. En el primer año se ven varios temas relativamente sencillos cómo cálculo de ceros de funciones, interpolación de funciones, integración/derivación numérica, resolución de sistemas lineales y, la parte mas extensa, álgebra lineal numérica.

En los cursos de álgebra lineal se aprende a calcular autovalores y autovectores de manera analítica. Cómo suele ser habitual el método que es eficiente para hacer algo con “lápiz y papel” dista mucho de ser el mejor para hacerlo mediante algoritmos en un ordenador. En el caso del álgebra numérica sucede lo mismo, pero, además, se aprenden algunos hechos tan interesantes cómo sorprendentes.

Recordemos que para calcular los autovalores de una matriz M uno debe hacer el determinante de \mid M -\lambda \mathbb{I} \mid . Esto da cómo resultado un polinomio en \lambda . Una vez se tienen las raíces de ese polinomio se sustituyen en la expresión \mid M -\lambda \mathbb{I} \mid y se calculan el/los autovectores correspondientes a ese autovalor. En los ejercicios típicos las matrices están “cocinadas” para que el polinomio tenga raíces enteras (o al menos alguna de ellas entera y que el resto puedan obtenerse a partir de ahí por el método de Rufini). Por supuesto en problemas reales no sucede eso casi nunca (no estoy 100% seguro pero creo recordar que en el conjunto de todos los polinomios los que cumplen eso tendrían medida nula -definiendo una medida más o menos natural en el espacio de polinomios, claro-). Por ese motivo, en la práctica, uno debería resolver el polinomio por métodos numéricos y luego implementar un algoritmo que calculase el autovector a partir de ese autovalor.

El caso es que esa tarea tan sencilla de calcular las raíces de un polinomio tiene sutilezas inesperadas. La clave del asunto es que polinomios muy similares pueden tener raíces no tan similares. Es decir, una pequeña incertidumbre en el valor de un coeficiente del polinomio se traduce en una gran diferencia entre los valores de las raíces, osea, cómo exclamaría Malcom: ¡CAOS!. Antes de seguir con consideraciones teóricas sobre esto dejo un ejemplo de matriz cuyo polinomio característico tiene esa sensibilidad:

A=\left(\begin{array}{ccc}    -149&-50&-154\\    537&180&546\\    -27&-9&-5    \end{array}\right)

Uno puede hacer el polinomio característico y verificar que sus raíces son {1,2,3}. Si uno modifica muy ligeramente esa matriz, por ejemplo modificando el segundo elemento de la diagonal de 180 a 180.01 podría comprobar (recomiendo usar algún programa informático) que las nuevas raíces el polinomio característico (vamos, los autovalores de la matriz), son { 0.207, 2.3008, 3.50} Es decir, una modificación de uno de los elmentos de la matriz del orden de 10^{ -5} modifica todos los autovalores en magnitudes entorno al 50% lo cuál es algo realmente impresionante. En los libros o manuales elementales sobre cálculo numérico no se suele comentar mucho más al respecto y se pasa directamente a enseñar métodos para el cálculo de esos autovalores (según en que manuales se limita al método de potencias para el cálculo del autovalor dominante) y autovectores (normalmente el método QR y variantes). Tampoco suelen hacer las cuentas de cómo cambian los autovectores así que me hice el cálculo para los dos casos anteriores. Para la matriz original los autovectores también son bastante distintos, con variaciones incluso mayores que las de los autovalores.

El caso es que para alguien con una base de física una matriz es, sobre todo, un operador cuántico (para un matemático una matriz puede ser un montón de cosas, y dependiendo del caso se la estudia de muchas maneras diferentes xD), los autovalores las autoenergías (si el operador es el hamiltoniano) y los autovectores las autofunciones de onda cuánticas. Y claro, inmediatamente (al menos yo es lo que pensé nada mas leer ese resultado) es que si un operador cuántico tiene un comportamiento tan exótico uno podría pensar que algo extraño podría pasar con Mary…digo la cuántica ;). El caso es que no pude dedicarme inmediatamente a profundizar en ese hecho chocante, pero siempre estuvo ahí en segundo plano, cómo una inquietud, y en cuanto se dió la oportunidad analicé más a fondo el asunto. La primera duda que surge es sí esa incertidumbre en el cálculo de autovalores es debida a errores de redondeo en algoritmos numéricos o si obedece a una causa mas fundamental. Rastrear en extensos libros sobre álgebra lineal numérica no me llevó a ningún lado pero una búsqueda en google me llevó a un foro dónde se trataban esos temas y ahí daban un ejemplo muy sencillo que -sí no interpreto mal- resuelve la cuestión. En concreto plantean el caso del poinomio \lambda^3 -\epsilon=0 cuya solución \lambda=\sqrt[3] \epsilon que no es derivable en el entorno de 0 y ese es el origen de la sensibilidad del polinomio. En la misma web mencionaban un ejemplo mas complejo de una matriz, dependiente de un parámetro, que originaba polinomios “sensibles” a variaciones de ese parámetro. Esa matriz era además simétrica (autoadjunta) lo cuál es bueno pues los operadores cuánticos deben ser autoadjuntos. Con eso ya se tiene bastante información relevante, el problema es “fundamental” y no de redondeo, se identifica el problema (o al menos un factor del mismo) y se pueden analizar familias de matrices, no una sóla.

La siguiente reflexión que a uno se le ocurre es plantearse cómo puede suceder esto con sistemas lineales. Al fin y al cabo la cuántica es lineal, y uno aprende, estudiando Sturn-Liouville (bien sea mediante análisis clásico o, de modo riguroso, en cálculo funcional) que la clase de operadores lineales autoadjuntos son buenos y maravillosos y nos dan una base del espacio de Hilbert de soluciones del problema ¿que más se puede pedir?. Bien, el caso es que bajo esa aparente inocencia los operadores lineales (incluidos los autoadjuntos) ocultan muchas sorpresas y uno, a poco que los estudie, se da cuenta de que son unos grandes desconocidos que guardan en su interior muchas pautas insospechadas. Pero, volviendo al principio, si la cuántica es lineal ¿de dónde surgen todas estas “sensibilidades”? Bien, los operadores son lineales, sí, pero las operaciones para extraer información de ellos (sus autovalores y autovectores en el caso de la cuántica) implican formar expresiones no lineales. La tarea de obtener el determinante es no lineal, y para calcular autovalores el resultado de la misma es un polinomio no lineal. Digamos que hay mucha no-linealidad escondida.

Bien, esa es la matemática, pero queda analizar un poco como afecta eso a la física. La idea básica -en un esquema meramente formal- es muy simple. Tenemos un sistema cuántico, todo lo particular que haga falta, cuyo hamiltoniano podemos considerar que es, en alguna base apropiada, una matriz finita. Los elementos de esa matriz en general van contener términos que se deben obtener de manera experimental (por ejemplo si es el hamiltoniano de un electrón en un campo eléctrico el valor de ese campo podría ser un dato experimental). Entonces eso significa que tenemos dos Hamiltonianos, H y H’ que difieren por una pequeña cantidad. Siguiendo la costumbre de teoría cuántica de perturbaciones podríamos escribir H'=H_0 + \epsilon H_1 aunque, en este caso, no nos importa (necesariamente) que H_0 sea resoluble analíticamente. La idea es que uno podría esperar que los autovalores de H y H’ fuesen muy similares (es el fundamento de la teoría de perturbaciones, en particular ahí se exige, cómo prueba de consistencia, que la diferencia entre un autovalor del sistema sin perturbar y el perturbado sea menor que la diferencia entre dos autovalores del sistema sin perturbar). Pero, cómo acabamos de ver, esto no siempre tiene porque suceder. Yo estudié esto por mi cuenta y elaboré un poco algunas consecuencias sencillas. Más adelante descubrí que hay una línea muy reciente de investigación, liderada por Michel Berry (el de la famosa fase de Berry) y llaman a esto “perturbación crítica”. Aún tengo que explorar mas el tema de lo que hace esa gente y cuanto se parece a lo que yo estoy considerando.

Pero sigamos con el quid de la cuestión. La idea es que dos sistemas con hamiltonianos muy similares pueden tener energías muy diferentes. Podría darse el caso medir el campo eléctrico del hamiltoniano con precisión de varios decimales y que pudiésemos resolver el problema y aún así los resultados no nos servirían para predecir, en la práctica los valores posibles de las energías. Pero puede ser peor aún, cómo los autovectores, que son las funciones de onda, también cambian mucho. Imaginemos que el campo eléctrico fluctua en el tiempo. Si colocásemos el sistema en un estado inicial de superposición y midiéramos las frecuencias con las que se da cada autovalor de la energía estas no tendrían una distribución probababilística. El motivo es que al fluctuar el campo fluctuan los autovalores y no siempre estamos trabajando con autoenergías similares. Y, cómo además varían los autovalores, las probabilidades de ocupar cada autovalor también fluctúan. Es decir, podríamos tener un sistema del que sabemos el Hamiltoniano con mucha precisión, poder resolverlo analíticamente, y aún así, en la práctica, no poder obtener ninguna información útil respecto a que nos vamos a encontrar.

Para tratar esos sistemas- creo yo, habría que optar por una descripción en términos de ecuaciones diferenciales estocásticas (para una introducción ver por ejemplo este pdf) en la que aparte del término determinsta (la ecuación de Schröedinger) habría un término de “ruido”. Eso sí, ese término no tendría porque ser browniano sino que su naturaleza dependería de la naturaleza analítica del parámetro del hamiltoniano que dicta la “sensibilidad” del mismo y podría bautizarse algo así cómo “ruido espectral”.

Para ir concluyendo hago una reflexión importante. Esto no es caos cuántico. En un sistema caótico clásico tenemos que la dinámica (el hamiltoniano) es fijo y hay sensibilidad en las condiciones iniciales (que no pueden medirse con precisión infinita). En cuántica el observable fundamental es la función de onda y no las posiciones/momentos. Y la unitariedad de la evolución cuántica implica que si las funciones de onda en un instante dado difieren por una cantidad pequeña esa diferencia se mantendrá constante en el tiempo. Esto plantea una duda conceptual de cómo si la realidad es cuántica en sistemas clásicos, que son el límite de los cuánticos (teorema de Erenfest) puede haber caos. Por supuesto mi argumento no implica que haya caos cuántico porque aquí lo que tenemos es algo distinto. Tenemos que el propio hamiltoniano (lo que dicta la dinámica) es el que está sujeto a una incertidumbre experimental y cómo consecuencia de la misma los observables cuánticos (autovalores, autofunciones) son muy sensibles a variaciones de esa incertidumbre. Por supuesto, y esto sería curioso de analizar en comparativas, en sistemas clásicos también hay esa incertidumbre en el valor exacto del hamiltoniano, y también hay operaciones de obtener autovalores y autovectores para obtener soluciones en algunos de esos sistemas (por ejemplo osciladores armónicos acoplados) así que esta sensiblidad extra, esta “perturbación crítica” afectaría por igual al mundo clásico y al cuántico, y tal vez (o tal vez no, vaya usted a saber xD) seria interesante comparar las diferencias entre ambos mundos para esos sistemas.

Para finalizar algunas palabras sobre lo que hace la gente de caos cuántico, que está relacionada con la naturaleza de los autovalores de los operadores audoadjuntos. Resulta, por ejemplo, que los hamiltonianos que presentan simetrías tienen una distribución de los autovalores muy diferente de los que no tienen simetrías (si se quieren buscar detalles usar los términos “quantum chaos, random matrix). Es un tema curioso, sobre el que tal vez lea mas, o tal vez no. Pero tras ver esto de la sensibilidad de los autovalores y que la distribución de los mismos depende de las simetrías del hamiltoniano está claro que bajo su inocente apariencia los operadores autoadjuntos tal vez puedan ocultar auténticos “animales patológicos” en su interior y que posiblemente la mecánica cuántica mas elemental guarde aún muchas sorpresas importantes en contradicción con la idea de que es un “animal doméstico y conocido”. Y eso si nos restringimos a cuántica elemental, y estudiando matrices finitas (a saber que pasa con las infinitas que son lo común en mecánica cuántica). Pero el caso es que las teorías cuánticas de campos también son, en el fondo, teorías cuánticas “normales” y, no sé ¿cómo podría ser el grupo de renormalización de un hamiltoniano de campos que fuera el análogo de uno de partículas “sensible”? ¿Tal vez el flujo de renormalización hiciese evolucionar el valor de las constantes de acoplo de manera caótica según nos movemos hacia energías mas altas? O, si la estructura de los autovalores depende de la simetría ¿que pasa en los fenómenos de ruptura espontánea de simetría?

En definitiva, que me da la impresión de que el formalismo de la mecánica cuántica convencional puede ser mucho, mucho mas rico de lo esperado, y que, por ejemplo, tal vez algunos fenómenos que por argumentos de “naturalidad” podrían parecer muy improbables a lo mejor no lo sean debido a que en algún punto hay alguna “sensiblidad” oculta en algún punto.

Preones, una buena idea con muchos problemas

mayo 5, 2013

Actualización: Veo que nadie ha hecho ninguna propuesta en la línea que pido en el último párrafo. Dejo esto unos días mas para ver si alguien se anima y escribiré la actualización después.

Antes de ir con la entrada en sí voy a hacer un comentario general sobre el panorama de la blogosfera de la física en España. De la lista de blogs que tengo enlazados me encuentro con que hay varios blogs que empezaron bien pero llevan años sin actualizar. Otros que han tenido un ritmo de publicación elevado están muy parados. Kanijo, por ejemplo, lleva sin actualizar desde Febrero y el blog de Migui parece haber sido abducido por alguno de los magufos que tanto le critican. Otro blog magnífico, el de física en la ciencia ficción, directamente ha sido borrado (y no me consta que tenga sustituto) . Sólo Francis continúa infatigable. Me pregunto cuál será el motivo -si hay alguno común- o si es sólo alguna coincidencia. A nivel particular debo decir que he disminuido mucho mi ritmo de publicación por lo que podríamos llamar estrés post traumático tras habernos encontrado con que el LHC nos ha traído el peor escenario posible.

Bien, vamos con el tema de los preones (no confundir con los priones, las proteínas con pliegue anómalo que están asociadas a la enfermedad de Creutzfeldt-Jakob, o síndrome de las vacas locas) , que, además, está bastante relacionado con el LHC. Debo decir que había oído hablar varias veces de los preones en diversos sitios. Hablando de manera rápida los preones serían unas partículas hipotéticas mas pequeñas que los quarks y los leptones y tales que ambos (quarks y leptones) estarían formados de estos preones. La referencia mas extensa sobre los mismos la leí en el blog de Lubos( Preons probably can’t exist ) en el que argumenta porque son una idea muy simple y porque hay motivos para pensar que presenta bastantes inconsistencias.Por cierto, esa entrada ha sido editada desde que yo la leí y le ha añadido bastantes fórmulas (el blog de lubos -que siempre ha sido muy bueno- ha mejorado mucho desde que tiene el sistema de Mathajax para escribir fórmulas) Aparte de esa entrada ha publicado en otras la ausencia de indicios de los mismos en el LHC (el peor escenario abarca también a los preones).

Bien, cómo quiera que ahora mismo se me hace tarde, y que el post de Lubos está muy bien y creo que todo el mundo debería leerla dejo a medias esta entrada y la editaré más adelante. Mientras tanto los que hayan leído la entrada de Lubos pueden probar a ver si adivinan cómo se podría (al menos en principio) mantener viva la idea de los preones pese a los sólidos argumentos en contra de Lubos. Si nadie da con nada yo comentaré algunos de los que hay por ahí propuestos al respecto, tanto los medio sensatos cómo los propios de la santísima trinidad ;-).

Software científico en Android: Máxima y Octave

mayo 1, 2013

En su momento, cuando hablé de la saga note (phablet y tablet) y del HTC flyer, todos equipos con sistema operativo android, mencioné algún software científico que podía usarse en esos dispositivos.

Resalté programas cómo mathstudio, que tiene una gran cantidad de funciones incorporadas y un lenguaje de script. Es un buen programa que, desafortunadamente, parece haber paralizado su desarrollo y lleva congelado en la versión 5.3 alrededor de un año. También comenté la existencia de programas cómo Addi y mathmatiz que eran unos clones restringidos de matlab. Posteriormente llegó a android una versión de Sage que permite conectar con el servidor web a través de una interfaz dedicada. También llegó matlab, pero. lo mismo que Sage, en una versión “para la nube” que permite conectar bien con los servidores del fabricante o bien con una versión con una versión de matlab en un PC local. Habrá a quien esto de la nube le parezca bien pero para mí en particular me parece un invento inútil.

Antes de seguir con el software una pequeña consideración sobre hardware y sistemas operativos. A finales de verano apareció windows 8. Yo había probado en su momento la versión beta en un tablet archos que inicialmente venía con windows 7. En la época en que tuve el archos android estaba casi recién nacido y había muy poco software serio para ese sistema. Además, el hardware no era muy potente. Pero ahora la situación a nivel hardware ha cambiado. El note II y el note 10.1 tienen un procesador con cuatro núcleos y 2 GB de RAM. Ambos traen 16 GB de almacenamiento interno (yo quería haber pillado las versiones de 32 o 64 GB, pero no es fácil encontrarlas) y una microSD de 32 y 64 GB respectivamente en cada uno. Cierto que esos micros no son tan potentes y la memoria no es tan veloz cómo la de PC, pero aún así siguen siendo unas especificaciones bastante potentes. Mi último – y único, que nunca me han entusiasmado esos chismes- portátil (que tengo prestado con carácter indefinido) era un dual core a 1.8 GHZ con 2 GB de RAM y 128 GB de disco duro. Debo decir, que, en general la sensación de uso con los note es mucho mejor que con el portátil. Y dado el mayor tamaño de los programas windows el almacenamiento es equivalente.

Vale, en el último párrafo he comparado un hardware de éste año (o finales del pasado) en android con otro de hace unos 6 años en windows, tal vez es injusto, aunque, todo sea dicho, con ese portátil podía usar todo el sotware matemático que necesitaba y buena parte del musical (que es el software mas exigente que suelo usar en ordenadores). Ahora hay tablets windows 8(versión pro – y RT para arquitecturas ARM, aunque no le veo yo ningún futuro a ésta versión-) cómo el surface de microsoft y Samsung Ativ. Probé este último en un corte inglés y no me convenció nada. Era demasiado grande cómo para llevarlo cómodamente por ahí y la suite del S-pen no estaba a la altura de la de Android (aunque haya alternativas, claro). La potencia y fluidez no estaban mal, pero, así, en general, el windows 8 me parece un híbrido un tanto fallido. Las aplicaciones de escritorio -que son las potentes- apenas pueden optimizarse para uso táctil y las hechas para la interfaz táctil metro tienen demasiadas limitaciones (casi tantas cómo las de IOS y desde luego mucho más que las de Android) así que no confío yo en ver ninguna especialmente estupenda. Y, desde luego, ahora mismo no hay ningún software de los importantes portados a esa interfaz. Total, que al menos por ahora el camino en talbets/móviles es android, y por eso esta entrada.

Y vamos ya por fín con los dos programas protagonistas. Seguiré el orden cronológico de aparición, que es el contrario del de la entrada.

Octave

Para quien no lo conozca decir que octave es un clon muy, muy completo de matlab para linux (aunque por supuesto hay versión para PC, y ahora android). En algunas ingenierías se usa éste en las clases en vez de matlab así que su uso está bastante extendido.

El responsable del port es el autor del anteriormente mencionado programa Addi. Para instalar el programa hace falta instalar también el emulador de terminal para android, que es desde dónde se va a teclear el código de octave. Para poder usar gráficos hay que instalar otro programa, droidplot. Y aparte de los packages que vienen por defecto pueden instalarse otros adicionales. En ésta descripción sobre el modo en que se instala Octave se ve una gran ventaja de los programas Android sobre los que hay para windows 8 (interfaz metro) y, desde luego, IOS. Hablo de la posibilidad de que los programas se comuniquen unos con otros, lo cuál permite crear una infraestructura de algo similar a los plugins típicos de windows (y MAC y creo que también en Linux, aunque mi experiencia con linux es limitada), que son la verdadera potencia a la mayoría de sus programas mas famosos.

Coincidió que cuando instalé octave -allá por navidades- tuve que dar clases de octave (apoyándome en mi conocimiento de matlab obtenido en las asignaturas de cálculo numérico) a un chaval, estudiante de ingeniería, que lo usaba en linux. Por la misma época también estuve ayudando a alguien a hacer un modelo sobre temas de ecología matemática. Para estudiar ese modelo hubo que elaborar un programa en matlab. El caso es que probé el código matlab de las clases y del programa en la versión de octave para android y fuí capaz de ejecutarlo (una vez me hice con el modo de usar el programa) en android. Un poco mas adelatne me tocó hacer un programa en matlab (basándome en algo ya hecho) para un tema mucho mas complejo (ecuaciones en derivadas parciales no lineales con valores de frontera) y una vez más el código que iba en matlab iba en octave.

También probé algún código típico de cálculo numérico (runge kutas y cosas así) y no me dió problemas. Cómo no uso matlab (ni hago cálculo numérico habitualmente) tengo claro que par mis necesidades en ese campo octave cumple de sobra, aunque la interfaz de matlab sea mas amigable.

Máxima on Android

Máxima es un software para linux, con versión para PC, orientado al cálculo simbólico. Sólo lo conocía hasta ahora por referencia. Me enteré de su existencia cuando buscaba software en android que pudiese hacer cálculo tensorial (en una época en que- además- necesitaba hacer ese tipo de cálculos sí o sí y cómo no encontré alternativa al final hice parte de ellos a mano y la otra parte en el mathemática del PC. con lo cuál se perdía el “do everything everywhere” que es la esencia de los tablets). En la wiki sobre software científico informaban de la lista de programas que hacían cálculo simbólico con tensores y aparecía mencionado máxima, pero el problema es que por ese entonces no estaba disponible para Android. Hoy, en una de esas búsquedas que hago periódicamente, he descubierto que al fín lo han portado. Y, claro, lo he instalado ipso facto. Ocupa bastante, 90 MB (30 el programa base y 60 de librerías extra que se bajan posteriormente a instalar la aplicación). Cómo no lo conocía previamente y acabo de instalarlo no puedo decir mucho sobre él. He hecho las pruebas básicas (usando el teclado de sagemath para álgebra, que es bastante cómodo para introducir expresiones matemáticas, aunque hay otros teclados similares e iré probando cuál es mejor). Veo que la sintáxis no es la misma que la de mathemática en algunos aspectos (por ejemplo, los parámetros de las funciones van entre paréntesis en vez de entre corchetes) aunque sospecho que no es demasiado distinta. Mirando el manual veo que trae soporte integrado para cálculo tensorial y no depende de packages externos, cómo mathemática, lo cuál parece una ventaja. He leído, buscando información, que en algunas universidades en vez de mathematica o maple se usa este programa en algunas asignaturas así que asumo que debe ser bastante potente. En todo caso está claro que tanto octave cómo éste máxima son programas profesionales- y gratuitos- que pueden hacer un trabajo cuanto menos similar a matlab y mathematica. Cómo quiera que están disponibles en tablets android – y matlab y mathematica no- sospecho que van a tener un boom. Yo desde luego voy a instalar también la versión windows de máxima y en la medida de lo posible haré todo en este entorno para así tener compatibilidad entre tablet y PC. Por cierto, Octave está disponible para IOS sólo en versión “en la nube” (vamos, cómo si no existiese por tanto xD) y desde luego máxima no está disponible (ni creo que lo llegue a estar). Los usuarios de la manzana -hasta dónde yo sé- deben conformarse con mathstudio (ok no está mal) y mathomatic. De éste último hhay versión también para android, pero no me he molestado en instalarla porque no parece ofrecer nada que no tengan ninguno de los programas anteriores.

Aparte de programas de corte tan profesional cómo Octave y Máxima, y el resto de mencionados, en android hay bastante mas software científico de diverso pelaje (por ejemplo uno específico para estadística, statistic calculator). Desde luego hay mucho más para windows, pero la brecha se va reduciendo. Dado que el 9x de los móviles a día de hoy son Android y en tablets ya se está en torno al 45% sin duda es de esperar que la situación siga mejorando. Por ejemplo, hay otro programa “famosillo” que también ha sido portado a Android, reduce. Yo no lo he usado nunca, pero sé de su existencia por un libro titulado “quantum mechanics thorught computers” que trae mucho software de mecánica cuántica en diversos entornos, entre ellos éste reduce.

Y no sólo a nivel software mejora Android, a nivel hardware también. El note III se rumorea que vendrá con 3 GB de RAM y con un mínimo de 32 GB de almacenamiento interno. Las microSD de 128 GB se supone que ya están a la venta (aunque aún están muy caras y no he intentando pillar ninguna) y se rumorea que las de 256 no tardarán en salir. Otro aspecto interesante, ya fuera del ámbito científico, es que android ya tiene soporte para teclados midi (vía el USB on the go). Yo lo he probado con el note 10.1, con el programa caustic, y funciona bien. El problema es que la latencia aún es algo alta (unos 80 ms) -al menos en le note- pese a que se suponía que con la versión jelly bean iba a mejorar.

Ciertamente IOS y sus drivers coreaudio siguen estando por encima de Android en asuntos musicales, y, en consecuencia, hay mucho mas software. Pero no podía cerrar esta entrada sin mencionar que uno de los programas mas famosos de la informática musical, Fruity Loops (vale que no es de los realmente grandes cómo cubase, cakewalk, abbleton live o reason, pero sigue siendo uno muy usado por mucha gente)también acaba de ser portado para Android. Aún no lo he probado, pero no creo que tarde mucho en hacerlo ;).