Computación Cuántica en JavaScript con Q.js

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Cualquiera puede aprender computación cuántica! Únete a Stewart Smith mientras describe su proyecto de pasión de código abierto, Q.js. ¿Qué es exactamente una computadora cuántica? ¿Para qué sirve? ¿Y cómo encaja Quantum JavaScript? Si bien esta charla es para cualquier persona curiosa acerca de la computación cuántica, resonará especialmente con programadores, sobrevivientes de álgebra de secundaria y nerds de la música.

This talk has been presented at JSNation 2022, check out the latest edition of this JavaScript Conference.

FAQ

La biblioteca de controladores de realidad virtual para 3JS fue diseñada para ofrecer una forma fácil y genérica de permitir que aplicaciones de realidad virtual basadas en la web soporten una variedad de controladores de mano, sin necesidad de escribir código específico para cada uno.

Open Quantum Club (OQC) es un proyecto dirigido a crear una comunidad de entusiastas de la computación cuántica. A través de un sitio web, presenta perfiles e entrevistas con personas de la comunidad, enfocándose en la humanidad detrás de las matemáticas y compartiendo esperanzas y sueños colectivos.

Quantum JavaScript se puede utilizar programando y diseñando circuitos cuánticos directamente desde el navegador. Ofrece una interfaz interactiva de arrastrar y soltar y también permite la edición de circuitos a través de código JavaScript, facilitando la experimentación con simulaciones cuánticas en tiempo real.

La computación cuántica utiliza dispositivos como computadoras cuánticas superconductoras que operan a temperaturas extremadamente bajas. Estos dispositivos manipulan pares de electrones para representar datos y realizar cálculos, y están conectados a internet permitiendo su uso remoto para ejecutar programas cuánticos.

No se requiere conocimiento previo en física cuántica para usar QJS. Está diseñado para ser accesible para programadores con conocimientos básicos de matemáticas de la escuela secundaria, facilitando el aprendizaje y la experimentación con computación cuántica.

Quantum JavaScript, o QJS, es un sitio web y repositorio de código que incluye una interfaz de composición de circuitos cuánticos de arrastrar y soltar, un simulador de circuitos cuánticos y una API. Permite ejecutar simulaciones cuánticas directamente en dispositivos personales sin necesidad de hardware cuántico real, facilitando la familiarización con conceptos cuánticos, especialmente para programadores sin fondo en física.

Stewart Smith
Stewart Smith
26 min
20 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Stuart Smith discute su viaje en realidad virtual y computación cuántica, destacando su trabajo en realidad virtual web y la creación de Quantum JavaScript. Presenta QGS, una plataforma para tutoriales y experimentación cuántica, y explica el concepto de qubits y superposición. Smith también menciona Amazon Bracket, un servicio cuántico que permite la construcción y ejecución de circuitos cuánticos en simuladores o hardware cuántico real.

1. Introducción al viaje de realidad virtual de Stuart Smith

Short description:

Hola, soy Stuart Smith. He sido parte de la comunidad de realidad virtual durante bastante tiempo. Me involucré en web VR cuando construir realidad virtual basada en la web significaba pedirle a Brandon Jones de Google compilaciones personalizadas de Chromium. Lanzé Space Rocks, un homenaje personal al clásico Asteroids de Atari de 1979, pero en realidad virtual, por supuesto. También escribí HandyJS para grabar y reconocer poses de manos sobre la marcha. También he trabajado mucho fuera de la realidad virtual. Soy educado como diseñador gráfico y artista. He trabajado como artista comisionado y he tenido obras de arte expuestas en varias galerías y museos. También soy un músico mediocre a terrible de toda la vida.

Algunos de ustedes ya me conocen por mi trabajo diario. He sido parte de la comunidad de realidad virtual community durante bastante tiempo. Especialmente la comunidad de realidad virtual basada en la web.

Me involucré en web VR cuando construir realidad virtual basada en la web significaba pedirle a Brandon Jones de Google compilaciones personalizadas de Chromium. El medio se sentía realmente fresco y emocionante. Y en ese momento, escribí la biblioteca de controladores de realidad virtual para 3JS. Proporcionaba una forma fácil y genérica para que tu aplicación de realidad virtual basada en la web admitiera una variedad de diferentes controladores de mano sin tener que escribir código personalizado para cada uno. Así que en ese momento, eso significaba, ya sabes, los primeros controladores de Vive, los controladores de realidad mixta de Microsoft, Rift Touch, ¿y recuerdas Gear VR? Y todas esas cosas.

