IBM Quantum Platform (anteriormente conhecida como IBM Quantum Experience), é uma plataforma online que permite acesso público e premium aos serviços de computação quântica baseados em nuvem fornecidos pela IBM. Isso inclui acesso a um conjunto de processadores quânticos protótipos da IBM, um conjunto de tutoriais sobre computação quântica e acesso a um livro didático interativo. Em fevereiro de 2021, existem mais de 20 dispositivos no serviço, seis dos quais estão disponíveis gratuitamente para o público. Este serviço pode ser usado para executar algoritmos e experimentos, e explorar tutoriais e simulações sobre o que pode ser possível com a computação quântica.
Os usuários interagem com um processador quântico através do modelo de computação de circuito quântico. Os circuitos podem ser criados tanto graficamente com o Quantum Composer, quanto programaticamente dentro dos notebooks Jupyter do Quantum Lab. Os circuitos são criados usando o Qiskit e podem ser compilados para OpenQASM para execução em sistemas quânticos reais.
Agora é chamado coletivamente de Plataforma IBM Quantum.
O Quantum Composer é uma Interface gráfica do usuário (GUI) projetada pela IBM para permitir que os usuários construam vários algoritmo quânticos ou executem outros experimentos quânticos. Os usuários podem ver os resultados de seus algoritmos quânticos executando-os em um processador quântico real ou usando um simulador. Os algoritmos desenvolvidos no Quantum Composer são chamados de "partitura quântica", em referência ao Quantum Composer se assemelhar a uma partitura musical.
O compositor também pode ser usado no modo de script, onde o usuário pode escrever programas na linguagem OpenQASM. Abaixo está um exemplo de um programa muito pequeno, desenvolvido para o computador de 5 qubits da IBM. O programa instrui o computador a gerar um estado quântico , um estado GHZ de 3 qubits, que pode ser pensado como uma variante do estado Bell, mas com três qubits em vez de dois. Em seguida, ele mede o estado, forçando-o a colapsar para um dos dois resultados possíveis, ou .
include "qelib1.inc"
qreg q[5]; // aloca 5 qubits (configurados automaticamente para |00000>)
creg c[5]; // aloca 5 bits clássicos
h q[0]; // Transformada de Hadamard no qubit 0
cx q[0], q[1]; // Transformada condicional de Pauli X (ou seja, "CNOT") dos qubits 0 e 1
// Neste ponto, temos um estado Bell de 2 qubits (|00> + |11>)/sqrt(2)
cx q[1], q[2]; // isso expande o emaranhamento para o 3º qubit
measure q[0] -> c[0]; // essa medição colapsa todo o estado de 3 qubits
measure q[1] -> c[1]; // portanto, o qubit 1 e 2 leem o mesmo valor que o qubit 0
measure q[2] -> c[2];
Cada instrução na linguagem QASM é a aplicação de uma porta quântica, inicialização dos registros do chip para zero ou medição desses registros.