Compact quantum circuit helpers, encodings, algorithms, navigation and Qiskit interop.
Project description
quantum_cq
Biblioteca Python extraida de um notebook de computacao quantica, com uma
camada compacta de circuitos (QC), encoders classicos, algoritmos basicos e
interop com Qiskit.
Instalacao
pip install quantum-cq
Extras opcionais:
pip install "quantum-cq[aer]" # simuladores Aer
pip install "quantum-cq[ibm]" # IBM Quantum Runtime
pip install "quantum-cq[notebook]" # pandas, matplotlib, IPython e widgets
pip install "quantum-cq[all]" # todos os extras opcionais
Uso rapido
from quantum_cq import CQ
encoded_basis = CQ.encode([1, 0, 1])
encoded_angle = CQ.encode([0.1, 0.2])
deutsch = CQ.algorithm("deutsch").with_case(2).build()
bv = CQ.algorithm("bernstein_vazirani").with_secret("1011").build()
dj = CQ.algorithm("deutsch_jozsa").with_num_qubits(3).with_kind("balanced").build()
grover = CQ.algorithm("grover").with_marked_state("11").build()
qpe = CQ.algorithm("phase_estimation").with_phase(0.25).with_precision(3).build()
qft = CQ.primitive("qft").build(num_qubits=3)
diffuser = CQ.primitive("standard_diffuser").build(num_qubits=3)
phase_rotation = CQ.operator("phase_rotation").with_phase(0.25).build()
memory = CQ.memory([3, 5, 7, 9])
nav = CQ.encode(memory, role="navigation")
qram_like = CQ.encode(memory, role="navigation", engine="qram_like")
print(CQ.metrics(nav))
print(CQ.to_qiskit(nav).draw())
graph = CQ.graph(edges=[(0, 1), (1, 2), (2, 3)], num_vertices=4)
neighbor_oracle = CQ.encode(graph, role="navigation")
cycle = CQ.graph(edges=[(0, 1), (1, 2), (2, 3), (3, 0)], num_vertices=4)
walk = CQ.primitive("coined_quantum_walk").build(cycle, steps=1)
QC como circuito oficial
from quantum_cq import CQ
from quantum_cq.algorithms import twobit_block
from quantum_cq.compact import QC, m, obs, sep
uf0 = twobit_block(2)
qc = QC(
"Deutsch",
[
[0, "-", "H", obs("pre_oracle"), uf0, sep("after_oracle"), "H", m(0)],
[0, "X", "H", obs("pre_oracle"), uf0, "-", "-", "-"],
],
c=1,
)
same_qc = CQ.from_qc(qc)
qiskit_circuit = CQ.to_qiskit(qc)
metrics = CQ.metrics(qc)
Exportacao
qiskit_circuit = CQ.export(qc, target="qiskit")
Exportadores futuros como mqt e openqasm ainda levantam
NotImplementedError; eles nao fingem implementacao parcial.
Encodings generalizados
A arquitetura separa os papeis:
StateEncoding: dados classicos para estado quantico.OracleEncoding: funcao ou predicado para oraculo.OperatorEncoding: operador ou unitario reutilizavel.NavigationEncoding: memoria enderecada ou grafo para acesso coerente.QuantumWalk: dinamica unitaria sobre uma estrutura navegavel.
engine="qram_like" simula a semantica logica de acesso QRAM-like, mas nao e
QRAM fisico. A metadata marca physical_qram=False.
Logging
A biblioteca escreve eventos operacionais no terminal por padrao.
from quantum_cq import configure_logging
configure_logging(level="INFO")
Testes
python -m pytest -q
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quantum_cq-0.1.0.tar.gz.
File metadata
- Download URL: quantum_cq-0.1.0.tar.gz
- Upload date:
- Size: 87.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac3182400615d9f7396db2e2a496b91ee2605c800d4ec62f06151ab2c3ff2ad2
|
|
| MD5 |
bf8d15c47f31bdab668b9bc17f5490cc
|
|
| BLAKE2b-256 |
0fa0c92f45bb5bbb4f35f813a075358457664e0302c6d7d2137b3a18afee8dfb
|
File details
Details for the file quantum_cq-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quantum_cq-0.1.0-py3-none-any.whl
- Upload date:
- Size: 79.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b574ba4b87963919cd7504fae5fe2581a4f3eef2343c26438db2d623b75df9cc
|
|
| MD5 |
69a5585e15e7d06bb9381db6580c928b
|
|
| BLAKE2b-256 |
f1722a75bd4f386c8d9d56201a89d6c21436dcac44e2eaf2cb71384de886b765
|