lunes, 28 de febrero de 2011

Agujeros de gusano entre estrellas de neutrones

Fuente: NeoFronteras
Un trabajo teórico sostiene que se pueden encontrar soluciones de agujeros de gusano estables que permitirían a las estrellas de neutrones estar conectadas entre sí.
Foto
Hay que distinguir entre los trabajos en los que se logra apoyar con experimentos determinadas teorías o hipótesis y los trabajos teóricos que son altamente especulativos. Incluso aunque este tipo resultados sean autoconsistentes, eso no significa que la Naturaleza haya escogido esa manera de hacer funcionar el Universo. Algunas revistas de prestigio aceptan este tipo de trabajos teóricos, pero si no es así, para eso está el repositorio ArXiv, en donde se pueden encontrar este tipo de trabajos sin filtrar, pero que nos pueden excitar la imaginación.
La historia de los agujeros de gusano empieza con la Relatividad General (RG), que permite soluciones espacio-temporales en forma de tubo que conecten dos regiones alejadas del Universo a través de algo así como un puente-atajo.
Si pudiéramos crear un agujero de gusano se podría incluso crear una máquina del tiempo. Bastaría con mover adecuadamente una de las bocas para hacer que se desfasara temporalmente de la otra. Metiéndonos por un lado podríamos salir por el otro sitio incluso un tiempo antes de habernos metido por la otra boca. La fecha límite sería la de la creación del propio sistema y no podríamos viajar más atrás en el tiempo de esa fecha. Esto crea obvias paradojas causales, así que algo debe de haber mal en estos modelos.
Hubo cierto movimiento académico a finales de los ochenta y principio de los noventa sobre este tema y se publicaron varios artículos sobre esta posibilidad. Incluso Carl Sagan utilizó esta idea en su novela “Contact”, obra que luego fue convertida en película con Jodie Foster como protagonista. La pega fundamental de los agujeros de gusano es que, aunque la RG permite su creación, son poco estables. Si entra un poco materia ordinaria (o una nave espacial con sus astronautas) o energía (incluso un poco de luz) en el agujero de gusano hace que éste se desestabilice y colapse en un par de agujeros negros. Para mantener abierto el pasadizo hay que contar con una clase de materia o energía negativa que recubra las paredes del túnel que no se dan en la Naturaleza. Así que esta idea quedó más o menos abandonada hace años. ¡Adiós al sueño hiperespacial!
Ahora Vladimir Dzhunushaliev y sus colaboradores de la Universidad Euroasiática Nacional de Kazastán reabren el tema con un artículo especulativo en ArXiv.
Según su idea los agujeros de gusano se podrían formar en el centro de ciertas estrellas de neutrones y mantenerse abiertos sin colapsar. El agujero de gusano no colapsaría debido a la presencia de un campo escalar fantasma sin masa (nombre técnico del mismo) y estaría completamente lleno (no hay hueco y por tanto no hay pasadizo) de la materia exótica del interior estelar, materia que aquí es tratada como un fluido perfecto. Las soluciones encontradas son al parecer estables.
De lejos cada una de estrellas neutrones parecerían normales y un observador distante no las podría distinguir de cualquier otra estrella de neutrones sin agujero de gusano. Pero una estrella de neutrones podría tener una compañera con la que estaría conectada por un agujero de gusano. Si es así, la materia exótica de su interior, que se comportaría como un fluido, pasaría de una estrella a otra produciendo una suerte de resonancia entre las dos estrellas que las haría oscilar. Aquí viene la parte buena del método científico aplicado a esta idea, pues esta oscilación podría producir estallidos de rayos gamma de alta energía que se podrían medir, al menos según los autores.
Lo malo es que según los propios autores admiten, todavía queda bastante trabajo teórico por hacer. El experimental ya se vería en un futuro.
Copyleft: atribuir con enlace a http://neofronteras.com/?p=3411
Fuentes y referencias:
Artículo en ArXiv.
Ilustración: AllenMcC (Creative Commons Attribution Sharealike 3.0).

Científicos europeos ofrecen una mirada reveladora sobre los dispositivos superconductores nanométricos

Fuente: SINC

Un equipo de investigadores franceses y españoles, entre los que se encuentra un profesor de la Universidad Autónoma de Madrid (UAM), analizó la estructura electrónica de un nanotubo de carbono conectado a electrodos superconductores mediante medidas de espectroscopía túnel. El estudio fue portada de la revista Nature Physics el pasado mes de diciembre, y permitió identificar por primera vez los estados de electrones que transportan la supercorriente en un sistema que no es superconductor.
Descubierta hace 100 años, la superconductividad está llena de manifestaciones sorprendentes. Los ejemplos más conocidos son el flujo de corriente eléctrica sin resistencia (supercorriente) o la expulsión del campo magnético (efecto Meissner) que actualmente se utiliza para la levitación de trenes en Japón. La superconductividad se explica por la existencia de un orden electrónico de largo alcance en el que un número macroscópico de electrones forman parejas o pares de Cooper que actúan en forma colectiva. La supercorriente corresponde al desplazamiento de estos pares a través del superconductor.
Otra de las manifestaciones soprendentes de la superconductividad es que este "flujo ordenado de parejas" puede propagarse a través de un medio que no es superconductor. El fenómeno fue descubierto por Brian David Josephson en 1962, quien mostró que los pares de electrones pueden atravesar sin resistencia una capa aislante entre dos superconductores, algo imposible para los electrones individuales.
El efecto Josephson es la base de los llamados SQUID (superconducting quantum interference devices), que son sensores ultrasensibles de campo magnético. Más recientemente, este efecto ha permitido el diseño de qubits superconductores para sistemas de computación cuántica. También se ha demostrado que el efecto Josephson puede producirse en todo tipo de nanoestructura no-superconductora colocada entre dos superconductores si es suficientemente pequeña como para que se mantenga en ella la coherencia cuántica.
En el reciente estudio publicado en Nature Physics por investigadores europeos —entre los que se encuentra el profesor Alfredo Levy Yeyati, del Departamento de Física Teórica de la Materia Condensada de la UAM— se analiza el caso de los nanotubos de carbono que, aunque no son intrínsecamente superconductores, sí pueden conducir una supercorriente cuando se los conecta a electrodos superconductores.
Por sus dimensiones y otras características, los nanotubos de carbono proporcionan un sistema ideal para la observación de los estados (llamados estados de Andreev) que llevan la supercorriente a través de la región no-superconductora. En el caso de nanotubos con diámetros del orden de unos pocos nanómetros y longitudes del orden del micrón, sólo unos pocos estados (típicamente dos) se forman en el rango de energías que corresponde a la brecha superconductora (del orden de 0.1 meV en el caso del aluminio, que fue el superconductor utilizado). Estas dimensiones permiten depositar un electrodo que actúa como sonda sobre el nanotubo sin alterar drásticamente sus propiedades.
El esquema de la figura muestra el dispositivo utilizado por los investigadores. En él se puede apreciar el nanotubo, que aparece como un hilo al que se conectan los electrodos superconductores (color verde) formando un circuito cerrado a través del cual se puede aplicar un flujo magnético (indicado por la letra F). El electrodo coloreado en rojo corresponde a la sonda para la espectroscopía túnel.
Los resultados experimentales del trabajo fueron complementados con cálculos teóricos que confirman la presencia de los estados de Andreev del nanotubo.
Además de su posible aplicación en computación cuántica, el dispositivo podría utilizarse como un magnetómetro extremadamente sensible, capaz de detectar cambios en la magnetización debidos a una única molécula cercana.
Fuente: Universidad Autónoma de Madrid

Grafito, ¿un imán permanente?

Fuente: SINC
Investigadores de la Universidad Autónoma de Madrid (UAM) y del Instituto de Ciencia de Materiales de Madrid (CSIC), en un estudio publicado recientemente en la revista Physical Review Letters, explican el origen de un exótico comportamiento del grafito. Los resultados revelan que los escalones de grafito no presentan carácter ferromagnético.

Imagen típica y mapas del potencial eléctrico y magnético de la superficie de un cristal de grafito (detalles en el texto). Imagen: UAM, ICMM.