En el equipo de Google Data Arts, utilizamos la biblioteca de controladores de realidad virtual para alimentar este video musical de realidad virtual para la banda LCD Sound System. Podías bailar al ritmo de la canción en realidad virtual, y luego una grabación de tu baile se convertiría en parte del propio video. Así que un saludo a nuestros colaboradores y las verdaderas estrellas de ese proyecto, Studio Moniker y Studio Pucky. Búscalos a ambos.

También lancé Space Rocks, un homenaje personal al clásico Asteroids de Atari de 1979, pero en realidad virtual, por supuesto. Tomé mi biblioteca de controladores de realidad virtual y agregué algo que llamé retroalimentación háptica de múltiples canales. Lo que facilitó mucho agregar comandos hápticos complejos a tu aplicación de realidad virtual basada en la web. Por ejemplo, si querías retroceso al disparar tu láser, pero también necesitabas sentir el zumbido de tus motores de plasma acelerando y desacelerando, bueno, mi enfoque de canales hápticos lo hacía muy fácil. Solo unos años después, Oculus mejoró el juego al agregar una API de seguimiento de manos para realidad virtual basada en la web. Inmediatamente escribí HandyJS. Para grabar y reconocer poses de manos sobre la marcha. Así que en lugar de solo gestos de pellizco para seleccionar cosas, con HandyJS podías reconocer fácilmente todo el alfabeto de deletreo de dedos en lenguaje de señas y algo más. Las pistolas de dedo eran lo más divertido, obviamente. Esta biblioteca no requiere ningún machine learning en absoluto. En serio, no hay ninguna red dentro de Handy, es algo de magia de agrupamiento k-means. Y es increíblemente rápido.

He hecho mucho trabajo fuera de la realidad virtual también. Comencé a programar cuando era bastante joven, pero soy educado como diseñador gráfico y artista. No estudié ciencias de la computación. He trabajado como artista comisionado y he tenido obras de arte expuestas en varias galerías y museos. También soy un músico mediocre a terrible de toda la vida.

2. El viaje de Stuart Smith en la computación cuántica

Short description:

Soy el jefe de realidad aumentada para consumidores en Unity, pero estoy aquí para hablar de mi interés apasionado, la computación cuántica. Soy el creador de Quantum JavaScript y el fundador de Open Quantum Club. QGS es un sitio web, repositorio de código fuente, interfaz de composición de circuitos de arrastrar y soltar, simulador de circuitos cuánticos, biblioteca de código, API, introducciones conceptuales y una comunidad creciente de entusiastas. Estoy comenzando OQC, un proyecto que presenta perfiles y entrevistas con personas de la comunidad cuántica. Estén atentos para más información al respecto. La computación cuántica es un tanque cilíndrico suspendido, con diferentes arquitecturas como fotones polarizados, iones atrapados y superconductores.

Y en este momento, soy el jefe de realidad aumentada para consumidores en Unity. Todos conocen Unity, ¿verdad? Nuestro motor de juegos se trata de proporcionar renderizado en 3D en tiempo real para las masas. El 70% de los juegos móviles del mundo se hacen con Unity. Y no solo somos el 70% de los juegos móviles, sino la mitad de todos los juegos. Así que si juegas juegos, seguro has jugado algo hecho con Unity. Pero no estoy aquí para hablar de nada de eso. Estoy aquí para hablar de mi interés apasionado en mis noches y fines de semana, la computación cuántica. Soy el creador y mantenedor de Quantum JavaScript, o QGS para abreviar. Y soy el fundador de Open Quantum Club.

¿Qué es exactamente todo esto? Bueno, profundicemos en QGS por un momento. En realidad, es varias cosas a la vez. Es este sitio web y el repositorio de código fuente correspondiente. Es esta interfaz de composición de circuitos de arrastrar y soltar en particular. Es un simulador de circuitos cuánticos. Por lo tanto, todos los mecanismos internos que te permiten ejecutar simulaciones de circuitos cuánticos directamente en tu teléfono o computadora portátil sin tener hardware cuántico real en tus manos. Es toda esa biblioteca de código y la API correspondiente. Son las introducciones conceptuales que están ahí para ayudarte a familiarizarte rápidamente con cosas cuánticas. Especialmente si eres como yo, sin antecedentes en física real, sin antecedentes cuánticos, solo un programador casual con algo de matemáticas de la escuela secundaria. Resulta que eso es todo lo que necesitas para comenzar a experimentar con estas cosas. También es la documentación de la API de qJS, porque ¿de qué sirve una biblioteca si no sabes cómo usarla? Y cuando juntas todas estas cosas, obtienes una pequeña pero creciente comunidad de entusiastas que también se han enamorado de esta idea ridícula de fusionar lo cuántico y los navegadores web, porque JavaScript ya era lo suficientemente caótico por sí solo. Y para esta comunidad, estoy comenzando algo llamado OQC, Open Quantum Club. Este es un proyecto que estoy iniciando ahora mismo a través de un sitio web que presentará perfiles y entrevistas con personas de la comunidad cuántica. El enfoque especial aquí estará en la humanidad detrás de las matemáticas. ¿Quiénes son las personalidades? ¿Cuáles son nuestras esperanzas y sueños colectivos? Así que estén atentos para más información al respecto a medida que avanzamos hacia 2023.

