O que é a linguagem de programação Q# e o QDK?What are the Q# programming language and QDK?

O Q# é a linguagem de programação open-source da Microsoft para desenvolver e executar algoritmos quânticos.Q# is Microsoft’s open-source programming language for developing and running quantum algorithms. Faz parte do Quantum Development Kit (QDK), que inclui bibliotecas Q#, simuladores quânticos, extensões para outros ambientes de programação e documentação de API.It’s part of the Quantum Development Kit (QDK), which includes Q# libraries, quantum simulators, extensions for other programming environments, and API documentation. Além da biblioteca Q# padrão, o QDK inclui bibliotecas de Química, Machine Learning e Numéricas.In addition to the Standard Q# library, the QDK includes Chemistry, Machine Learning, and Numeric libraries.

Enquanto linguagem de programação, o Q# tem elementos familiares de Python, C# e F# e suporte um modelo procedimental básico para escrever programas com ciclos, instruções if/then e tipos de dados comuns.As a programming language, Q# draws familiar elements from Python, C#, and F# and supports a basic procedural model for writing programs with loops, if/then statements, and common data types. Também introduz operações e estruturas de dados específicas da computação quântica.It also introduces new quantum-specific data structures and operations.

O que posso fazer com o QDK?What can I do with the QDK?

O QDK é um development kit completo para Q# que pode ser utilizado com ferramentas e linguagens comuns para o desenvolvimento de aplicações quânticas que pode executar em vários ambientes.The QDK is a full-featured development kit for Q# that you can use with common tools and languages to develop quantum applications that you can run in various environments. Os programas em Q# podem ser executados como aplicação de consola através do Jupyter Notebook ou podem utilizar um programa anfitrião do Python ou .NET.Q# programs can run as a console application, through Jupyter Notebooks, or use a Python or .NET host program.

Desenvolver com ferramentas e em ambientes comunsDevelop in common tools and environments

Integre o seu desenvolvimento quântico no Visual Studio, no Visual Studio Code e no Jupyter Notebook.Integrate your quantum development with Visual Studio, Visual Studio Code, and Jupyter Notebooks. Utilize as APIs incorporadas para emparelhar os programas com as linguagens anfitriãs Python e .NET.Use the built-in APIs for pairing your programs with Python and .NET host languages.

Experimentar operações quânticas e bibliotecas de domínios específicosTry quantum operations and domain-specific libraries

Escreva e teste algoritmos quânticos para explorar a sobreposição, o entrelaçamento e outras operações quânticas.Write and test quantum algorithms to explore superposition, entanglement, and other quantum operations. Com as bibliotecas Q#, pode executar operações quânticas complexas sem ter de desenhar sequências de operações de nível inferior.The Q# libraries enable you to run complex quantum operations without having to design low-level operation sequences.

Executar programas em simuladoresRun programs in simulators

Execute os seus programas quânticos num simulador quântico de estado completo, um simulador Toffoli de âmbito limitado. ou teste o seu código Q# em avaliadores de recursos diferentes.Run your quantum programs on a full-state quantum simulator, a limited-scope Toffoli simulator, or test your Q# code in different resource estimators.

Onde posso saber mais?Where can I learn more?

Não estou familiarizado com a computação quânticaI'm new to quantum computing Reveja algumas noções básicas da física quântica e da computação quântica nos Conceitos-chave.Review some basics of quantum physics and quantum computing in Key Concepts.
Quero perceber melhor a linguagem Q#I want to dive deeper into the Q# language Explore tipos, expressões, variáveis e a estrutura dos programas quânticos no Guia do Utilizador do Q#.Explore types, expressions, variables, and quantum program structure in the Q# User Guide.
Quero simplesmente começar a escrever programas quânticosI just want to start writing quantum programs Configure o seu ambiente Q# e comece a escrever programas quânticos nos Inícios Rápidos.Set up your Q# environment and start writing quantum programs in QuickStarts.

Como funciona o Q#?How does Q# work?

Os programas em Q# podem ser compilados numa aplicação autónoma ou ser chamados por um programa anfitrião escrito nas linguagens Python ou .NET.A Q# program can compile into a standalone application or be called by a host program that is written either in Python or a .NET language.

Quando compila e executa o programa, o mesmo cria uma instância do simulador quântico e transmite-lhe o código Q#.When you compile and run the program, it creates an instance of the quantum simulator and passes the Q# code to it. O simulador utiliza o código Q# para criar qubits (simulações de partículas quânticas) e aplica as transformações para modificar o estado dos mesmos.The simulator uses the Q# code to create qubits (simulations of quantum particles) and apply transformations to modify their state. Os resultados das operações quânticas no simulador são, depois, devolvidos ao programa.The results of the quantum operations in the simulator are then returned to the program.

Isolar o código Q# no simulador garante que os algoritmos seguem as leis da física quântica e que podem ser executados corretamente em computadores quânticos.Isolating the Q# code in the simulator ensures that the algorithms follow the laws of quantum physics and can run correctly on quantum computers.

Fluxo de código Qsharp

Como utilizo o QDK?How do I use the QDK?

Tudo aquilo de que precisa para escrever e executar programas em Q#, incluindo o compilador de Q#, as bibliotecas Q# e os simuladores quânticos, pode ser instalado e executado no seu computador local.Everything you need to write and run Q# programs, including the Q# compiler, the Q# libraries, and the quantum simulators, can be installed and run from your local computer. Chegará o momento em que poderá executar os programas em Q# remotamente num computador quântico real; contudo, até lá, os simuladores quânticos disponibilizados com o QDK dão resultados precisos e fiáveis.Eventually you will be able to run your Q# programs remotely on an actual quantum computer, but until then the quantum simulators provided with the QDK provide accurate and reliable results.

  • Desenvolver aplicações Q# é a forma mais rápida de começar.Developing Q# applications is the quickest way to get started.

  • Execute o Jupyter Notebook com o IQ#, uma extensão do Jupyter para compilar, simular e visualizar programas em Q#.Run standalone Jupyter Notebooks with IQ#, a Jupyter extension for compiling, simulating, and visualizing Q# programs.

  • Se estiver familiarizado com Python, pode utilizá-lo como plataforma de programação anfitriã para começar.If you are familiar with Python, you can use it as a host programming platform to get started. O Python é muito utilizado não só entre os programadores, mas também por cientistas, investigadores e professores.Python enjoys widespread use not only among developers, but also scientists, researchers and teachers.

  • Se já tiver experiência com C#, F# ou VB.NET e estiver familiarizado com o ambiente de desenvolvimento do Visual Studio, só precisa de adicionar algumas extensões ao Visual Studio para o preparar para Q#.If you already have experience with C#, F#, or VB.NET and are familiar with the Visual Studio development environment, there are just a few extensions you need to add to Visual Studio to prepare it for Q#.

ResumoSummary

O Q# é uma linguagem de programação open-source para desenvolver programas quânticos.Q# is an open-source programming language for developing quantum programs. Tem bibliotecas que lhe permitem criar operações quânticas complexas e simuladores quânticos para executar e testar os seus programas corretamente.It has libraries that let you create complex quantum operations, and quantum simulators to accurately run and test your programs. Os programas em Q# podem ser executados como aplicações autónomas ou ser chamados a partir de um programa anfitrião Python ou .NET e podem ser escritos, executados e testados no seu computador local.Q# programs can run as standalone apps or be called from a Python or .NET host program, and can be written, run, and tested from your local computer.

Passos SeguintesNext Steps

Álgebra linear para computação quânticaLinear algebra for quantum computing