Bien conocido por sus propiedades como lubricante sólido, o por encontrarse como principal componente de la mina de los lápices, el grafito todavía sigue escondiendo el origen de algunas de sus propiedades físicas. Constituido únicamente por átomos de Carbono, su estructura se compone de delgadas láminas, de espesor atómico, conocidas como grafeno —el Premio Nobel de Física de 2010 ha tenido como principal motivo el aislamiento individual de estas láminas—.
Durante los últimos diez años, el grafito ha sido protagonista de un gran número de publicaciones científicas al descubrirse en él evidencias de un inesperado comportamiento ferromagnético, similar al de un imán permanente, en regiones localizadas de tamaño nanométrico asociadas con defectos de la red cristalina que lo forma.
En octubre de 2009, un grupo de investigadores de la Universidad técnica de Eindhoven y la Universidad Radboud de Nijmegen en Holanda, parecía haber encontrado la clave de dicho comportamiento. Según ellos, a lo largo de los escalones monoatómicos en la superficie del grafito, formados por una gran cantidad de defectos a escala atómica, se observaba una clara e inequívoca señal ferromagnética.
Sin embargo, los experimentos anteriores no son concluyentes, dado que sigue sin resolver el conocido problema para separar los campos eléctricos de los magnéticos en la nanoescala. El estudio de estas interacciones es fundamental para la Nanotecnología, ya que son el origen de las fuerzas que gobiernan el mundo de lo pequeño, pues en esas dimensiones la gravedad, que nos es tan familiar, es despreciable.
Cuatro investigadores de la UAM (David Martínez-Martín, Miriam Jaafar, Rubén Pérez y Julio Gómez-Herrero) junto con la investigadora Agustina Asenjo, del Instituto de Ciencia de Materiales de Madrid (CSIC), consiguieron desarrollar una nueva metodología que permite, por fin, la separación correcta de las interacciones eléctricas y magnéticas en sistemas nanoscópicos.
Desenmascarar el comportamiento del grafito
Para desenmascarar el comportamiento magnético del grafito, los investigadores se valieron de un dispositivo experimental que integra de forma simultánea (1) la microscopía de fuerza atómica, (2) la microscopía de sonda Kelvin y (3) la microscopía de fuerza magnética.
La primera es la encargada de adquirir la información topográfica superficial de la muestra en estudio. La segunda, sensible únicamente a los campos eléctricos, determina con gran exactitud el campo eléctrico local asociado a un punto determinado de la topografía; y crea un campo eléctrico igual pero de sentido opuesto al existente, de manera que el campo eléctrico resultante es nulo.
La microscopía de fuerza magnética, por su parte, determina con altísima sensibilidad el campo magnético en esa región del espacio. Toda esta instrumentación se encuentra en el interior de una campana de alto vacío, lo cual consigue aumentar muy eficazmente sus límites de detección.
Los resultados del estudio, publicados recientemente por la revista Physical Review Letters, han desvelado que los escalones de grafito no presentan carácter ferromagnético. El trabajo confirma también que la señal observada a lo largo de los escalones de grafito es independiente del campo magnético externo aplicado, corroborando la naturaleza no magnética de la señal observada en tales defectos cristalinos.
Además, los investigadores han señalado que un gran número de las evidencias que se pueden encontrar en la literatura, son el resultado de confundir interacciones eléctricas con interacciones magnéticas. El equipo confía en que el método permitirá avanzar en el conocimiento de los muchos procesos que tienen lugar a escalas atómica y molecular.
---------------------------------------
Explicación de la imagen:
a): Imagen típica (obtenida con un microscopio de fuerza atómica) de tamaño 3 µm x 3 µm de la superficie de un cristal de grafito. La superficie no es perfecta y se observan con claridad terrazas con forma de escalones. Los bordes de estas terrazas son los defectos cristalinos que han motivado tanto interés en la comunidad científica. b) Mapa del potencial eléctrico de la superficie mostrada en “a”, adquirido mediante la microscopía de sonda kelvin. Las zonas brillantes corresponden a los defectos cristalinos (bordes de los escalones), los cuales presentan un potencial eléctrico diferente al resto de la superficie. Estas diferencias de potencial eléctrico se han confundido en un gran número de ocasiones con interacciones magnéticas. c) Mapa magnético de la superficie “a” medido simultáneamente con “b” utilizando la microscopía de fuerza magnética. La ausencia de señal en este mapa descarta el posible comportamiento ferromagnético del grafito.
Fuente: Universidad Autónoma de Madrid

jueves, 24 de febrero de 2011

Tron: Legacy 8 bits

Vídeo super-geek-freack

Lo que la ley Sinde esconde

Fuente: Enrique Dans
 
El informe de la Comisión Nacional de la Competencia sobre las entidades de gestión de derechos de la propiedad intelectual en España es sin duda uno de los documentos más lúcidos que se han producido sobre el tema, y uno de los que generaron más reacciones encendidas de las entidades de gestión: en un solo día, crearon una asociación (una más) con un eurodiputado al frente para hacer lobby y defender sus intereses, y solicitaron la reprobación del presidente de dicha Comisión acusándolo de “oportunismo, falta de rigor, manejar datos inciertos y absoluta parcialidad”.
Detrás de ese informe se esconde el verdadero espíritu de la ley Sinde: una ley que, impulsada por una persona procedente de las entidades de gestión y a la que éstas auparon al frente del ministerio de Cultura, tiene como principal razón de ser prolongar el mayor tiempo posible el monopolio absoluto y omnímodo que dichas sociedades ostentan sobre la creación cultural en nuestro país, un monopolio en el que colaboran de manera entusiasta los políticos de PSOE, PP y CiU. Lo que Rick Falkvinge llama magistralmente Nothing new under the copyright-eclipsed sun.
Datos: veamos el ejemplo de una empresa de nueva creación – cuyo nombre obviamente debo ocultar – que monta un pequeño estudio de grabación y pequeño sello discográfico. ¿Qué recibe como contestación? Que su disco jamás sonará en ninguna emisora de radio de España si no cede los derechos (todos los derechos, incluyendo ahora los de los conciertos en directo, aunque ellos no lleven el management ni desempeñen trabajo real alguno) porque no tiene forma posible de ingresar en Promusicae y, de esta forma, acceder a ofrecer sus contenidos a la red RitmoNet. No hay ninguna posibilidad. Si la encuentras, te dicen, “es ilegal y os perseguiremos”.
¿Qué es RitmoNet? “R.i.t.m.o.” corresponde al acrónimo Red Interactiva de Transmisión de Música Online, y es, según su misma página define, “el sistema de distribución digital, a través de Internet, de contenidos promocionales de los productores de música, para las emisoras de radio, televisión y prensa especializada”. ¿No os habéis preguntado nunca de dónde sale la música que escucháis en la radio, en una época en la que las ventas de plástico ya no representan en modo alguno una medida válida de popularidad? En realidad, esas listas siempre han estado manipuladas: jamás pretendieron reflejar las ventas, sino lo que se quiere que venda. Su control, manipulación y explotación ofrecen enormes réditos económicos, y está detrás de los beneficios de las grandes discográficas. El truco es claro: si quieres distribuir tu música en Ritmonet para llegar a las emisoras de radio, tienes que ser socio de Promusicae. RitmoNet no es un servicio que puedas contratar o pagar de ninguna manera, hay que estar en Promusicae. Pero solo puedes ser socio de Promusicae cuando tengas muchas referencias editadas y tu facturación con SGAE sea elevadísima. La solución, claro, es ceder tus derechos a un socio de Promusicae. Una sociedad que con la ley Sinde pretende, simplemente, perpetuar su monopolio ahora en la red, con iniciativas demenciales en Flash como “elportaldemusica.es“, que financiamos todos y del que hablamos hace tiempo.
Así se edifica y se perpetúa un monopolio anticompetitivo que permite mantener el negocio de las discográficas funcionando en pleno siglo XXI como si nada hubiese cambiado desde el XX. Si una discográfica pretende hacer otras cosas, ser más proactiva de cara a la red, etc., se encontrará con la imposibilidad de llegar a unos canales que las entidades de gestión controlan de manera férrea. Y no es el único ejemplo: ¿qué lleva a que sea tan difícil lanzar iniciativas que permitan distribuir películas en la red, si muchos directores y productores se muestran interesados en considerar Internet, como dice Álex de la Iglesia, no el futuro sino el presente? Sencillamente, que hay que negociar con EGEDA. Y que negociar con EGEDA es tan duro como lo es negociar con quien es el único con el que se puede negociar. Es lo que se llama un “tragala”: sólo existimos nosotros, y sin nosotros no eres nada, por tanto, firma aquí. Si lo que te piden a cambio no permite que seas rentable, qué le vamos a hacer… no lanzarás, o no vendrás a España (como es el caso de Netflix, pretendidamente disfrazado como “no vienen a España por la elevada piratería”… ¡mentira!: ¡no vienen a España por el abusivo precio de los derechos de autor!)
Además, no dejemos de considerar los síntomas más obvios y evidentes de la definición de un monopolio sujeto a prácticas predatorias: uno en el que el competidor principal – en este caso, el único, por decisión política – controla además los canales de distribución y otros medios que imposibilitan o dificultan en grado sumo la competencia. ¿Qué ocurre en el caso de EGEDA? Ah, ¿recordáis Filmotech? Es la iniciativa de distribución digital lanzada por la propia EGEDA, y financiada en gran medida con dinero publico. ¿Qué le interesa a EGEDA? Sencillamente, que Filmotech tenga cuanta menos competencia, mejor. Controlar completamente el mercado exhibidor en la red. De ahí la suma y exhaustiva dificultad que encuentran aquellos emprendedores que pretenden lanzarse a ese negocio. Y de ahí, por supuesto, las descargas: si no se permite la creación de un mercado competitivo, y las alternativas son únicamente las que provienen de una sociedad que de manera reiterada insulta y descalifica a los usuarios, los usuarios deciden descargarse sus contenidos al margen de dichas iniciativas. Y ahora, tras la ley Sinde, lo hacen además en muchos casos como un acto de militancia.
Eso, y nada más que eso, es lo que se esconde detrás de la ley Sinde. Una ley que esconde detrás la preservación por encima de todo de un monopolio predatorio, denunciado por un informe de una Comisión estatal, un informe serio que ahora acumula polvo en algún cajón. Cuando te plantees si las descargas son un problema o si haces bien o mal en descargar, aparta de ti falsos dilemas morales: lo que está detrás de la ley Sinde es esto. Así de sucio. Así de siniestro. Y para PSOE, PP y CiU, así de natural.
No lo olvides: nolesvotes.