Y bueno, eso está muy bien, ¿verdad? Pero, ¿qué es exactamente la computación cuántica? ¿Qué es incluso una computadora cuántica? Esto. Esta es una computadora cuántica aquí mismo. Este tanque cilíndrico suspendido que ves. Hay diferentes tipos de arquitecturas de computadoras cuánticas, fotones polarizados, iones atrapados, superconductores. En este momento, las computadoras cuánticas superconductoras, como la que ves aquí, son las más populares.

3. Dentro de la Computadora Cuántica

Short description:

Las computadoras cuánticas superconductoras requieren un frío extremo para funcionar. La computación cuántica real ocurre en un chip diminuto. Una computadora cuántica es como una tarjeta gráfica, calculando gráficos. Empresas como IBM, Rigetti y Google conectan estos monstruos dorados a internet para llevar a cabo tareas de computación cuántica.

Son utilizadas por empresas como IBM, Rigetti y Google. Las computadoras cuánticas superconductoras requieren un frío extremo para funcionar, apenas un poco por encima del cero absoluto. Lo que estamos viendo aquí es en realidad el tanque de refrigeración que contiene las partes de cómputo. Echemos un vistazo dentro de ese tanque.

Aquí vemos a alguien realizando el mantenimiento de las partes que normalmente estarían cubiertas por el tanque de refrigeración durante la operación. Algunos lo llaman el candelabro dorado. Todo este hardware intrincado dentro del tanque de refrigeración se utiliza para enfriar a temperaturas muy bajas y manipular suavemente los pares de electrones. Utilizando la naturaleza cuántica de este entorno interno para representar datos y realizar cálculos en esos datos. Aquí hay una foto glamorosa de un candelabro dorado. Me han dicho que hay un revestimiento de oro real aquí para fines de prevención térmica y corrosión, pero lo que estamos viendo es principalmente aleaciones de cobre. Aún así, es bastante bonito.

La computación cuántica real ocurre aquí mismo, en este diminuto chip. Se encuentra en la parte inferior, la parte más fría del candelabro. Aquí es donde realmente manipulas y mides el estado de tus pares de electrones. Y para ser claro, este hardware no realiza ninguna especie de magia. Nuestro universo ya es cuántico por naturaleza. Nosotros, los humanos, somos simplemente demasiado grandes y nuestro entorno es demasiado ruidoso para poder observar los efectos cuánticos directamente. Es por eso que tenemos que crear hardware realmente intrincado que pueda hacer que estos efectos sean visibles y útiles para nosotros.

De acuerdo, pero es posible que notes que esta supuesta computadora no parece tener un teclado, un mouse o incluso un monitor. Definitivamente es una computadora, pero no en el sentido en que comúnmente usamos esa palabra. Tiene más sentido pensar en una computadora cuántica como una tarjeta gráfica. Si no estás familiarizado con las tarjetas gráficas, aquí tienes una, la insertas en la placa madre de tu computadora y se encarga de todo el renderizado gráfico complejo que tu máquina pueda necesitar hacer. Si te gustan los videojuegos de alta gama, probablemente te hayas preocupado por lo potente que es tu tarjeta gráfica. Ahora, nunca usamos la frase `computadora gráfica`, aunque eso es realmente lo que es. Calcula gráficos.

Entonces, aquí tenemos una situación similar. Una computadora cuántica es realmente un componente de cómputo. En lugar de insertarlo en la placa madre de tu computadora como una tarjeta gráfica, empresas como IBM, Rigetti, Google, etc., conectan estos monstruos dorados a internet y puedes enviarles tareas de computación cuántica para que las lleven a cabo. Ejecutarán tu programa y luego te enviarán los resultados finales. Y este paradigma ha existido desde siempre, ¿verdad? Tal vez lo pienses como computación en la nube o tiempo compartido. Cuando Pixar o Weta están renderizando sus imágenes generadas por computadora para su próxima película de éxito, no las renderizan en una sola computadora en la oficina.

4. Computación Cuántica y QGS

Short description:

