Science Workflow

Computação Quântica

Modelagem de estados quânticos via Tipos Lineares

Back to Science Hub

Computação Quântica com Sounio

Sounio impõe a teorema da não clonagem da mecânica quântica no tempo de compilação via tipos lineares: um Qubit é um recurso linear que deve ser consumido exatamente uma vez. Tentar copiá-lo produz um erro de compilação.

Tipos Lineares para Estados Quânticos

// Um Qubit não pode ser clonado.
// portas padrão de quântica (H, X, Y, Z, CNOT) consumem e retornam Qubits.

função aplica_hadamard(q: Qubit) -> Qubit {
    // aplicar a porta H ...
}

estrutura QubitPair { fst: Qubit, snd: Qubit }

função aplica_cnot_pair(control: Qubit, target: Qubit) -> QubitPair {
    // aplicar a porta CNOT ...
}

função bell_state() -> QubitPair {
    let q1 = alocar_qubit()
    let q2 = alocar_qubit()

    let h1 = aplica_hadamard(q1)
    let pair = aplica_cnot_pair(h1, q2)

    pair
}