Cómo instalar Freespace2 en Linux.

Fuente: Linux Game Cast

miércoles, 23 de febrero de 2011

"Dragon Age:Redemption" con Felicia Day.

El nuevo proyecto de Felicia Day y que al igual que "The Guild" será una serie en la red. Al igual que "The Guild" surgió de la obsesión de Felicia por el "WOW" (y antes del "Diablo"), esta tiene su origen en su nueva obsesión por el "Dragon Age". A pesar de que no se sabe casi nada del proyecto, las expectativas son muy altas entre los aficionados, aunque bien es cierto que con poca cosa nos conformamos.

martes, 22 de febrero de 2011

Los inventos de Tesla en 3D.

Nikola Tesla: Inventions In Three-Dimensions from The Tesla Science Foundation on Vimeo.

Nueva nanoestructura combina memoria con elementos lógicos

Fuente: Ciencia Kanija

Se ha desvelado por parte de físicos alemanes, una nueva forma de crear circuitos lógicos completos y programables que combinen memoria y procesado lógico en una única estructura. Tales estructuras podrían llevar a circuitos integrados más rápidos, pequeños y más eficientes energéticamente y su desarrollo ha sido uno de los objetivos principales de la espintrónica – una tecnología relativamente nueva que explota el espín de un electrón así como su carga. Los investigadores creen que la estructura podría llevar a una nueva forma de diseñar circuitos lógicos en los cuales la memoria y los elementos lógicos no estén separados.
Dispositivo espintrónico con lógica/memoria

“Se han hecho demostraciones de dispositivos espintrónicos aislados desde hace tiempo, pero ahora hemos demostrado un circuito lógico programable – y eso es algo nuevo”, dice el líder del equipo Laurens Molenkamp de la Universidad de Würzburg. El nuevo circuito está hecho de un semiconductor ferromagnético que contiene una mezcla de galio, manganeso y arsénico ((Ga,Mn)As) que combina la capacidad de lectura/escritura con un proceso lógico.
Los dispositivos espintrónicos aprovechan el hecho de que el espín del electrón puede apuntar en la dirección “arriba” o “abajo”, y cambiar entre estos dos sentidos es una propiedad que podría usarse para almacenar y procesar información. Tales circuitos serían menores y más eficientes que los circuitos electrónicos basados en el silicio convencional – los cuales dependen de la carga – debido a que, en principio, cambiar espines de arriba a abajo puede hacerse usando muy poca energía. Los dispositivos espintrónicos podría transportar o manipular información a través de una “corriente de espín”, la cual consiste en electrones con espines opuestos que se mueven en sentidos opuestos.
Relajación de la tensión
Cuando se deposita en una capa 2D, (Ga,Mn)As queda mayormente magnetizado a lo largo de una de las dos direcciones – tanto en el plano de la capa como en ángulos rectos entre sí. Los investigadores de Würzburg ya habían descubierto que si hacían un patrón con tales capas en cables estrechos, un fenómeno conocido como “relajación de la tensión” provocaba que los cables tuviesen un único eje de magnetización – a lo largo de la longitud del cable.
Ahora, el equipo ha observado que en una estructura donde tal cable entra en contacto con un área más ancha de (Ga,Mn)As, al pasar una corriente eléctrica a través del cable el área más ancha de (Ga,Mn)As queda magnetizada en la misma dirección del cable. Uniendo cables en direcciones norte, sur, este y oeste con el área más ancha se puede transformar la estructura en una puerta lógica simple.
La corriente de espín polarizada (una corriente de carga con distintos números de electrones con espín arriba y abajo) en una barra norte-sur o este-oeste magnetiza (o “escribe”) el área ancha central con un estado “0″ ó “1″ respectivamente. El dispositivo puede entonces leer midiendo la resistencia a través la unión del túnel que conecta una barra con el área ancha. Esta resistencia es mayor para el 1 que para el 0, y combinar tales dispositivos de 1 bit permitiría a los investigadores construir puertas lógicas XOR completas – algo en lo que el equipo está trabajando actualmente.
Puerta programable
“La otra cosa interesante es que el modo real de operación de la puerta es programable – depende de qué cables usa realmente para señalar los bits lógicos y cómo son inicializados. Por ejemplo, la operación lógica realizada por el dispositivo depende de si las barras norte-sur o este.oeste se definen como 1 -o 0 en cada uno de los dos bits del elemento. “En este sentido, nuestro circuito funciona como un FPGA en la tecnología actual de circuitos integrados”.
En los ordenadores convencionales, la salida de una puerta sólida es de vida corta y tiene que almacenarse en memoria (como la RAM) que está en otra parte del ordenador. Dado que las áreas anchas en las estructuras de Molenkamp y sus colegas están hechas de un material ferromagnético, el estado lógico (o magnetización) es de mayor duración. Por tanto no tiene que transferirse a otra parte, sino que puede aprovecharse directamente.
“Nuestro circuito une la funcionalidad de lógica y memoria en una única capa muy compacta y hace que el procedimiento estándar de separar lógica y memoria sea redundante”, explica Molenkamp. “La capa podría de esta forma llevarnos a un paradigma de procesamiento de la información fundamentalmente nuevo”, añade, “y espero que nuestro trabajo ayudará a convencer a la industria de la electrónica del potencial de implementar espintrónica en los siguientes sistemas de generación de información”.
Dicho esto, hay un inconveniente para el propio (Ga,Mn)As – el material sólo es ferromagnético a temperaturas por debajo de unos 150 Kelvin. No obstante, la idea presentada por el equipo de Würzburg debería aplicarse a otros materiales ferromagnéticos comunes que son magnéticos a temperatura ambiente. Estas son las buenas noticias.
El circuito se describe en la revista Phys. Rev. Lett. 106 057204.

Autor: Belle Dumé
Fecha Original: 10 de febrero de 2011
Enlace Original

Vídeos de "Nerdy Girls"


jueves, 17 de febrero de 2011

El primer nanoprocesador programable basado en circuitos lógicos implementados con transistores FET de nanocables

Fuente: Francis (th)E mule


Biestable (flip-flop) tipo D (izda.) y demultiplexor (dcha.). (C) Nature.
El futuro de la microelectrónica es la nanoelectrónica. Se publica hoy en Nature la primera implementación de nanocircuitos electrónicos programables basados en nanocables de germanio y silicio. La intersección de dos nanocables se comporta como un transistor de efecto de campo (FET) que permite la implementación de puertas lógicas y circuitos combinacionales (los llamados NWFET por NanoWire FET). Los autores han fabricado una matriz de puertas programable (PGA) y han “programado” un circuito sumador con acarreo (SUM), un restador con acarreo (SUB), un multiplexador (MUX), un demultiplexador (DEMUX) y un circuito biestable (flip-flop síncrono tipo D). Por ahora la programación de estos circuitos es vía hardware, un proceso lento. El artículo técnico es Hao Yan et al., “Programmable nanowire circuits for nanoprocessors,” Nature 470: 240–244, 10 February 2011.