De ninguna manera, es demasiado complejo. En cambio, enviarán esa tarea a lo que se llama una granja de renderizado, bastidores y bastidores de hardware informático sin procesar al que se puede acceder de forma remota. A menos que estés en una universidad o una gran corporación, escribirás un programa cuántico directamente en tu computadora portátil o teléfono y lo enviarás por internet para que se ejecute de forma remota en hardware cuántico real. Digamos que este círculo representa la física cuántica. Aquí está todo el conocimiento sobre cómo se comporta realmente el universo. Y aquí está la computación cuántica. Esto es solo matemáticas y lógica. No necesitas saber nada sobre electrones, superconductores o cualquier otra cosa. Entonces, todo ese hardware cuántico que compone una computadora cuántica, en realidad es esta intersección aquí. Es física y ingeniería real al servicio de crear una máquina que pueda realizar cálculos. Y eso es genial. Todo es genial. Pero aquí es donde realmente se encuentra QGS. No soy físico. No soy ingeniero. QGS no es hardware. Es solo software. Entonces, no hay física, solo computación.

De ninguna manera, es demasiado complejo. En cambio, enviarán esa tarea a lo que se llama una granja de renderizado, bastidores y bastidores de hardware informático sin procesar al que se puede acceder de forma remota. Y ese es el modelo comercial para usar computadoras cuánticas hoy en día.

A menos que estés en una universidad o una gran corporación, ya sabes, construyendo este hardware tú mismo, escribirás un programa cuántico directamente en tu computadora portátil o teléfono y lo enviarás por internet para que se ejecute de forma remota en hardware cuántico real como este. Y luego los resultados de esa ejecución cuántica te serán enviados cuando estén listos.

Ahora, acabamos de hablar sobre hardware cuántico, y volveremos a tocar el tema del hardware cuántico en unos minutos. Pero quiero dejar algo claro. Digamos que este círculo representa la física cuántica. Aquí está todo el conocimiento sobre cómo se comporta realmente el universo. Fotones, electrones, localidad, tolerancias, termodinámica, paquetes de luz, y así sucesivamente. Y aquí está la computación cuántica. Esto es solo matemáticas y lógica. No necesitas saber nada sobre electrones, superconductores o cualquier otra cosa. Esto es solo programación de computadoras.

Ahora, esa afirmación puede frustrar a las personas que entienden ambos océanos de conocimiento, pero no necesitas saber cómo funciona la electricidad para crear un sitio web, ¿verdad? Lo mismo ocurre aquí. No necesitas conocer la física en realidad para escribir código. Entonces, todo ese hardware cuántico que compone una computadora cuántica, en realidad es esta intersección aquí. Es física e ingeniería real al servicio de crear una máquina que pueda realizar cálculos. Y eso es genial. Todo es genial. Pero aquí es donde realmente se encuentra QGS. No soy físico. No soy ingeniero. QGS no es hardware. Es solo software. Entonces, no hay física, solo computación. Siendo honestos, mi conocimiento personal se parece más a esto. Charcos aleatorios de conocimiento en lugar de un vasto océano. Pero también esto. Porque los humanos somos criaturas hermosamente desordenadas y sin sentido.

5. Explorando QGS y Quantum JavaScript

Short description:

Aprender es un viaje y todavía estoy al comienzo de mi viaje cuántico. QGS se ha construido hasta ahora sobre estos charcos irregulares de conocimiento. Hablemos de QGS en sí. Es el centro de toda la experiencia cuántica, con tutoriales cuánticos, documentación de API y un espacio de juego para experimentar con circuitos cuánticos. Quantum JavaScript permite construir circuitos interactivos y programar circuitos con JavaScript. Puedes combinar los dos para experimentos más avanzados.

Aprender es un viaje y todavía estoy al comienzo de mi viaje cuántico, creo. Si piensas que esto es emocionante pero te preocupa no ser físico, que no entiendes la mecánica cuántica, todo QGS se ha construido hasta ahora sobre estos charcos irregulares de conocimiento. Estás en buena compañía. Únete a mí en los charcos.

Como dije, volveremos a tocar el tema del hardware en un momento. Pero por ahora, hablemos de QGS en sí. Este es el sitio web de QGS, realmente el centro de toda la experiencia cuántica. Hay tutoriales cuánticos, documentación de API y es un espacio de juego para experimentar con circuitos cuánticos. En la industria se les llama circuitos, así que eso es lo que los llamo aquí. Pero puede ser más útil pensar en ellos como programas, solo código, solo software.

