Lewati ke konten utama
Proyek ini masih dalam tahap beta. Menemukan bug? Buat isu GitHub. Punya pertanyaan atau ide? Tanya di Discussions — kami sangat menghargai masukan kamu!
Bagaimana kualitas terjemahan di halaman ini?

Qiskit Fermions

qiskit-fermions memperluas Qiskit SDK dengan alat untuk bekerja pada sistem fermionik. Dalam cakupannya, paket ini menyediakan hal-hal berikut:

  • Struktur data efisien untuk representasi dan manipulasi operator fermionik dalam berbagai bentuk

  • Kerangka kerja untuk mengimplementasikan metode konversi operator (termasuk encoding fermion-ke-qubit)

  • Pustaka implementasi efisien dari metode konversi yang umum

  • Kerangka kerja dan pustaka gate untuk menyatakan circuit fermionik

  • Pipeline transpilasi yang terintegrasi dengan proses transpiler Qiskit untuk mensintesis circuit fermionik menjadi circuit berbasis qubit

Selain itu, qiskit-fermions terintegrasi dengan tool lain di ekosistem, seperti:

Mulai​

Schematic description of Qiskit Fermions

Deskripsi skematis pada gambar di atas memberi gambaran sekilas tentang luasnya fitur dan alur kerja umum yang disediakan paket ini. Kamu bisa bekerja di ranah fermionik dengan representasi operator maupun sirkuit, sebelum menentukan encoding fermion-ke-qubit yang terhubung ke pipeline Transpiler multi-representasi milik Qiskit.

Semua fitur ini dijelaskan di beberapa panduan untuk membantumu memulai. Untuk gambaran umum yang menelusuri persis pipeline yang ditunjukkan di atas, mulailah dengan panduan Fermi-Hubbard 1D.

Contoh kasus penggunaan​

Komponen paket ini telah digunakan dalam riset terkait makalah-makalah berikut:

  • Kompilasi sirkuit acak qDRIFT di [1].

  • Sintesis fermion-ke-qubit selama proses transpilasi di [2].

Pembahasan teknis​

Tujuan desain​

Paket ini sengaja dirancang agar selaras dengan Qiskit: dibangun di atas inti yang diimplementasikan dalam Rust dan menyediakan language binding resmi untuk Python dan C. API-nya sengaja dibuat mirip dengan Qiskit supaya terintegrasi mulus ke dalam alur kerja pengguna yang berpengalaman memprogram Qiskit.

Prinsip utama dalam desain qiskit-fermions adalah memisahkan representasi sirkuit fermionik dari bentuk qubitisasinya. Lebih tepatnya: sirkuit fermionik sudah bermakna dengan sendirinya dan tidak memerlukan pemetaan ke ruang qubit untuk bisa diinterpretasikan. Selain itu, representasi sirkuit fermionik tidak boleh membuat asumsi apa pun tentang encoding fermion-ke-qubit yang diterapkan setelahnya. Akibatnya, meskipun Jordan-Wigner tetap memegang posisi dan peran dominan, ia tidak diasumsikan sebagai encoding fermion-ke-qubit _default_.

Hubungan dengan ffsim​

ffsim dan qiskit-fermions membagi pekerjaan, bukan saling tumpang tindih. ffsim memegang operator ansatz tingkat tinggi beserta simulasinya yang cepat: ia membangun operator UCJ atau UCCSD dari amplitudo coupled-cluster atau vektor parameter, dan mensimulasikan state fermionik dalam ruang compact dengan jumlah partikel tetap. qiskit-fermions memegang sisi sirkuit: ia mengekspresikan operator tersebut sebagai FermionicCircuit pada mode fermionik dan mentranspilasinya menjadi sirkuit qubit lewat encoding fermion-ke-qubit apa pun.

Poin terakhir itulah alasan untuk membawa operator ffsim ke sini. Gate Qiskit milik ffsim khusus untuk transformasi Jordan-Wigner, jadi menurunkan ansatz lewat encoding lain (misalnya encoding lokal yang menukar jumlah qubit dengan sirkuit yang lebih dangkal) adalah hal yang ditambahkan paket ini. Sebaliknya, paket ini tidak mengimplementasikan ulang matematika ansatz, sehingga UCJ dan UCC menerima operator ffsim langsung sebagai inputnya.

Di sisi simulasi, ffsim adalah Backend-nya. Gate dan operator paket ini mengimplementasikan metode protokol yang dipakai fungsi simulasi ffsim (_apply_unitary_, _linear_operator_ dan _trace_; lihat qiskit_fermions.protocols), sehingga tool ffsim bisa langsung bekerja pada keduanya, tanpa langkah konversi. Membangun operator, memetakannya, dan mentranspilasi sirkuit hasilnya sama sekali tidak membutuhkan ffsim.

Untuk gambaran lengkapnya, baca panduan hubungan dengan ffsim.

Masalah yang diketahui​

Selama Qiskit C API belum mencapai kesetaraan fitur dengan Python API-nya, beberapa komponen paket ini juga tetap hanya tersedia di Python API. Ini mencakup seluruh pustaka sirkuit (qiskit_fermions.circuit) serta pass Transpiler (qiskit_fermions.transpiler).

Pekerjaan ke depan​

  • Memigrasikan pustaka sirkuit dan pass Transpiler ke inti Rust (dan menyediakan C API untuk berinteraksi dengannya)

  • Memperluas pustaka implementasi konversi operator yang efisien

  • Memperluas pustaka struktur data operator yang efisien

Berkontribusi​

Kode sumbernya tersedia di GitHub.

Panduan developer ada di CONTRIBUTING.md di root repositori proyek ini. Dengan berpartisipasi, kamu diharapkan menjunjung kode etik Qiskit.

Mengutip paket ini​

Kalau kamu memakai paket ini dalam risetmu, gunakan file CITATION.bib di repositori proyek ini untuk mengutip referensi yang sesuai.

Lisensi​

Apache License 2.0

Kebijakan deprecasi​

Paket ini mengikuti semantic versioning. Perubahan yang merusak (breaking changes) hanya dilakukan sesekali, demi meningkatkan pengalaman pengguna. Bila memungkinkan, antarmuka lama dipertahankan dan ditandai sebagai deprecated selama masih bisa berdampingan dengan yang baru. Setiap peningkatan besar, breaking change, atau deprecasi didokumentasikan di Catatan Rilis.

Referensi​

[1]

Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph].

[2]

Anthony Gandon, et al., Stabilizer-based quantum simulation of fermion dynamics with local qubit encodings, arXiv:2512.11418 [quant-ph].