En la figura de arriba se muestra un modelo del transistor NWFET, con sus tres terminales: fuente (S), drenador (D) y puerta (G). Además se muestra una imagen por microscopio electrónico de un corte transversal del NWFET. El nanohilo tiene un núcleo de germanio (Ge) recubierto de silicio (Si) con un diámetro de 10 nm(nanómetros), rodeado de una capa dieléctrica triple Al2O3–ZrO2–Al2O3 (2 nm de Al2O3, 5 nm de ZrO2 y 5 nm de Al2O3). El nanoprocesador programable está formado por series de nanohilos (7 o 10 en las imágenes de arriba) en la que se puede programar un circuito lógico mediante un cruce adecuado de los nanohilos.
Los autores han implementado una matriz de submatrices de nanohilos (un trocito se muestra en la imagen de arriba, donde la submatriz está rodeada por un globo de líneas discontinuas) de tal forma que cada submatriz puede implementar un circuito lógico sencillo y las diferentes submatrices se pueden unir entre sí para formar un circuito más grande y más complejo. Los autores afirman que esta tecnología es escalable, lo que augura un futuro prometedor para esta nanotecnología.
Esta entrada es mi segunda participación en la “XVI edición do Entroido da Física,” organizado por María Loureiro en su blog Tecnoloxia.org. Anímate tú también y envía tu contribución al XVI Edición del Carnaval de la Física (el deadline es el 25 de febrero).

miércoles, 16 de febrero de 2011

Fusión de vidrio a casi el cero absoluto

Fuente: NeoFronteras

Un trabajo teórico predice que, según la Mecánica Cuántica, los vidrios podrían licuarse a temperaturas cercanas al cero absoluto.
Foto
El lenguaje de la calle no suele describir apropiadamente todos los conceptos. O, más bien, la gente desinformada no suele entender ciertos conceptos. Si sabemos de lo que hablamos un vidrio no tienen por que ser necesariamente un material transparente. Sabremos que tampoco es un cristal (y mucho menos el de la ventana) y que un cristal tampoco tiene por qué ser transparente. De este modo, el sulfuro de hierro puede formar cristales de pirita que se parecen al oro y no son transparentes.
Un cristal es aquello que tiene una estructura cristalina, es decir, que los átomos o moléculas que lo forman están ordenados siguiendo unos determinados patrones. Además los grupos cristalográficos en los que pueden cristalizar las sustancias son fijos y forman un conjunto limitado.
Lo difícil es que las sustancias no formen cristales. Lo normal es que se formen cristales espontáneamente, aunque sean de tamaño pequeño. Aunque conseguir cristales de gran tamaño es complicado y muchas veces se tengan policristales en donde hay muchos granos con su propia cirtalización.
Un vidrio es básicamente un amorfo en el que los átomos que lo forman están distribuidos más o menos al azar. Se puede conseguir un amorfo enfriando rápidamente un líquido para que así a las moléculas no les dé tiempo ordenarse y/o añadiendo otras sustancia que entorpezcan ese objetivo.
El vidrio de toda la vida contiene sustancias que impiden que el dióxido de silicio forme cristales de cuarzo, además de fundentes y otros añadidos.
También se pueden hacer aleaciones amorfas si se enfría una aleación fundida muy rápidamente (y se añaden otras sustancias). De este modo una cinta o hilo de aleación metálica amorfa tiene aspecto metálico, pero su estructura molecular amorfa le confiere propiedades mecánicas y electromagnéticas especiales.
Resumiendo, podemos decir que un vidrio es un amorfo de apariencia sólida cuyos átomos están desordenados. En lenguaje vulgar se suele decir que un vidrio es un líquido “sobre-enfriado”, aunque este término no es muy correcto.
En todo caso, la intuición, la práctica y el sentido común nos dicen que un sólido (cristalino o amorfo) se funde si la temperatura es lo suficientemente alta.
Ahora, Eran Rabani, de la Universalidad de Tel Aviv, sostiene en un trabajo teórico que la Mecánica Cuántica permite que un vidrio de torne líquido cuando la temperatura caiga hasta cerca del cero absoluto. El trabajo fue inspirado por Philip W. Anderson que escribió que la comprensión de los vidrios clásicos era uno de los mayores problemas sin resolver en la Física de la Materia Condensada.
La Mecánica Cuántica se ha aplicado con profusión a la Física de la Materia Condensada y nuestro conocimiento de la electrónica moderna no sería tal sin esta rama de la Física. Aunque a veces los resultados de la Mecánica Cuántica (MC) pueden ser un poco contraintuitivos. Este efecto mecánico-cuántico por el cual un sólido amorfo se “licua” a ultrabaja temperatura parece pertenecer a esa clase de fenómenos, pues lo lógico sería pensar que es subiendo la temperatura como podemos conseguir que un sólido se funda.
Las aplicaciones prácticas de algo así serían muy limitadas ya que la temperatura a la que ocurriría el fenómeno sería muy baja, pero la investigación sobre este asunto podría abrir nuevos caminos a descubrimiento futuros.
Según la MC el comportamiento de las partículas pequeñas se asemeja al de una onda, y no se puede determinar exactamente la posición y cantidad de movimiento de dichas partículas, algo que viene descrito por el principio de incertidumbre de Heisenberg. Basándose en este principio, Rabani y sus colaboradores han sido capaces de demostrar sobre el papel este extraño comportamiento de los vidrios. En palabras menos técnicas se podría decir que cerca del cero absoluto los átomos se comportarían más como ondas que como partículas y la MC les permitiría moverse más fácilmente. El resultado sería la desestabilización de la estructura amorfa y entonces el material fluiría.
De acuerdo a Rabani todo tiene que ver con cómo las moléculas del material se ordenan. En algún momento de la fase de enfriamiento el material forma un vidrio y entonces se hace líquido si se dan las condiciones adecuadas.
Hasta ahora no se habían explorado los vidrios cuánticos estructurales y Rabidi se preguntó si todavía quedaría lo distintivo del vidrio clásico cuando se mirase a nivel cuántico. El resultado fue que los vidrios cuánticos tienen una firma propia y única.
Este investigador espera que en un futuro se pueda comprobar esta predicción en algún laboratorio. Aunque es fácil obtener vidrio, hay poco laboratorios en donde se alcancen temperaturas tan bajas como para ver el efecto.
Copyleft: atribuir con enlace a http://neofronteras.com/?p=3397
Fuentes y referencias:
Nota de prensa.
Artículo original.

El zen de Python

Fuente: Alt1040


Python es uno de los lenguajes de programación más populares hoy en día a pesar de ser un idioma relativamente viejo. Fue creado a finales de los ochentas por Guido van Rossum —que dentro de la comunidad de Python es conocido como el Benevolente Dictador Vitalicio— y su nombre está inspirado en el grupo de comedia británico Monthy Python.
A diferencia de los programadores de C, C# o incluso de PHP, aquella gente que ha estado llegando a Python, —como la mayoría que llega a Perl y a Ruby— lo ha hecho porque disfrutan de programar y buscan un lenguaje que les facilite hacer mejor algo que les gusta. Este lenguaje recoge lo mejor de otros y es reconocido porque es muy limpio y legible, lo que facilita mucho la tarea de los programadores.
Su filosofía queda plasmada en un documento escrito por Tim Peters (un experimentado desarrollador en este lenguaje) que vale la pena compartir, porque a pesar de estar pensado para un lenguaje de programación es una filosofía muy práctica para cualquier proyecto que tengamos en mente:
El zen de Python:
  • Hermoso es mejor que feo.
  • Explícito es mejor que implícito.
  • Simple es mejor que complejo.
  • Complejo es mejor que complicado.
  • Sencillo es mejor que anidado.
  • Escaso es mejor que denso.
  • La legibilidad cuenta.
  • Los casos especiales no son lo suficientemente especiales para romper las reglas.
  • Lo práctico le gana a la pureza.
  • Los errores no debe pasar en silencio.
  • A menos que sean silenciados.
  • En cara a la ambigüedad, rechazar la tentación de adivinar.
  • Debe haber una - y preferiblemente sólo una - manera obvia de hacerlo.
  • Aunque esa manera puede no ser obvia en un primer momento a menos que seas holandés.
  • Ahora es mejor que nunca.
  • Aunque “nunca” es a menudo mejor que “ahora mismo”.
  • Si la aplicación es difícil de explicar, es una mala idea.
  • Si la aplicación es fácil de explicar, puede ser una buena idea.
  • Los espacios de nombres son una gran idea ¡hay que hacer más de eso!
El texo lo podemos encontrar junto con ejemplos que ilustran su aplicación y que nos permiten (a aquellos que tengan algunas nociones básicas de programación) apreciar el uso y sencillez de este lenguaje.
Estos principios resumen la filosofía de Python. Son tan prácticos y han hecho de este lenguaje algo tan sencillo y agradable que incluso podemos encontrar libros de Python para niños. Además tenemos el caso de que las comunidades de desarrolladores son tan abiertas que a veces abarcan campos que parecieran no tener mucho en común con la programación, como lingüistas o entomólogos.
Python es el lenguaje ideal para cualquiera que quiera adentrarse a la programación sin una idea clara de lo que quiere hacer o sin conocimientos previos, su filosofía zen lo avala. ¿Qué esperas para conocerlo? A final de cuentas es programming for human beings.