Voy a mostrarles un video de demostración rápido que hice hace un tiempo para mostrar algunas de las características de QGS. Así que mantengan sus ojos pegados al video mientras aprovecho esta oportunidad para tomar un sorbo rápido de agua. Ok, bien. Quantum JavaScript. Comienza con esta interfaz interactiva de construcción de circuitos que se ejecuta directamente en tu navegador web. Y explicaré qué son estas cosas en un momento, pero primero te mostraré cómo funciona en la práctica. Podemos seleccionar todo y desecharlo para empezar de nuevo. También tenemos un botón de deshacer aquí, lo cual es genial, y también un botón de bloqueo para que podamos bloquear nuestro circuito y no podamos arruinarlo, no podemos seleccionar cosas, no podemos desechar cosas, lo cual es aún más útil en una interfaz móvil donde no hay un estado de hover y selección.

Solo estás, estás tocando, tal vez estás tocando un desplazamiento, tal vez estás tocando sin querer, y definitivamente no quieres arruinar un circuito que has compuesto cuidadosamente. Pero en este caso, podemos agregar una compuerta de identidad y tal vez una compuerta X poli y seleccionarlas y combinarlas para hacer una compuerta controlada aquí. Y lo que acabamos de crear aquí es un estado de Bell. E incluso si no entiendes nada de esto, puedes ver los resultados de probabilidad en vivo que se actualizan en tiempo real a medida que hacemos cambios. Así que es genial que puedas arrastrar y soltar cosas juntas. Pero también puedes programar cosas, programar circuitos con JavaScript. Y lo que es aún más que eso es que puedes combinar los dos. Así que si abrimos nuestra consola de JavaScript aquí. Déjame borrarlo. Dice que este circuito es accesible en nuestra consola. Así que probémoslo. Veamos.

6. Explorando la interfaz de circuito de QGS

Short description:

Podemos construir rápidamente un estado de Bell y editar el circuito para obtener una salida real. Podemos agregar compuertas y cambiar entre el código y la interfaz de arrastrar y soltar. Diseñar una interfaz de usuario se trata de hacer las tareas más fáciles y eficientes para nosotros, los seres humanos.

Obtenemos un circuito de vuelta. Hagámoslo un poco más grande. Veamos cómo se ve ese circuito. Podemos obtener un diagrama de él. No es muy interesante cuando tenemos un circuito en blanco. Pero aquí, podemos construir rápidamente ese estado de Bell nuevamente. Y puedes ver, mientras estoy editando el circuito, estamos obteniendo una salida real así de fácil. Y aquí, déjame desplazarme hacia arriba. Así que en realidad podemos ver que este diagrama ASCII se parece mucho a lo que tenemos aquí, ¿verdad? Y eso es bastante genial. Y lo que es aún más genial es que podemos comenzar a hacer cosas como, digamos que queremos agregar una de esas compuertas H. Esa es una compuerta Hadamard, y hablaremos de eso en un segundo. Agreguémoslo al momento tres en el cable tres, lo cual debería ponerlo justo ahí. Veamos si podemos hacer eso. Oh, y ahí está. Así que en realidad podemos saltar hacia atrás y hacia adelante entre el código y la interfaz de arrastrar y soltar. Así que no se trata de simplificar algo, para nada. Con QGS, tienes acceso a este circuito cuántico tanto a través del código como de la interfaz de arrastrar y soltar. Y puedes cambiar fluidamente entre ambos según lo que requiera menos carga cognitiva en ese momento. Digamos que necesito deshacerme de todo aquí en el momento dos. Ciertamente podría codificar eso, o simplemente podría seleccionarlo y desecharlo. Así que solo quiero enfatizar que diseñar una interfaz de usuario y ofrecer imágenes para ver y hacer clic nunca se trata de simplificar algo. Se trata de hacer las tareas más fáciles y eficientes para nosotros, los seres humanos, que lo requerimos. Y ahí está.

7. Introducción a los Conceptos Cuánticos

Short description:

Debatí si debería intentar incluir un curso intensivo sobre conceptos cuánticos en una charla de 20 minutos, pero llevaría aproximadamente una hora. En cambio, les daré un pequeño adelanto y los animaré a visitar el sitio de QGIS y explorar los enlaces y referencias para obtener más información.

Veamos. Ahora debatí si debería o no intentar incluir un curso intensivo sobre conceptos cuánticos en una charla de 20 minutos, pero creo que me llevaría alrededor de una hora explicarles cómodamente todo esto, y se vuelve un poco matemático. Así que en su mayoría los voy a ahorrar, excepto por esto. Quiero darles un pequeño adelanto de lo que está sucediendo aquí, y espero que eso sea lo suficientemente intrigante como para que visiten el sitio de QGIS por su cuenta para obtener más información. Y aún mejor, revisen nuestra lista de enlaces y referencias para que puedan sumergirse directamente en algunas buenas fuentes de materiales por su cuenta.

