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) .
fuente
Respuestas:
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.
fuente
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.
fuente