Linguagem Q - para Computa??o Quantica

Notícias, idéias, tutoriais, dicas, etc...
Responder
Avatar do Utilizador
Xevious
Site Admin
Mensagens: 10359
Registado: terça abr 28, 2009 3:12 am

Linguagem Q - para Computação Quantica

Mensagem por Xevious »

Imagem

A Q# (pronuncia-se Q Sharp) é a mais nova linguagem de programação do mercado, só que… seu foco são os ainda pouquíssimo explorados computadores quânticos, mas, sua criadora, a Microsoft, tem grandes planos para esses dispositivos e essa linguagem de programação.

Eles lançaram uma versão Preview e gratuita do Quantum Development Kit, que inclui a linguagem de programação Q#, um simulador de computação quântica e outros recursos para pessoas que desejam começar a escrever aplicativos para um computador quântico. A linguagem de programação Q# foi construída desde sua concepção especificamente para a computação quântica.

O Kit de Desenvolvimento Quântico, que a Microsoft anunciou pela primeira vez em sua conferência Ignite em setembro, foi projetado para desenvolvedores ansiosos por aprender a programar em computadores quânticos sejam ou não especialistas no campo da física quântica.

Este kit está profundamente integrado no Visual Studio, conjunto de ferramentas da Microsoft voltadas para desenvolvedores, de modo que seus aspectos serão familiares para pessoas que já estão desenvolvendo aplicativos em outras linguagens de programação. Ele foi projetado para trabalhar com um simulador quântico local, também foi lançado como parte do kit, que pode simular cerca de 30 qubits lógicos de potência de computação quântica usando um laptop comum. Isso permitirá aos desenvolvedores depurar o código quântico e testar os programas em pequenas instâncias diretamente em seus próprios computadores.

Junto com o kit, a Microsoft também está disponibilizando um conjunto abrangente de documentos, bibliotecas e programas que servirão de exemplo. Isso dará às pessoas o plano de fundo que eles precisam para começar a brincar com aspectos da computação únicos para os sistemas quânticos, como a teletransão quântica .

https://www.youtube.com/watch?v=doNNClTTYwE

Segundo a Microsoft, o kit pela linguagem de programação e o simulador é integrado ao Visual Studio, então “alguns aspectos serão familiar para pessoas que já desenvolvem aplicações em outras linguagens de programação”. A empresa lançou um simulador local capaz de simular até 30 qubits de poder de computação quântica utilizando um notebook comum. Uma versão do simulador usando o Azure, a plataforma de nuvem da Microsoft, pode chegar a até 40 qubits.

A ideia da Microsoft é abrir a tecnologia para uma vasta gama de usos e áreas diferentes. A mais significativa das áreas é a da criptografia. Espera-se que com o advento da computação quântica, todos os protocolos que usamos hoje para proteger as comunicações digitais se tornarão inúteis com um computador quântico poderoso o bastante. Será interessante ver como a tecnologia se desenvolve a partir daí.

A característica mais importante do QCL é o suporte para operadores e funções definidos pelo usuário. A sua sintaxe é semelhante à sintaxe da linguagem de programação C e seus tipos de dados clássicos são semelhantes aos tipos de dados primitivos em C. Pode-se combinar código clássico e código quântico no mesmo programa.

A biblioteca padrão QCL fornece operadores quânticos padrões utilizados em algoritmos quânticos, tais como:
- não-controlado com diversos qubits alvos,
- Operação de Hadamard em vários qubits,
- fase de parseamento e de controle.

Tipos de dados
- Quântico - qureg, quvoid, quconst, quscratch, qucond
- Clássico - int, real, complexo, boolean, string, vetor, matriz, tensor

Tipos de função
- qufunct - Operadores pseudo-clássicos. Só pode alterar a permutação de estados básicos.
- operator - Operadores unários gerais. Pode alterar a amplitude.
- procedure - Pode chamar medida, imprimir e copiar dentro dessa função. Esta função é não-invertível.

Funções internas
- Quântico
- - qufunct - Fanout, Swap, Perm2, Perm4, Perm8, Not, CNot
- - operator - Matrix2x2, Matrix4x4, Matrix8x8, Rot, Mix, H, CPhase, SqrtNot, X, Y, Z, S, T
- - procedure - measure, dump, reset
- Clássico
- - Aritmética - sin, cos, tan, log, sqrt, ...
- - Complexo - Re, Im, conj

O tipo de dado básico embutido em QCL é o qureg (quantum register). Ele pode ser interpretado como uma matriz de qubits (quantum bits).

qureg x1[2]; // registrador quântico x1 de 2-qubit
qureg x2[2]; // registrador quântico x2 de 2-qubit
H(x1); // operação de Hadamard em x1
H(x2[1]); // operação de Hadamard no primeiro qubit do registrador x2
Já que o interpretador QCL usa a biblioteca de simulação qlib, é possível observar o estado interno da máquina quântica durante a execução do programa quântico.

qcl> dump
: STATE: 4 / 32 qubits allocated, 28 / 32 qubits free
0.35355 |0> + 0.35355 |1> + 0.35355 |2> + 0.35355 |3>
+ 0.35355 |8> + 0.35355 |9> + 0.35355 |10> + 0.35355 |11>
Note que a operação dump é diferente de measurement, uma vez que não influencia o estado da máquina quântica e pode ser realizado apenas usando um simulador.

Como nas linguagens de programação modernas, é possível definir novas operações que podem ser usadas para manipular os dados quânticos. Por exemplo:

operator diffuse (qureg q) {
H(q); // transformada de Hadamard
Not(q); // Inverte q
CPhase(pi, q); // Rotaciona se q=1111..
!Not(q); // desfazer inversão
!H(q); // desfazer transformada de Hadamard
}

fontes:
www.windowsteam.com.br
tecnoblog.net
pt.wikipedia.org
olhardigital.com.br

Dica do meu amigo Mariélio
Conheça o site Tele-Tudo e compre o que precisar, por tele-entrega
Avatar do Utilizador
Xevious
Site Admin
Mensagens: 10359
Registado: terça abr 28, 2009 3:12 am

Re: Linguagem Q - para Computação Quantica

Mensagem por Xevious »

Conheça o site Tele-Tudo e compre o que precisar, por tele-entrega
Responder