8. Introducción a los Qubits

Short description:

Los qubits son simplemente un par de números que representan las probabilidades de que un bit sea 0 o 1. Alpha y beta son los dos números que componen un qubit, y su suma siempre debe ser del 100%.

Aquí vamos. Esta es una página real del sitio web de QGIS que describe los qubits y lo que son. Y comienza diciendo que los qubits son simplemente un par de números. Entonces, un bit cuántico, la unidad más pequeña que se utiliza para la computación cuántica, puede representarse mediante un par de números. Ahora, físicamente puedes representar tus qubits utilizando fotones u otra cosa. Pero matemáticamente, son solo dos números. Eso es todo. Podemos llamar a uno alpha y al otro beta. Y lo que hace especial a este par de números es su relación entre sí. Y aquí está. Alpha al cuadrado más beta al cuadrado siempre debe ser igual a 1. Y la razón es porque alpha y beta representan las probabilidades de que un bit sea 0 o 1, encendido o apagado. Y la suma de esas probabilidades siempre debe ser del 100%, ¿verdad? Al final, hay un resultado.

9. Explorando los Qubits y Amazon Bracket

Short description:

Aquí podemos encontrar más información sobre los qubits, incluyendo sus nombres, descripciones detalladas, notación ket y la representación en la esfera de Bloch. La superposición es simplemente un estado donde los resultados tienen una mezcla de probabilidades, no solo sí o no. La biblioteca tiene peculiaridades intencionales, como el uso de un signo de dólar para indicar la mutación del estado. Además, se menciona Amazon Bracket, un servicio cuántico al que se puede acceder a través de un cuaderno Jupyter, que permite construir y ejecutar circuitos cuánticos en simuladores o hardware cuántico real.

Y aquí podemos simplemente desplazarnos hacia abajo. Puedes ver que hay mucha más información aquí, descripciones de por qué los qubits tienen ciertos nombres, descripciones detalladas de por qué algunos se consideran encendidos y otros se consideran apagados, notación ket, todo tipo de cosas que solo estoy pasando por alto aquí. Pero realmente puedes dedicar tu propio tiempo y conocerlos.

Y esto es lo que más me gusta aquí, es la representación en la esfera de Bloch de un qubit. Así que podemos ver este qubit horizontal, que se considera 0 o apagado, y el qubit vertical, que es su inverso. Así que esto se considera encendido. Y también tenemos todos estos otros estados. Podemos girar alrededor del reloj aquí y ver diferentes estados de qubit. Y los qubits son realmente solo matrices y vectores. Y esto tendrá mucho más sentido en contexto cuando veas compuertas y circuitos.

Una cosa que quería mencionar rápidamente antes de pasar a otra cosa es la superposición. Probablemente hayas escuchado algunas cosas como que la superposición significa que dos cosas suceden al mismo tiempo o tal vez ninguna sucede o algo así. La superposición simplemente significa un estado donde la probabilidad de los resultados no es 100% sí o no, es una mezcla, eso es todo. Me gusta desmitificar la superposición porque hay mucha basura científica popular en torno a ella que realmente no se traduce una vez que aprendes las matemáticas.

Otra cosa que quiero mencionar aquí son algunas peculiaridades intencionales de esta biblioteca. Por ejemplo, al usar la sintaxis detallada para hacer cosas con los qubits, notarás que algunos comandos tienen un signo de dólar, por ejemplo, al final. Esto es una señal de advertencia de la API. Si usas el signo de dólar, estás mutando tu estado, estás sobrescribiendo el valor de esa variable. Puedes ver un ejemplo aquí donde se suma gato y perro y es destructivo, ¿verdad? Observa el sufijo del signo de dólar en contraposición a la versión no destructiva que no cambiará el valor de gato. Así que ese es solo un ejemplo de algunas de las cosas divertidas que puedes encontrar mientras exploras.