lunes, 14 de febrero de 2011

Vacío no tan vacío

Fuente: NeoFronteras

Unos estudios recientes nos recuerdan que el vacío no está vacío como a veces se puede llegar a pensar.
Foto
El vacío, al menos en Física, no es la nada. Incluso un vacío vaciado de espacio-tiempo no es la nada, al menos para algunas ideas conceptuales de gravedad cuántica. Desde hace más o menos un siglo los físicos han estado colocando cosas en el vacío, a veces de manera afortuna y otras veces no tanto, como en el caso del éter. La ya muy conocida por los lectores de NeoFronteras energía oscura no es más que otro ente que hemos añadido al vacío y todavía está por ver si al final realmente existe.
Pero la Mecánica Cuántica predice efectos del vacío que se han medido experimentalmente. Uno de ellos es el efecto Casimir, que dice que dos placas metálicas separadas a muy poca distancia en el vacío deben de experimentar una fuerza de atracción.
Este efecto se debe a que los modos de vibración de los fotones virtuales entre ellas están mucho más limitados que los modos de vibración de los fotones virtuales del exterior. Aquí “virtual” significa que mientras lo permita el principio de incertidumbre de Heisenberg pueden aparecer por un instante un par de partícula-antipartícula que luego desaparecen. El efecto Casimir se logró medir hace años y no hace falta decir que es muy débil. Sin embargo, este concepto es un viejo conocido de los antiguos marineros, cuando se dieron cuenta que si se colocaban dos veleros en paralelo muy juntos el oleaje hacía que al final chocaran entre sí. Hace tiempo se logró medir el efecto Casimir en el laboratorio.
Desde hace unos años se trabaja por conseguir el efecto Casimir repulsivo y para lograr esta meta se han propuesto diversas soluciones [1][2]. La idea es lograr una repulsión entre dos objetos que haga que uno levite sobre el otro gracias a estas fluctuaciones del vacío. Una de las soluciones que se propusieron en su día fue el uso de metamateriales que se insertarían en el espacio entre los dos objetos. Recordemos que los metamateriales son objetos nanoestructurados que tienen un índice de refracción negativo. No existen en la naturaleza y hay que fabricarlos artificialmente. Son los que están permitiendo, por ejemplo, crear las “capas de invisibilidad”.
Hace poco Stanislav Maslovski y Mário Silveirinha de la Universidad de Coimbra (Portugal) propusieron conseguir el efecto Casimir inverso sin necesidad de introducir ningún metamaterial [4]. En lugar de ello habría un substrato sobre el que levitaría una placa metálica perforada. Pero la superficie de ese substrato estaría cubierta de bastoncitos de 40 nanometros de ancho de plata al modo de las velas sobre una tarta. Los agujeros de la placa estarían geométricamente dispuestos del mismo modo que los bastones. Con esta configuración la placa sería repelida por el substrato debido a las fluctuaciones del vacío.
Pero el efecto Casimir convencional se debe a las fluctuaciones de punto cero, justo al cero absoluto, pero el campo electromagnético experimenta un aumento de las fluctuaciones térmicas a más altas temperaturas. En 1955 Evgeny Lifshitz predijo que estas fluctuaciones térmicas debían de tener un efecto similar sobre la presión de radiación dando lugar a una fuerza de Casimir térmica.
Ahora Alexander Sushkov y sus colaboradores de la Universidad de Yale han conseguido medir el efecto Casimir térmico por primera vez [4][5]. Para ello en lugar de usar dos placas paralelas han usado una esfera y una placa recubiertas de oro. La elección se debe a que es mucho más fácil alinear una esfera y una placa que dos placas paralelas perfectamente alineadas. La placa estaba montada sobre un péndulo de torsión para así medir la fuerza hacia la esfera.
Una vez corregidos los efectos residuales de las fuerzas electrostáticas, estos investigadores encontraron que la fuerza de Casimir de punto cero dominaba a distancias menores de 3 micras, como era de esperar, pero en lugar de decaer con el cubo del inverso de la distancia decaía mucho más lentamente, concretamente con el cuadrado de la distancia. Este resultado concuerda con la existencia de una fuerza de Casimir térmica.
Ahora estos investigadores están repitiendo este experimento para otros materiales incluyendo semiconductores.
Pero el vacío tiene, al parece, otros efectos igualmente interesantes que se podrían comprobar experimentalmente. Uno esperaría que una esfera en rotación en el vacío nunca dejaría de hacerlo debido a la ausencia de rozamiento o fricción, pero según Alejandro Manjavacas y F. Javier García de Abajo, del Consejo Superior de Investigaciones Científica (España), la esfera terminaría deteniéndose debido a los efectos del vacío cuántico [6]. Lo más interesante es que el efecto podría darse en los granos interestelares y que también podría ser detectable en el laboratorio.
Los fotones virtuales del vacío interaccionarían con el cuerpo en rotación de distinta manera dependiendo del sentido de giro y como resultado de esta interacción la velocidad de rotación disminuiría gradualmente. La energía perdida sería emitida como fotones reales que podrían ser detectables.
La intensidad del efecto depende del tamaño del objeto y su naturaleza. Materiales metálicos como el oro, que evitan la absorción de fotones, experimentarían un efecto nulo o casi nulo. Cuerpos en rotación masivos y grandes (con gran momento angular) tampoco experimentaría el efecto de manera apreciable. La temperatura también tendría su efecto y mayor temperatura mayor sería la fricción con el vacío.
Las partículas pequeñas y baja densidad, como los granos interestelares, sí notaría el efecto de manera rápida. A temperatura ambiente un típico grano interestelar de grafito de 100 nanometros necesitaría unos 10 años para pararse por fricción con el vacío, que serían sólo 90 días a 700 grados centígrados, pero necesitaría 2,7 millones de años en el frío espacio interestelar.
Aunque los requerimientos para realizar un experimento de laboratorio que mida este efecto son muy altos es de esperar que un experimento de este tipo se pueda realizar en un futuro.
Y es que el vacío no es la nada y tiene su influencia sobre el mundo material. Seguro que nos depara más sorpresas en el futuro.
Copyleft: atribuir con enlace a http://neofronteras.com/?p=3395
Fuentes y referencias:
Efecto Casimir en NeoFronteras.
Foto: Jay Penni / Federico Capasso.

Discurso de Alex de la Iglesia en los Goya

jueves, 10 de febrero de 2011

Cómo crear un fichero en un archivo.

Este es el proceso para crear un sistema de ficheros en un archivo y montarlo:
  1. Miramos los dispositivos 'loop' que existen para evitar pisar alguno ya existente con "sudo losetup -a"
  2. Creamos el archivo (en este caso del tamaño de un cd) con "dd if=/dev/urandom of=archivo_disco.img bs=1M count=650"
  3. Creamos el dispositivo virtual con "sudo losetup /dev/loop0 archivo_disco.img"
  4. Formateamos el dispositivo virtual (en este caso en formato ext4) con "sudo mkfs -t ext4 /dev/loop0"
  5. Creamos el punto de montaje con "mkdir /mnt/disco_archivo"
  6. Montamos el dispositivo virtual de la misma forma que se hace con discos reales con "sudo mount -t ext4 /dev/loop0 /mnt/disco_archivo" 
  7. Trabajamos sobre '/mnt/disco_archivo' como solemos hacer (moviendo archivos, editando textos, etc.).
  8. Desmontamos la unidad virtual con "sudo umount /mnt/disco_archivo".
  9. Eliminamos el dispositivo virtual con "sudo losetup -d /dev/loop0"
Este proceso se usaba para crear las imágenes de CD en la línea de comandos. Por supuesto ahora se usan programas con entornos gráficos más intuitivos.

miércoles, 9 de febrero de 2011

Dark Souls

Otro juego de rol de magnífico aspecto, ahora falta ver en qué máquina se podrá poner... pero es casi seguro que no podremos disfrutarlo en Linux.

Deus Ex (linea argumental)

A continuación la linea argumental de Deus Ex subtitulada:


Evidentemente teniendo en cuenta las anteriores entregas de Deus Ex lo más probable es que tenga múltiples finales dependiendo de las acciones del jugador.

Bajo la lluvia sin paraguas y con viento, a qué velocidad hay que correr

Fuente: Francis (th)E mule



