¿Existe una guía de estudio que comience desde un “fondo puramente CS” y avance hacia “hacer un nuevo lenguaje de programación cuántico”?

12

Soy de una formación en informática y me resulta difícil decidir sobre los recursos en los que debería centrarme mientras aprendo computación cuántica, ya que hay mucho para leer / ver. Mi objetivo final es crear un lenguaje de programación que actúe como una interfaz entre las computadoras cuánticas y la persona similar a 1972 cuando se creó C. Como una etapa intermedia realista, me gustaría llegar al punto de escribir programas en QISKit de IBM.

Para eso, necesitaría una guía de estudio esquemática para adquirir los antecedentes necesarios en Física y los campos relacionados requeridos para sumergirnos en el campo de la computación cuántica. ¿Ya existe esto: una lista ordenada de conceptos y habilidades indispensables para dominar, que si es posible también menciona material adecuado para adquirir cada uno de ellos ?

Asumir un conocimiento de física de nivel secundario. Proporcione una guía de estudio, es decir, desde principiante hasta experto. Trate de enumerar los recursos de video / libros que uno debe seguir en un orden cronológico para convertirse en un experto en el campo de la computación cuántica al nivel en que pueda escribir mi propio lenguaje de computación cuántica (suponiendo que ya tenga otras habilidades de CS para escribir el lenguaje) .

Kushajveer
fuente
¿Has comprobado esto? quantumcomputing.stackexchange.com/questions/1367/…
agaitaarino
3
¡Bienvenido a Quantum Computing SE! Actualmente, el título de esta pregunta hace que parezca que estás preguntando algo amplio y basado en la opinión (que es algo para lo que el formato de preguntas y respuestas de SE no está diseñado), aunque el cuerpo principal de la pregunta deja en claro que esto es realmente un solicitud de recursos (que es aceptable). Como tal, sería más útil si editara el título de su pregunta para ser más específico sobre lo que desea saber. Además, puede ser útil si incluye exactamente lo que faltan las respuestas a la pregunta vinculada en los comentarios, para que podamos ayudarlo mejor. ¡Gracias!
Mithrandir24601
1
Consulte en particular nuestra política sobre preguntas de solicitud de recursos . Esto es demasiado amplio.
brezo
1
¿Estás pensando en algo como nand2tetris, pero cuántico? ¿O algo así como el libro "Computación cuántica para informáticos"?
James Wootton el
1
Gracias a sus ediciones, creo que esto ahora cumple con los requisitos de solicitud de recursos, por lo que reabrí.
Heather

Respuestas:

11

No creo que haya un solo recurso dorado que pueda proporcionarle todo el conocimiento necesario. Pero podría sugerir una vía (o guía de estudio esquemática en sus palabras):

Si su objetivo es crear un nuevo lenguaje de programación cuántica, preferiría decirle que primero debe aprender a fondo un lenguaje de programación cuántica existente junto con los conceptos básicos de la computación cuántica, tanto desde el lado de la física como del lado de la informática (tal vez incluso la matemática ¡lado!).

  • Microsoft tiene su lenguaje de programación cuántico llamado Q # (que es parte de su Kit de desarrollo cuántico ). La documentación completa se encuentra en su sitio web: https://docs.microsoft.com/en-us/quantum . Si eres del lado CS, espero que ya tengas algún conocimiento de vectores, matrices y álgebra lineal en general. Si es así, puede comenzar a leer la guía artículo por artículo directamente. Inicialmente, comienzan con una breve revisión de matrices, vectores, etc., seguida de una breve introducción a los qubits. Eso es suficiente para al menos comenzar a escribir un programa cuántico básico, con una comprensión mínima de la física detrás de él. Por cierto, si sus conceptos de álgebra lineal son débiles, siempre podría intentarLas conferencias de Khan Academy sobre el mismo.

  • A continuación, querrás aprender al menos algunos conceptos básicos de la mecánica cuántica. Personalmente me encantan las conferencias del profesor Vazirani , que ahora están en Youtube. En aproximadamente 60 conferencias de diez minutos, cubre todos los conceptos básicos necesarios de la mecánica cuántica y los algoritmos de computación cuántica. Después de esto, estarás en buena forma para elegir nuevos algoritmos por tu cuenta.

  • Como tercer paso, sugeriría elegir " Computación cuántica e información cuántica por Isaac Chuang y Michael Nielsen " y también " Computación cuántica para informáticos por Mirco A. Mannucci y Noson S. Yanofsky " por cubrir los temas importantes que usted Perdido.

Eso debería ser suficiente para que tengas una base sólida para comenzar a escribir tu propio lenguaje de programación cuántica. También puede buscar tutoriales para los otros lenguajes de computación cuántica comunes para tener una idea de cómo escribir programas cuánticos y diseñar lenguajes de programación cuántica.

Sanchayan Dutta
fuente
6

Le sugiero que reflexione sobre si el objetivo de "crear un nuevo lenguaje de programación cuántico" es adecuado en este momento en el desarrollo de la computación cuántica. No es el enfoque más común, ya que en su mayoría todavía estamos en la etapa de pensar en términos de lo que es esencialmente lenguaje de máquina. Cuando creamos algoritmos, el nivel al que se hace esto es similar a la expresión de algoritmos clásicos en términos de puertas lógicas (como este ejemplo para la multiplicación). Los SDK cuánticos, como QISKit, son esencialmente formas de crear trabajos para enviarlos a hardware cuántico o simuladores. Esto incluye herramientas para realizar simulaciones, optimizar el tiempo de ejecución o los niveles de ruido, etc. No son realmente lenguajes en el sentido de alto nivel al que estamos acostumbrados para la computación clásica.

Para una introducción a lo que está sucediendo en este nivel de la pila cuántica, Q es para Quantum de Terry Rudolph podría ser útil.

Para su objetivo intermedio de escribir programas con QISKit, recomendaría el tutorial QISKit . Tiene muchos ejemplos trabajados de implementación de programas cuánticos cortos. También hay una publicación QISKit en Medium en la que algunas de las cosas del tutorial se explican con más detalle. También hay un tutorial gamificado para QISKit , que podría ser útil como calentamiento para el tutorial completo de QISKit.

Divulgación total: he contribuido a todas las cosas mencionadas en el párrafo final.

James Wootton
fuente
3
Me gustaría estar en desacuerdo con esto. Tan pronto como se desarrolló FORTRAN (cuando las computadoras digitales todavía eran bastante primitivas), la gente comenzó a usarlo en lugar del lenguaje de máquina, y este fue probablemente el mayor salto en lenguajes de programación en la historia de las computadoras clásicas. ¿Por qué deberíamos obligar a las personas a programar en lenguaje máquina para computadoras cuánticas? (Estoy seguro de que lo harán, por eficiencia, pero no deberían verse obligados a hacerlo)
Peter Shor
1
Gran punto! Yo diría que el hardware no está en condiciones de pensar mucho más allá del lenguaje de máquina en este momento. Pero sería genial que se demuestre que está equivocado.
James Wootton
Edité mi respuesta un poco para atenuar la negatividad y señalar que no es la forma habitual de hacer las cosas en este momento (aunque eso no significa que esté mal)
James Wootton