Y, ah, cierto. Dije que volvería a mencionar el hardware cuántico y aquí está. Tuve la oportunidad de trabajar en Amazon por un tiempo en su división de servicios web y resulta que Amazon estaba trabajando en un servicio cuántico llamado Amazon Bracket. Puedes acceder a Bracket a través de un cuaderno Jupyter preparado. Quizás algunos de ustedes estén familiarizados con Jupyter por hacer machine learning. De todos modos, aquí hay una pequeña demostración video que hice unos meses antes del lanzamiento de Bracket utilizando la interfaz de QGIS para controlarlo. Así que aquí tengo un cuaderno Jupyter con Amazon Bracket cargado lo que significa que puedo usar código Python, Bracket es una biblioteca de Python, y puedo usarlo para construir circuitos cuánticos que luego puedo ejecutar en un simulador en la nube, o puedo ejecutar en hardware cuántico porque Amazon se ha asociado con diferentes proveedores de hardware cuántico. Y así podemos hacer eso, podemos ofrecer eso a nuestros clientes y eso es bastante emocionante. Pero lo que también es emocionante es esto, con solo unas pocas líneas de HTML, realmente dos líneas de HTML, puedo inyectar QJS en este cuaderno Jupyter, ahora está inyectado, y ahora puedo inyectar mi compositor de circuitos cuánticos. Y este compositor, que debería resultar muy familiar, está escribiendo código de Bracket.

10. Ejecutando Circuitos Cuánticos

Short description:

Este es un código Python de Bracket que se puede ejecutar en un simulador o en hardware cuántico real. Demuestra un circuito de lanzamiento de moneda utilizando las compuertas Hadamard y CNOT. La simulación se ha ejecutado 100 veces, con resultados aproximadamente equitativos de 00 y 11.

Este es en realidad un código Python de Bracket, que actualmente está configurado para ejecutarse en el simulador en la cloud para obtener resultados más rápidos. Pero si quisieras, podrías cambiar el dispositivo en el que se está ejecutando, y realmente ejecutar esto en hardware cuántico y obtener resultados cuánticos reales. Así que echa un vistazo. Aquí abajo puedes ver donde dice que nuestro circuito QJS es igual a un nuevo circuito y tiene una compuerta de identidad como marcador de posición. Esto es código de Bracket, y estamos a punto de ver cómo cambia a medida que compongo cosas. Mira eso, mira cómo puso una compuerta Hadamard y creó una compuerta CNOT. Y podemos tomar eso y ejecutarlo. Lo que tenemos aquí es un circuito de lanzamiento de moneda. Y estamos esperando la salida que regrese desde la cloud. Entonces, Hadamard coloca al qubit en un estado de superposición. Y luego esto distribuye esa superposición al qubit en el segundo registro aquí. Y así, nuestras dos posibles resultados son 00 y 11. Y puedes ver, hemos obtenido un resultado del simulador. Se ha ejecutado esa simulación 100 veces, que es un número personalizable. Y ha regresado aproximadamente 54 veces, ha salido 00 y 46 veces, ha salido 11.

11. Usando QJS para Construir y Ejecutar Circuitos Cuánticos

Short description:

Podemos usar la interfaz de arrastrar y soltar de QJS para construir circuitos y obtener informes en tiempo real. Puede generar código de Amazon Bracket para ejecutar en simuladores o hardware cuántico real. QJS permite controlar hardware cuántico real, lo que hace que la computación cuántica sea accesible para todos. Participa en el proyecto y explora los recursos disponibles.

Así que aquí está el trato. Podemos arrastrar y soltar y construir circuitos a nuestro gusto utilizando la interfaz de arrastrar y soltar de QJS. Incluso podemos editar eso y obtener informes en tiempo real en la consola de JavaScript, y está generando código de Amazon Bracket, que podemos ejecutar en un simulador o en hardware cuántico real. Así que eso es bastante genial. Es bastante genial. Eso mismo demuestra que puedes usar QJS para controlar hardware cuántico real. Y para mí, eso es realmente especial.

Muy bien, vamos a terminar. Entonces, amigos, aquí es donde puedo necesitar tu ayuda. QJS es de código abierto. Está en GitHub. ¿Te gusta JavaScript? ¿Te gusta la computación cuántica? Puedes unirte directamente. Y hay problemas abiertos que puedes revisar. Discusiones en curso que podrían necesitar tu voz. Hay mucha documentación y es fácil comenzar. Lo juro. Y hey, si he dicho algo perspicaz o inteligente sobre la computación cuántica, es solo porque estoy canalizando a estas personas aquí mismo. Así que búscalos. Tienen videos, libros, cursos, y más. Y como siempre, MIT OpenCourseWare y las conferencias de Stanford Video son excelentes recursos gratuitos.