Lo mejor para mojarse lo mínimo posible bajo la lluvia es correr a la misma velocidad que el viento, si hay suficiente viento, y lo más rápido posible si hay poco viento. Lo que uno se moja por arriba (cabeza y hombros) no depende de la velocidad, pero sí depende de ella lo que nos mojamos por el tronco del cuerpo. La cantidad total de agua que nos moja depende, además de la velocidad del viento, de las dimensiones de la persona y de la cantidad de lluvia. La solución óptima se puede calcular gracias a un modelo matemático sencillo que aproxima a la persona bajo la lluvia mediante un cilindro (ya que una esfera no diferencia entre cabeza y tronco). En mi opinión, el resultado es difícil de aplicar en la vida diaria, pero quien sabe, quizás alguno de vosotros sea capaz de estimar bien la velocidad del viento… o alguno sea tan previsor que se acuerde de llevar un anemómetro portátil los días lluviosos. Los detalles del modelo y sus resultados han sido publicados por Andrea Ehrmann y Tomasz Blachowicz, “Walking or running in the rain—a simple derivation of a general solution,” European Journal of Physics 32: 355-361, March 2011 (free article). No entraré en los detalles matemáticos, ideales para ilustrar este curioso problema a los alumnos en un primer curso de física, por ello, esta entrada será mi primera participación en la “XVI edición do Entroido da Física,” organizado por María Loureiro en su blog Tecnoloxia.org. Anímate y envía tu contribución al XVI Edición del Carnaval de la Física: “Debe ser antes do 25 de febreiro. O día 28 de febreiro publicaranse alí os artigos. Este mes o tema é as relacións entre a física e a tecnoloxía.” Mi entrada es poco tecnológica, quizás.
La solución más conocida al problema de si bajo la lluvia es mejor caminar a paso normal o correr es bien conocida, es mejor correr; sin embargo, en la serie de TV Mythbusters demostraron lo contrario, es mejor caminar; más aún, hay estudios que afirman que da lo mismo. ¿Quién tiene razón? Todo depende de los parámetros del problema, como demuestra un modelo matemático sencillo en el que una persona es un cilindro con tapa; la tapa es el área efectiva de la cabeza y los hombros de la persona; el área superficial del cilindro es el área efectiva del tronco de la persona. La figura que abre esta entrada ilustra este modelo en ausencia de viento (lluvia vertical) y cuando el viento provoca que la lluvia incida en el suelo con cierto ángulo; se supone que la persona camina en contra del viento (los autores del artículo dejan el estudio del caso a favor del viento como ejercicio elemental).
Esta figura extraída del artículo técnico ilustra el “mojado” (la cantidad de lluvia proporcional al número de gotas recibidas por unidad de tiempo) en la cabeza (línea con círculos huecos), la parte frontal del torso (línea con cuadrados huecos) y la suma de ambas (línea con círculos rellenos) en función de la velocidad horizontal al caminar (Vx en m/s) para una persona con una altura de 1’80 m en dos casos, a la izquierda cuando la lluvia es vertical (velocidad horizontal VH=0) y a la derecha cuando el viento en dirección horizontal tiene una velocidad VH=3 m/s. Como se observa en la figura de la izquierda, si la lluvia cae verticalmente (no hay viento), correr es mejor que caminar porque la cantidad de lluvia que recibe nuestra cabeza es menor, aunque la que recibimos de frente es similar. Como se observa en la figura derecha, si el viento hace que la lluvia caiga con cierto ángulo, la cantidad de lluvia que recibe nuestra cabeza es la misma que antes, pero la cantidad que recibimos de frente depende de nuestra velocidad; la velocidad ideal es la misma velocidad del viento (Vx=VH en la figura); velocidades mayores producen un “mojado” un poquito mayor, pero velocidades inferiores un “mojado” mucho mayor. Así que es mejor ir lo más rápido posible (eso sí, sin resbalar).

Esta otra figura (izquierda) ilustra cómo la velocidad óptima es la más rápida posible cuando hay poco viento (VH=0 m/s, 1’5 m/s), pero debe igualar a la de éste cuando hay mucho (VH=2’6 m/s, 3’5 m/s). La figura de la derecha muestra que la cantidad de agua que recibe nuestro cuerpo depende mucho del área que ofrece nuestro cuerpo en dirección vertical (cabeza y hombros), por lo que llevar un sombrero, ser cabezón o muy ancho de hombros acarrea el problema de que nos mojamos más (algo obvio por otra parte).
Para los interesados en la tecnología, debo recordar que hay anemómetros portátiles por poco más de 20 euros/dólares, aunque su precio los hace poco útiles, en mi opinión, para mojarse menos bajo la lluvia, ya que es mucho más barato y eficaz comprarse un buen paraguas. Además, no sé si con lluvia funcionan bien y no se estropean.
Sin entrar en más detalles, un curioso modelo matemático que puede ser muy útil para ilustrar a los alumnos las leyes básicas de la cinemática en un primer curso de física. Y que también puede ser utilizado en primeros cursos de cálculo y/o de geometría.

martes, 8 de febrero de 2011

Viaje en el tiempo sin arrepentimientos

Fuente: Ciencia Kanija

El viaje en el tiempo no está descartado por la relatividad general, pero podría crear problemas para las leyes del sentido común. En el ejemplar del 28 de enero de la revista Physical Review Letters, un equipo propone una nueva forma de decidir la posibilidad o imposibilidad de que estados cuánticos viajen adelante y atrás en el tiempo. El nuevo criterio descarta automáticamente versiones cuánticas de la “paradoja del abuelo”, en la cual una persona viaja atrás en el tiempo y mata a su antepasado, asegurando, por tanto, su propia muerte. El equipo también realizó un experimento que ilustra el mecanismo de anulación de paradojas.

La relatividad general, la teoría de Einstein sobre el espacio y el tiempo, permite la existencia de curvas temporales cerradas (CTCs) – caminos que van adelante en el tiempo, luego hacia atrás para reconectarse y formar bucles cerrados. Aunque no está claro si pueden crearse los CTCs, los físicos, no obstante, han explorado sus posibles consecuencias, incluyendo su influencia en la mecánica cuántica.

Un evento cuántico corriente podría implicar a dos partículas moviéndose hacia adelante en el tiempo, cambiando entre sí al interactuar en algún momento, y tomando luego caminos separados en el futuro. Sin embargo, si una de las partículas salientes entra en un CTC, puede duplicarse y convertirse en una de las partículas entrantes – influyendo de este modo en su propia transformación. En 1991, el físico de la Universidad de Oxford, David Deutsch, propuso una condición de consistencia que evitaba las paradojas en el viaje en el tiempo: una partícula que entra en un bucle temporal de este modo, debería estar en el mismo estado cuántico cuando reaparece en el pasado inmediato de la interacción, a como era cuando tuvo la interacción hacia el futuro inmediato1.

Para ver cómo funciona esta condición, imagina una partícula cuántica que tiene estados etiquetados como 0 y 1. Viaja alrededor de un CTC y, en su retorno, interactúa con una partícula “externa” de tal forma que 0 se convierte en 1 y 1 en 0. Tal partícula presenta una paradoja del abuelo cuántica: cuando vuelve hacia atrás en el bucle, se cambia a sí misma al estado opuesto. Sin embargo, Deutsch demostró que es posible la consistencia si las partículas están en una superposición – un estado que es 0 y 1 a partes iguales. La interacción intercambia el 0 y el 1, pero el estado general permanece sin cambios. Para que esto funcione, la partícula externa debe estar también en un estado de superposición que cambia adelante y atrás.

La paradoja se evita, pero surge una dificultad si se mide la partícula externa. Entonces no pueden permanecer en una superposición, sino que debe convertirse definitivamente en 0 ó 1 – lo cual significa que la partícula del CTC no puede seguir tampoco en superposición. Para conservar la consistencia Deutsch defendía que la partícula del CTC debe existir en dos universos paralelos – el “universo 1″ y el “universo 0″ – y cambiar continuamente entre ellos, de forma que no tenga lugar contradicción entre ninguno de ellos.

Lorenzo Maccone, del Instituto Tecnológico de Massachusetts (MIT) y la Universidad de Pavia en Italia, y sus colegas proponen una condición más restrictiva que evita estas dificultades. Requieren que cualquier medida que se haga en la partícula que va al futuro, debería arrojar el mismo resultado que cuando se mide en su viaje desde el pasado. Por lo que cualquier estado que alterase el pasado cuando está por allí de nuevo queda prohibido, y no pueden surgir paradojas del tipo del abuelo.

Tal vez, sorprendentemente, “aún podemos tener CTCs incluso con esta fuerte condición”, dice Maccone. Sólo afirma que las paradojas evitadas después de la interacción pueden existir de antemano, por lo que el equipo llama a su condición “post-selección”.

Para demostrar estas ideas, el equipo realizó un experimento con fotones, demostrando que la condición de consistencia, efectivamente, selecciona estados específicos y destruye el resto. Careciendo de un CTC real para realizar la post-selección, el equipo creó fotones en un estado cuántico específico para la entrada, un estado donde no se conocía la polarización o era medida pero tenía una correlación con otra propiedad, asociada con el camino del fotón. Cuando el fotón pasaba a través del experimento, sufría cambios que imitaban el intercambio 0-1 que ocurría en el viaje temporal imaginario. El equipo encontró que sólo aquellos fotones que no llevasen a paradojas pasarían indemnes. Aunque el resultado está en línea con lo que se esperaba nadie ha simulado el viaje en el tiempo anteriormente de esta forma.

