¿Qué es la computación cuántica, en que lenguaje se programa y cómo es su funcionamiento?  

Mucho antes de la partición de los smartphones finitos y súper poderosos, el científico Paul Benioff publicó un artículo que mostraba que era teóricamente posible construir un sistema mucho más potente del existente que se que pudiera esconder en un dedal: una computadora cuántica.

Llamado así por la física subatómica que pretendía aprovechar, el concepto que Benioff describió en 1980 todavía alimenta la investigación actual, incluidos los esfuerzos para construir el próximo gran avance en la informática: un sistema que podría hacer que una PC parezca un ábaco.

Richard Feynman, un ganador del Premio Nobel cuyas ingeniosas conferencias lograron que  la física tenga una amplia audiencia, ayudó a establecer el campo, esbozando cómo tales sistemas podrían simular fenómenos cuánticos peculiares de manera más eficiente que las computadoras tradicionales.  

Pero…  ¿Qué es la computación cuántica?

La computación cuántica es un enfoque sofisticado para realizar cálculos paralelos, utilizando la física que gobierna las partículas subatómicas, para reemplazar de esta manera los transistores más simples en las computadoras actuales.

Las computadoras cuánticas calculan usando qubits, unidades informáticas que pueden estar encendidas, apagadas o cualquier valor intermedio, en lugar de los bits de las computadoras tradicionales que están encendidas o apagadas, uno o cero.  La capacidad del qubit para vivir en el estado intermedio, llamado superposición, agrega una capacidad poderosa a la ecuación informática, lo que hace que las computadoras cuánticas sean superiores para algunos tipos de matemáticas.

¿Qué hace una computadora cuántica?

Usando qubits, las computadoras cuánticas podrían realizar cálculos que llevarían mucho tiempo a las computadoras clásicas, si es que pudieran terminarlos.

Por ejemplo, las computadoras actuales usan ocho bits para representar cualquier número entre 0 y 255. Gracias a características como la superposición, una computadora cuántica puede usar ocho qubits para representar cada número entre 0 y 255, simultáneamente.

Es una característica como el paralelismo en la computación: todas las posibilidades se calculan a la vez en lugar de secuencialmente, lo que proporciona enormes aceleraciones.

Entonces, mientras que una computadora clásica realiza cálculos de división larga uno por uno para factorizar un número gigantesco, una computadora cuántica puede obtener la respuesta en un solo paso.  ¡Voila!

Eso significa que las computadoras cuánticas podrían remodelar campos completos, como la criptografía, que se basan en factorizar lo que hoy en día son números imposiblemente grandes.

De hecho, los expertos dicen que, en última instancia, las computadoras cuánticas no reemplazarán a las computadoras clásicas, sino que las complementarán.  Y algunos predicen que las computadoras cuánticas se usarán como aceleradores tanto como las GPU aceleran las computadoras de hoy.

 

 ¿Cómo funciona la computación cuántica?

El puñado de sistemas que operan hoy en día generalmente requieren refrigeración que crea entornos de trabajo justo al norte del cero absoluto.  Necesitan ese ártico informático para manejar los frágiles estados cuánticos que alimentan estos sistemas. En una señal de lo difícil que puede ser construir una computadora cuántica, un prototipo suspende un átomo entre dos láseres para crear un qubit.  

La computación cuántica utiliza músculos nanohercúleos para crear algo llamado entrelazamiento.  Es entonces cuando existen dos o más qubits en un solo estado cuántico, una condición que a veces se mide con ondas electromagnéticas de solo un milímetro de ancho.

Sube esa onda con demasiada energía y pierdes el enredo o la superposición, o ambos.  El resultado es un estado ruidoso llamado decoherencia, el equivalente en computación cuántica de la pantalla azul de la muerte.

¿Qué es una QPU?

Una QPU, también conocida como procesador cuántico, es el cerebro de una computadora cuántica que usa el comportamiento de partículas como electrones o fotones para hacer ciertos tipos de cálculos mucho más rápidos que los procesadores de las computadoras actuales.  Así como las GPU y las DPU permiten la computación acelerada en la actualidad, también están ayudando a un nuevo tipo de chip, la QPU, a impulsar la promesa de la computación cuántica.

En su mano, una unidad de procesamiento cuántico puede verse y sentirse muy similar a una unidad de procesamiento de gráficos o datos.  Todos son típicamente chips o módulos con múltiples chips, pero bajo el capó, la QPU es una bestia muy diferente.

¿Cómo se programa un procesador Quantum?

El software para computación cuántica aún está en pañales.

Gran parte parece el tipo de código de lenguaje ensamblador que los programadores tuvieron que trabajar en los primeros días de las computadoras clásicas.  Es por eso que los desarrolladores deben comprender los detalles del hardware cuántico subyacente para que sus programas funcionen.  Pero aquí también hay signos reales de progreso hacia el santo grial: un entorno de software único que funcionará en cualquier supercomputadora, una especie de sistema operativo cuántico.

Varios proyectos iniciales están en proceso.  Todos luchan con las limitaciones del hardware actual;  algunos se ven obstaculizados por los límites de las empresas que desarrollan el código.

Por ejemplo, algunas empresas tienen una gran experiencia en computación empresarial pero carecen de experiencia en el tipo de entornos de alto rendimiento donde se realizará gran parte del trabajo científico y técnico en computación cuántica.  Otros carecen de experiencia en IA, que tiene sinergias con la computación cuántica.

 ¿En que lenguaje se basa la computación cuántica ?

Q# Es el nombre del lenguaje de programación open source de Microsoft que sirve para desarrollar y ejecutar algoritmos cuántico. La empresa posee un Kim de desarrollo denominado Quantum (QDK), un SDK que ofrece un conjunto de herramientas que le ayudan en el proceso de desarrollo de software cuántico.

Fuente: nvidia blog , Microsoft