Soy Stuart Smith. Esto ha sido Quantum JavaScript. Puedes probarlo ahora mismo en tu navegador web favorito. Simplemente ve a quantumjavascript.app. Desde allí, encontrarás todo, incluido el repositorio de GitHub. Por favor, involúcrate en este proyecto. Quiero hacer que la computación cuántica sea accesible para todos. Vale la pena repetirlo. Quiero hacer que la computación cuántica sea accesible para todos. Así que hagámoslo. ♪ Sí, sí, sí, sí, sí, sí, sí, sí ♪ ♪ Sí, sí, sí, sí, sí, sí, sí, sí, sí ♪

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.
Construyendo Interfaces Controladas por el Cerebro en JavaScript
JSNation Live 2021JSNation Live 2021
27 min
Construyendo Interfaces Controladas por el Cerebro en JavaScript
Top Content
Learn how to build brain-controlled interfaces using JavaScript and brain sensors. Understand the functions of different parts of the brain and how they relate to sensor placement. Explore examples of calm and focus detection, as well as the Kinesis API for mental commands. Discover the applications of brain-controlled interfaces, such as scrolling web pages and password-less authentication. Understand the limits and opportunities of brain control and the potential for using brain sensors in medical applications.
¿Webpack en 5 años?
JSNation 2022JSNation 2022
26 min
¿Webpack en 5 años?
Top Content
In the last 10 years, Webpack has shaped the way we develop web applications by introducing code splitting, co-locating style sheets and assets with JavaScript modules, and enabling bundling for server-side processing. Webpack's flexibility and large plugin system have also contributed to innovation in the ecosystem. The initial configuration for Webpack can be overwhelming, but it is necessary due to the complexity of modern web applications. In larger scale applications, there are performance problems in Webpack due to issues with garbage collection, leveraging multiple CPUs, and architectural limitations. Fixing problems in Webpack has trade-offs, but a rewrite could optimize architecture and fix performance issues.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
Workshop
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
Workshop
Gleb Bahmutov
Gleb Bahmutov
Esta masterclass te enseñará los conceptos básicos para escribir pruebas end-to-end útiles utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, cubriendo cada característica de la aplicación, estructurando pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquiera que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir adelante.
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
React Day Berlin 2023React Day Berlin 2023
149 min
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
Workshop
Maurice de Beijer
Maurice de Beijer
¡Prepárate para potenciar tus habilidades de desarrollo web con los Componentes del Servidor React! En esta inmersiva masterclass de 3 horas, desbloquearemos el potencial completo de esta tecnología revolucionaria y exploraremos cómo está transformando la forma en que los desarrolladores construyen aplicaciones web rápidas y eficientes.
Únete a nosotros mientras nos adentramos en el emocionante mundo de los Componentes del Servidor React, que combinan sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y una experiencia de usuario inigualables. Obtendrás experiencia práctica a través de ejercicios prácticos, ejemplos del mundo real y orientación experta sobre cómo aprovechar el poder de los Componentes del Servidor en tus propios proyectos.
A lo largo de la masterclass, cubriremos temas esenciales, incluyendo:- Entender las diferencias entre los Componentes del Servidor y del Cliente- Implementar Componentes del Servidor para optimizar la obtención de datos y reducir el tamaño del paquete JavaScript- Integrar Componentes del Servidor y del Cliente para una experiencia de usuario fluida- Estrategias para pasar datos efectivamente entre componentes y gestionar el estado- Consejos y mejores prácticas para maximizar los beneficios de rendimiento de los Componentes del Servidor React
0 a Auth en una Hora Usando NodeJS SDK
Node Congress 2023Node Congress 2023
63 min
0 a Auth en una Hora Usando NodeJS SDK
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend de Node.JS + frontend de React) para autenticar usuarios con OAuth (inicio de sesión social) y contraseñas de un solo uso (correo electrónico), incluyendo:- Autenticación de usuario - Administrar interacciones de usuario, devolver JWT de sesión / actualización- Gestión y validación de sesiones - Almacenar la sesión para solicitudes de cliente posteriores, validar / actualizar sesiones
Al final del masterclass, también tocaremos otro enfoque para la autenticación de código utilizando Flujos Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.
Tabla de contenidos- Una breve introducción a los conceptos básicos de autenticación- Codificación- Por qué importa la autenticación sin contraseña
Requisitos previos- IDE de tu elección- Node 18 o superior
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Node Congress 2023Node Congress 2023
49 min
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Workshop
Michele Riva
Michele Riva
En este masterclass, veremos cómo adoptar Orama, un potente motor de búsqueda de texto completo escrito completamente en JavaScript, para hacer que la búsqueda esté disponible donde sea que se ejecute JavaScript. Aprenderemos cuándo, cómo y por qué sería una gran idea implementarlo en una función sin servidor, y cuándo sería mejor mantenerlo directamente en el navegador. Olvídate de las APIs, configuraciones complejas, etc.: Orama facilitará la integración de la búsqueda en proyectos de cualquier escala.