Una extraña consecuencia de la post-selección es que, debido a que la presencia de un CTC anula completamente los estados paradójicos, puede evitar algunos estados que parecen hoy inocuos pero tienen posteriormente consecuencias inaceptables.. “En principio, se podría detectar la futura existencia de máquinas del tiempo buscando desviaciones de las predicciones de la mecánica cuántica”, dice Todd Brun de la Universidad de California del Sur en Los Angeles. Aunque, añade, es difícil saber de antemano, qué medir.

Referencias:
1.- D. Deutsch, “Quantum Mechanics near Closed Timelike Lines,” Phys. Rev. D 44, 3197 (1991).
Autor: David Lindley
Fecha Original: 4 de febrero de 2011
Enlace Original

Rur-ple, para aprender (y enseñar) Python

Fuente:Barrapunto

Rurple es un entorno de aprendizaje de Python programado por André Roeberg para sus hijos Julien y Evelyne, y ahora disponible ppúblicamente. Los estudiantes exploran la programación en Python con la ayuda de un robot llamado Reeborg, que es una versión mejorada de las viejas tortugas. Las lecciones son muy sencillitas: no creo que este sistema sirviera para enseñar programación a adultos, ya que el paso es muy lento. Sin embargo, parece un sistema bueno para los más jóvenes. Rur-ple es software libre bajo la licencia GPL, y en mi portátil funcionó a la primera, se ve que ya tenía las dependencias instaladas (la principal es wxPython).

De números a letras.

Fuente: El atareao

#! /usr/bin/python
# -*- coding: iso-8859-1 -*-
#
__author__="atareao"
__date__ ="$29-ene-2011$"
#
# <from numbers to letters.>
#
# Copyright (C) 2011 Lorenzo Carbonell
# lorenzo.carbonell.cerezo@gmail.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#
#
import gtk

unidades = []
decenas = []
centenas = []
unidades.append('cero')
unidades.append('uno')
unidades.append('dos')
unidades.append('tres')
unidades.append('cuatro')
unidades.append('cinco')
unidades.append('seis')
unidades.append('siete')
unidades.append('ocho')
unidades.append('nueve')
unidades.append('diez')
unidades.append('once')
unidades.append('doce')
unidades.append('trece')
unidades.append('catorce')
unidades.append('quince')
unidades.append('dieciseis')
unidades.append('diecisiete')
unidades.append('dieciocho')
unidades.append('diecinueve')
unidades.append('veinte')
unidades.append('veintiuno')
unidades.append('veintidos')
unidades.append('veintitres')
unidades.append('veinticuatro')
unidades.append('veinticinco')
unidades.append('veintiseis')
unidades.append('veintisiete')
unidades.append('veintiocho')
unidades.append('veintinueve')
unidades.append('treinta')
decenas.append('')
decenas.append('')
decenas.append('')
decenas.append('')
decenas.append('cuarenta')
decenas.append('cincuenta')
decenas.append('sesenta')
decenas.append('setenta')
decenas.append('ochenta')
decenas.append('noventa')
centenas.append('')
centenas.append('ciento')
centenas.append('doscientos')
centenas.append('trescientos')
centenas.append('cuatrocientos')
centenas.append('quinientos')
centenas.append('seiscientos')
centenas.append('setecientos')
centenas.append('ochocientos')
centenas.append('novecientos')

def is_integer(number):  
    try:
        dummy = int(number)
        return True
    except:
        return False
    return False

def lee_numero(number):
    if not is_integer(number):
        return ''
    intue = int(number)
    number = str(number)
    longit = len(number)
    trios = longit / 3
    if longit < 3:
        if intue < 31:
            numero_leido = unidades[intue]
        elif intue >=31 and intue<=39:
            numero_leido = unidades[30] + ' y ' + unidades[intue - 30]
        elif intue == 40:
            numero_leido = decenas[4]
        elif intue >=41 and intue<=49:
            numero_leido = decenas[4] + ' y ' + unidades[intue - 40]
        elif intue == 50:
            numero_leido = decenas[5]
        elif intue >=51 and intue<=59:
            numero_leido = decenas[5] + ' y ' + unidades[intue - 50]
        elif intue == 60:
            numero_leido = decenas[6]
        elif intue >=61 and intue<=69:
            numero_leido = decenas[6] + ' y ' + unidades[intue - 60]
        elif intue == 70:
            numero_leido = decenas[7]
        elif intue >=71 and intue<=79:
            numero_leido = decenas[7] + ' y ' + unidades[intue - 70]
        elif intue == 80:
            numero_leido = decenas[8]
        elif intue >=81 and intue<=89:
            numero_leido = decenas[8] + ' y ' + unidades[intue - 80]
        elif intue == 90:
            numero_leido = decenas[9]
        elif intue >=91 and intue<=99:
            numero_leido = decenas[9] + ' y ' + unidades[intue - 90]
    elif longit < 4:
        parte_izquierda = number[:1]#number, 1)
        parte_derecha = number[-2:]#Right(number, 2)
        if parte_derecha == '00' and parte_izquierda == '1':
            numero_leido = 'cien'
        else:
            numero_leido = centenas[int(parte_izquierda)] + ' ' + lee_numero(parte_derecha)
    elif longit < 7:
        parte_izquierda = number[:longit-3]#Left(number, longit - 3)
        parte_derecha = number[-3:]#Right(number, 3)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'mil ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
            numero_leido = lee_numero(parte_izquierda) + ' mil ' + lee_numero(parte_derecha)
    elif longit < 13:
        parte_izquierda = number[:longit-6]#Left(number, longit - 6)
        parte_derecha = number[-6:]#Right(number, 6)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'un millón ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
            parte_izquierda = parte_izquierda
            if parte_izquierda[-1:] == '1':#If Right(parte_izquierda, 1) = '1' Then
                numero_leido = lee_numero(parte_izquierda)[:len(lee_numero(parte_izquierda))- 1] + ' millón ' + lee_numero(parte_derecha)#numero_leido = Left(lee_numero(parte_izquierda), Len(lee_numero(parte_izquierda)) - 1) + ' millón ' + lee_numero(parte_derecha)
            else:
                numero_leido = lee_numero(parte_izquierda) + ' millones ' + lee_numero(parte_derecha)
    elif longit < 25:
        parte_izquierda = number[:longit-12]#Left(number, longit - 12)
        parte_derecha = number[-12:]#Right(number, 12)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'un billón ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
                numero_leido = lee_numero(parte_izquierda) + ' billones ' + lee_numero(parte_derecha)
    elif longit < 49:
        parte_izquierda = number[:longit-24]#Left(number, longit - 24)
        parte_derecha = number[-24:]#Right(number, 24)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'un trillón ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
                numero_leido = lee_numero(parte_izquierda) + ' trillones ' + lee_numero(parte_derecha)
    elif longit < 97:
        parte_izquierda = number[:longit-48]#Left(number, longit - 48)
        parte_derecha = number[-48:]#Right(number, 48)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'un cuatrillón ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
                numero_leido = lee_numero(parte_izquierda) + ' cuatrillones ' + lee_numero(parte_derecha)
    elif longit < 193:
        parte_izquierda = number[:longit-96]#Left(number, longit - 96)
        parte_derecha = number[-96:]#Right(number, 96)
        if int(parte_izquierda) == 0:
            numero_leido = lee_numero(parte_derecha)
        elif int(parte_izquierda) == 1:
            numero_leido = 'un quintillón ' + lee_numero(parte_derecha)
        elif int(parte_izquierda) > 1:
                numero_leido = lee_numero(parte_izquierda) + ' quintillones ' + lee_numero(parte_derecha)
    return numero_leido.upper()[:1]+numero_leido.lower()[1:]

class CM(gtk.Dialog): # needs GTK, Python, Webkit-GTK
    def __init__(self,busqueda_inicial = None):
        #
        gtk.Dialog.__init__(self)
        self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.set_title('number-me')
        self.set_default_size(300, 225)
        self.connect('destroy', self.close_application)
        #
        self.vbox1 = gtk.VBox(spacing = 5)
        self.vbox1.set_border_width(5)
        self.get_content_area().add(self.vbox1)
        #
        self.hbox0 = gtk.HBox(spacing = 5)
        self.hbox0.set_border_width(5)
        self.vbox1.add(self.hbox0)
        #
        self.button0 = gtk.Button('?')
        self.button0.connect('clicked',self.menu_about_response)
        self.hbox0.pack_end(self.button0,False,True)
        #
        self.hbox1 = gtk.HBox(spacing = 5)
        self.hbox1.set_border_width(5)
        self.vbox1.add(self.hbox1)
        #
        self.label = gtk.Label('Número:')
        self.hbox1.pack_start(self.label,False,False)
        #
        self.entry = gtk.Entry()
        self.entry.connect("activate",self.numera)
        self.hbox1.pack_start(self.entry,True,True)
        #
        '''
        self.button = gtk.Button('Numérame')
        self.button.connect('clicked',self.numera)
        self.vbox1.pack_start(self.button,False,False)
        '''
        #
        self.frame0 = gtk.Frame()
        self.vbox1.pack_start(self.frame0,True,True)
        #
        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.set_size_request(200,180)
        self.scrolledwindow.set_border_width(2)
        self.frame0.add(self.scrolledwindow)
        self.textview =gtk.TextView()
        self.scrolledwindow.add(self.textview)#.pack_start(self.textview,True,True)
        #
        self.show_all()
        self.set_focus(self.entry)
        #
        #
        #
    def close_application(self, widget, event, data=None):
        exit(0)
      
    def menu_about_response(self,widget):
        ad=gtk.AboutDialog()
        ad.set_name('number-me')
        ad.set_version('0.2.0')
        ad.set_copyright('Copyrignt (c) 2011\nLorenzo Carbonell')
        ad.set_comments('Una aplicación para pasar de números a letras')
        ad.set_license(''+
        'This program is free software: you can redistribute it and/or modify it\n'+
        'under the terms of the GNU General Public License as published by the\n'+
        'Free Software Foundation, either version 3 of the License, or (at your option)\n'+
        'any later version.\n\n'+
        'This program is distributed in the hope that it will be useful, but\n'+
        'WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n'+
        'or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\n'+
        'more details.\n\n'+
        'You should have received a copy of the GNU General Public License along with\n'+
        'this program.  If not, see <http://www.gnu.org/licenses/>.')
        ad.set_website('http://www.atareao.es')
        ad.set_website_label('http://www.atareao.es')
        ad.set_authors(['Lorenzo Carbonell <lorenzo.carbonell.cerezo@gmail.com>'])
        ad.set_documenters(['Lorenzo Carbonell <lorenzo.carbonell.cerezo@gmail.com>'])
        #ad.set_logo(logo)
        #ad.set_logo_icon_name(icon_name)
        ad.set_program_name('number-me')
        ad.run()
        ad.hide()

    def numera(self,widget):
        number = ''
        base = self.entry.get_text()
        base = base.replace('.',',')
        if base.find(',')!=-1:
            entero = base.split(',')
            if len(entero[1])>0:
                number = lee_numero(entero[0]) + ' con ' +lee_numero(entero[1]).lower()
            else:
                number = lee_numero(entero[0])
        else:
            number = lee_numero(self.entry.get_text())
        clipboard = gtk.clipboard_get()
        clipboard.set_text(number)
        ttbuffer=gtk.TextBuffer()
        ttbuffer.set_text(number)
        self.textview.set_buffer(ttbuffer)
        self.textview.set_editable(False)
        self.textview.set_wrap_mode(gtk.WRAP_WORD)
        if number == '':
            self.entry.set_text('')
      
    def on_exit_activate(self,widget):
        exit(0)

if __name__ == "__main__":
    '''
    print lee_numero(0)
    print lee_numero(1)
    print lee_numero(12)
    print lee_numero(123)
    print lee_numero(1234)
    print lee_numero(12345)
    print lee_numero(1234567)
    print lee_numero(12345678)
    print lee_numero(123456789)
    print lee_numero(1234567890)
    print lee_numero(12345678901)
    print lee_numero(123456789012)
    '''
    cm = CM()
    cm.run()
    exit(0)

lunes, 7 de febrero de 2011

Generando texto pseudo-aleatorio mediante cadenas de Markov en python.

Primero, una breve definición de Wolfram:

A Markov chain is collection of random variables  (where the index  runs through 0, 1, ...) having the property that, given the present, the future is conditionally independent of the past.

In other words,
Por si no queda claro, la wikipedia viene en nuestra ayuda:
En teoría de la probabilidad, se conoce como cadena de Márkov a un tipo especial de proceso estocástico discreto en el que la probabilidad de que ocurra un evento depende del evento inmediatamente anterior. En efecto, las cadenas de este tipo tienen memoria. "Recuerdan" el último evento y esto condiciona las posibilidades de los eventos futuros. Esta dependencia del evento anterior distingue a las cadenas de Márkov de las series de eventos independientes, como tirar una moneda al aire o un dado.
 Las cadenas de Markov tienen múltiples aplicaciones (especialmente en el campo de la ciencia), pero nos centraremos en la generación de textos aleatorios pero legibles.

El algoritmo consiste en:
  1. Tomar un texto que nos servirá como fuente para establecer las cadenas y sus transiciones.
  2. Tomar dos palabras aleatorias y consecutivas del texto fuente. Estas constituyen la semilla del estado actual. En todo momento las dos últimas palabras son las que generan las subsiguientes cadenas.
  3. General la siguiente palabra de la cadena de transiciones de Markov. Para ello se usa el texto original, seleccionando al azar de entre las posibles soluciones de la cadena.
  4. Repetir hasta completar el texto.
El código en python es:
import random

class Markov(object):

    def __init__(self, open_file):
        self.cache = {}
        self.open_file = open_file
        self.words = self.file_to_words()
        self.word_size = len(self.words)
        self.database()


    def file_to_words(self):
        self.open_file.seek(0)
        data = self.open_file.read()
        words = data.split()
        return words


    def triples(self):
        """ Generates triples from the given data string. So if our string were
                "What a lovely day", we'd generate (What, a, lovely) and then
                (a, lovely, day).
        """

        if len(self.words) < 3:
            return

        for i in range(len(self.words) - 2):
            yield (self.words[i], self.words[i+1], self.words[i+2])

    def database(self):
        for w1, w2, w3 in self.triples():
            key = (w1, w2)
            if key in self.cache:
                self.cache[key].append(w3)
            else:
                self.cache[key] = [w3]

    def generate_markov_text(self, size=25):
        seed = random.randint(0, self.word_size-3)
        seed_word, next_word = self.words[seed], self.words[seed+1]
        w1, w2 = seed_word, next_word
        gen_words = []
        for i in xrange(size):
            gen_words.append(w1)
            w1, w2 = w2, random.choice(self.cache[(w1, w2)])
        gen_words.append(w2)
        return ' '.join(gen_words)
 Y su uso es (como ejemplo se usa el "My man jeeves" del Proyecto Gutemberg):
In [1]: file_ = open('/home/shabda/jeeves.txt')

In [2]: import markovgen

In [3]: markov = markovgen.Markov(file_)

In [4]: markov.generate_markov_text()
Out[4]: 'Can you put a few years of your twin-brother Alfred,
who was apt to rally round a bit. I should strongly advocate
the blue with milk'
 Cómo funciona el algoritmo:
  • Las dos últimas palabras forman el estado actual.
  • La siguiente palabra depende únicamente del estado actual (tan solo dos palabras).
  • La siguiente palabra es elegida al azar de las posibles cadenas extraídas del texto original.
Como ejemplo, del texto:
“The quick brown fox jumps over the brown fox who is slow jumps over the brown fox who is dead.”
Se extraen las cadenas:
{('The', 'quick'): ['brown'],
 ('brown', 'fox'): ['jumps', 'who', 'who'],
 ('fox', 'jumps'): ['over'],
 ('fox', 'who'): ['is', 'is'],
 ('is', 'slow'): ['jumps'],
 ('jumps', 'over'): ['the', 'the'],
 ('over', 'the'): ['brown', 'brown'],
 ('quick', 'brown'): ['fox'],
 ('slow', 'jumps'): ['over'],
 ('the', 'brown'): ['fox', 'fox'],
 ('who', 'is'): ['slow', 'dead.']}
Ahora si comenzamos con "brown fox" las opciones para la siguiente palabra son "jumps" o "who". Si se escoge "jumps", tenemos "fox jumps" cuyo siguiente eslabón de cadena es "over" y así se genera el texto.

Notas:
  • Cuanto mayor sea el texto fuente (y más complicado), mayor será el número de eslabones posibles, tendremos más elementos para elegir de entre los que forman una cadena y por tanto mejores serán los resultados del texto.
  • En este caso tomamos cadenas de dos elementos, pero a medida que tomamos un mayor número de palabras para el estado base, menor será la aleatoriedad aparente del texto (se forman menos galimatías).
  • No es aconsejable quitar los signos de puntuación del texto fuente, ya que serán incluidos en las cadenas dando lugar a mejores textos.