Lompat ke isi

Cirq: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28137241; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Cirq''' adalah [[Pustaka (perangkat lunak)|pustaka]] [[perangkat lunak]], ditulis menggunakan [[Python (bahasa pemrograman)|Python]], yang digunakan untuk menulis, memanipulasi, dan mengoptimisasi [[sirkuit kuantum]], dan kemudian menjalankannya pada [[Komputer kuantum|komputer]] dan simulator kuantum. Cirq menyediakan abstraksi untuk menangani komputer ''[[Era noisy intermediate-scale quantum|noisy intermediate-scale quantum]]'' yang ada saat ini, di mana rincian-rincian dari [[perangkat keras]] bersifat vital dalam mencapai hasil [[state-of-the-art]].
'''Cirq''' adalah [[Pustaka (perangkat lunak)|pustaka]] [[perangkat lunak]], ditulis menggunakan [[Python (bahasa pemrograman)|Python]], yang digunakan untuk menulis, memanipulasi, dan mengoptimisasi [[sirkuit kuantum]], dan kemudian menjalankannya pada [[Komputer kuantum|komputer]] dan simulator kuantum. Cirq menyediakan abstraksi untuk menangani komputer ''[[Era noisy intermediate-scale quantum|noisy intermediate-scale quantum]]'' yang ada saat ini, di mana rincian-rincian dari [[perangkat keras]] bersifat vital dalam mencapai hasil [[state-of-the-art]].<ref>[https://quantumai.google/cirq Cirq]. ''Google Quantum AI''.</ref>


== Sejarah ==
== Sejarah ==
Cirq dikembangkan oleh [[Google]] Quantum AI Team, dan versi alpha publiknya diumumkan di International Workshop on Quantum Software and Quantum Machine Learning pada 18 Juni 2018. Sebuah demo oleh QC Ware menunjukkan implementasi dari QAOA yang menyelesaikan contoh masalah [[potongan maksimum]] yang dipecahkan pada sebuah simulator Cirq.
Cirq dikembangkan oleh [[Google]] Quantum AI Team, dan versi alpha publiknya diumumkan di International Workshop on Quantum Software and Quantum Machine Learning pada 18 Juni 2018.<ref>[https://ai.googleblog.com/2018/07/announcing-cirq-open-source-framework.html Announcing Cirq: An Open Source Framework for NISQ Algorithms]. ''ai.googleblog.com''.</ref> Sebuah demo oleh QC Ware menunjukkan implementasi dari QAOA yang menyelesaikan contoh masalah [[potongan maksimum]] yang dipecahkan pada sebuah simulator Cirq.<ref>[https://github.com/qcware/public_demos/blob/master/max_cut/max_cut_cirq.py public_demos/max_cut_cirq.py at master · qcware/public_demos · GitHub"]. ''GitHub''.</ref>


== Fitur ==
== Fitur ==
=== Konstruksi sirkuit ===
=== Konstruksi sirkuit ===
Struktur-struktur data inti yang menyusun sebuah sirkuit:
Struktur-struktur data inti yang menyusun sebuah sirkuit:<ref>[https://quantumai.google/cirq/build Build a circuit Cirq]. ''Google Quantum AI''.</ref>


==== Sirkuit ====
==== Sirkuit ====
Representasi utama dari program kuantum di dalam Cirq adalah kelas <code>'''Circuit'''</code>. Sebuah <code>'''Circuit'''</code> merupakan kumpulan dari <code>'''Moments'''</code>. <code>'''Moment'''</code> merupakan kumpulan dari <code>'''Operations'''</code> yang bekerja dalam irisan waktu yang bersamaan. <code>'''Operation'''</code> adalah suatu efek yang beroperasi pada subset tertentu dari Qubit; tipe <code>'''operation'''</code> yang paling umum adalah <code>'''GateOperation'''</code>.
Representasi utama dari program kuantum di dalam Cirq adalah kelas <code>'''Circuit'''</code>. Sebuah <code>'''Circuit'''</code> merupakan kumpulan dari <code>'''Moments'''</code>. <code>'''Moment'''</code> merupakan kumpulan dari <code>'''Operations'''</code> yang bekerja dalam irisan waktu yang bersamaan. <code>'''Operation'''</code> adalah suatu efek yang beroperasi pada subset tertentu dari Qubit; tipe <code>'''operation'''</code> yang paling umum adalah <code>'''GateOperation'''</code>.<ref>[https://quantumai.google/cirq/build/circuits Circuits Cirq]. ''Google Quantum AI''.</ref>


==== Kubit ====
==== Kubit ====
Baris 23: Baris 22:
* <code>cirq.GridQubit</code> - sebuah kubit yang ditempatkan pada sebuah grid dan diidentifikasi dengan koordinat 2D. Kebanyakan [[Sirkuit terpadu|chip]] Google dinyatakan menggunakan <code>GridQubit</code> s.
* <code>cirq.GridQubit</code> - sebuah kubit yang ditempatkan pada sebuah grid dan diidentifikasi dengan koordinat 2D. Kebanyakan [[Sirkuit terpadu|chip]] Google dinyatakan menggunakan <code>GridQubit</code> s.


Berikut beberapa contoh untuk menentukan setiap tipe kubit.Beberapa penyedia komputasi kuantum menyediakan tipe kubitnya sendiri. Contohnya, Pasqal menetapkan <code>TwoDQubit</code> dan <code>ThreeDQubit</code> untuk menyatakan topologi spesifik dari atom netral saat memvalidasi sirkuit-sirkuit.
Berikut beberapa contoh untuk menentukan setiap tipe kubit.<ref>[https://quantumai.google/cirq/start/basics Cirq basics]. ''Google Quantum AI''.</ref><syntaxhighlight lang="python" line="1">
# Using named qubits can be useful for abstract algorithms
# as well as algorithms not yet mapped onto hardware.
q0 = cirq.NamedQubit('source')
q1 = cirq.NamedQubit('target')
 
# Line qubits can be created individually
q3 = cirq.LineQubit(3)
 
# Or created in a range
# This will create LineQubit(0), LineQubit(1), LineQubit(2)
q0, q1, q2 = cirq.LineQubit.range(3)
 
# Grid Qubits can also be referenced individually
q4_5 = cirq.GridQubit(4, 5)
 
# Or created in bulk in a square
# This will create 16 qubits from (0,0) to (3,3)
qubits = cirq.GridQubit.square(4)
</syntaxhighlight>Beberapa penyedia komputasi kuantum menyediakan tipe kubitnya sendiri. Contohnya, Pasqal menetapkan <code>TwoDQubit</code> dan <code>ThreeDQubit</code> untuk menyatakan topologi spesifik dari atom netral saat memvalidasi sirkuit-sirkuit.


==== Gate ====
==== Gate ====
Gate merupakan efek yang dapat diterapkan pada sekumpulan kubit (objek-objek dengan sebuah <code>Qid</code>). <code>Gates</code> dapat diaplikasikan terhadap kubit-kubit dengan memanggil metode <code>on</code> mereka, atau, secara alternatif memanggil ''gate'' yang ada pada kubit. Objek yang dibuat oleh panggilan-panggilan semacam itu disebut sebagai sebuah <code>operation</code>. Alternatifnya, sebuah <code>gate</code> dapat dianggap sebagai sebuah pabrik yang, dengan kubit input yang telah disebutkan, menghasilkan sebuah objek <code>GateOperation</code> yang terkait.
Gate merupakan efek yang dapat diterapkan pada sekumpulan kubit (objek-objek dengan sebuah <code>Qid</code>). <code>Gates</code> dapat diaplikasikan terhadap kubit-kubit dengan memanggil metode <code>on</code> mereka, atau, secara alternatif memanggil ''gate'' yang ada pada kubit. Objek yang dibuat oleh panggilan-panggilan semacam itu disebut sebagai sebuah <code>operation</code>. Alternatifnya, sebuah <code>gate</code> dapat dianggap sebagai sebuah pabrik yang, dengan kubit input yang telah disebutkan, menghasilkan sebuah objek <code>GateOperation</code> yang terkait.<ref>[https://quantumai.google/cirq/build/gates Gates and operations Cirq]. ''Google Quantum AI''.</ref>


Cirq mendukung sejumlah ''gate'', dengan peluang untuk memperbanyak ''gate-gate'' yang tersedia untuk kasus penggunaan lanjutan.
Cirq mendukung sejumlah ''gate'', dengan peluang untuk memperbanyak ''gate-gate'' yang tersedia untuk kasus penggunaan lanjutan.


Contoh operasi yang dapat dilakukan pada ''gate'' dan ''operation'':
Contoh operasi yang dapat dilakukan pada ''gate'' dan ''operation'':<ref>[https://quantumai.google/cirq/start/basics Cirq basics]. ''Google Quantum AI''.</ref><syntaxhighlight lang="python" line="1">
# Example gates
cnot_gate = cirq.CNOT
pauli_z = cirq.Z
 
# Use exponentiation to get square root gates.
sqrt_x_gate = cirq.X**0.5
 
# Some gates can also take parameters
sqrt_sqrt_y = cirq.YPowGate(exponent=0.25)
 
# Create two qubits at once, in a line.
q0, q1 = cirq.LineQubit.range(2)
 
# Example operations
z_op = cirq.Z(q0)
not_op = cirq.CNOT(q0, q1)
sqrt_iswap_op = cirq.SQRT_ISWAP(q0, q1)
 
# You can also use the gates you specified earlier.
cnot_op = cnot_gate(q0, q1)
pauli_z_op = pauli_z(q0)
sqrt_x_op = sqrt_x_gate(q0)
sqrt_sqrt_y_op = sqrt_sqrt_y(q0)
</syntaxhighlight>


==== Sirkuit dan perangkat ====
==== Sirkuit dan perangkat ====
Satu hal penting yang harus dipertimbangkan saat menggunakan perangkat kuantum yang sebenarnya adalah bahwa sering kali terdapat keterbatasan mengenai sirkuit-sirkuit yang dapat dijalankan pada perangkat keras tertentu. Objek <code>Device</code> digunakan untuk menetapkan batasan-batasan tersebut dan dapat digunakan untuk memvalidasi sirkuit guna memastikan bahwa sirkuit tersebut tidak berisi operasi-operasi ilegal.
Satu hal penting yang harus dipertimbangkan saat menggunakan perangkat kuantum yang sebenarnya adalah bahwa sering kali terdapat keterbatasan mengenai sirkuit-sirkuit yang dapat dijalankan pada perangkat keras tertentu. Objek <code>Device</code> digunakan untuk menetapkan batasan-batasan tersebut dan dapat digunakan untuk memvalidasi sirkuit guna memastikan bahwa sirkuit tersebut tidak berisi operasi-operasi ilegal.<ref>[https://quantumai.google/cirq/start/basics Cirq basics]. ''Google Quantum AI''.</ref>


Berikut merupakan contoh yang mendemonstrasikan hal tersebut dengan Perangkat Sycamore:memberikan ''output'':
Berikut merupakan contoh yang mendemonstrasikan hal tersebut dengan Perangkat Sycamore:<syntaxhighlight lang="python" line="1">
# Create some qubits.
q0 = cirq.GridQubit(5, 6)
q1 = cirq.GridQubit(5, 5)
q2 = cirq.GridQubit(4, 5)
 
# Create operations using the Sycamore gate, which is supported by the Sycamore device.
# However, create operations for both adjacent and non-adjacent qubit pairs.
adjacent_op = cirq_google.SYC(q0, q1)
nonadjacent_op = cirq_google.SYC(q0, q2)
 
# A working circuit for the Sycamore device raises no issues.
working_circuit = cirq.Circuit()
working_circuit.append(adjacent_op)
valid = cirq_google.Sycamore.validate_circuit(working_circuit)
 
# A circuit using invalid operations.
bad_circuit = cirq.Circuit()
bad_circuit.append(nonadjacent_op)
try:
    cirq_google.Sycamore.validate_circuit(bad_circuit)
except ValueError as e:
    print(e)
</syntaxhighlight>memberikan ''output'':<syntaxhighlight lang="output">
Qubit pair is not valid on device: (cirq.GridQubit(5, 6), cirq.GridQubit(4, 5)).
 
</syntaxhighlight>


==== Simulasi ====
==== Simulasi ====
Baris 43: Baris 111:


* <code>simulate()</code>: Secara klasik, saat menyimulasikan suatu sirkuit, suatu simulator dapat secara langsung mengakses dan melihat [[fungsi gelombang]] yang dihasilkan. Hal ini berguna untuk debugging, pembelajaran, dan pemahaman terhadap cara sirkuit akan berfungsi.
* <code>simulate()</code>: Secara klasik, saat menyimulasikan suatu sirkuit, suatu simulator dapat secara langsung mengakses dan melihat [[fungsi gelombang]] yang dihasilkan. Hal ini berguna untuk debugging, pembelajaran, dan pemahaman terhadap cara sirkuit akan berfungsi.
* <code>run()</code>: Saat menggunakan perangkat kuantum yang sebenarnya, kita hanya dapat mengakses hasil akhir dari suatu komputasi dan harus mengambil sampel hasilnya untuk mendapatkan distribusi hasil.
* <code>run()</code>: Saat menggunakan perangkat kuantum yang sebenarnya, kita hanya dapat mengakses hasil akhir dari suatu komputasi dan harus mengambil sampel hasilnya untuk mendapatkan distribusi hasil.<ref>[https://quantumai.google/cirq/start/basics Cirq basics]. ''Google Quantum AI''.</ref>


== Contoh kode ==
== Contoh kode ==
Berikut adalah contoh yang menunjukkan cara membuat dan mengukur [[Bell state]] dalam Cirq:<ref>[https://quantumai.google/cirq Cirq Google Quantum AI]. ''Google Quantum AI''.</ref><syntaxhighlight lang="python" line="1">
import cirq
# Pick a qubit.
qubit = cirq.GridQubit(0, 0)
# Create a circuit
circuit = cirq.Circuit(
    cirq.X(qubit)**0.5,  # Square root of NOT.
    cirq.measure(qubit, key='m')  # Measurement.
)
print("Circuit:")
print(circuit)


Berikut adalah contoh yang menunjukkan cara membuat dan mengukur [[Bell state]] dalam Cirq:Keluaran atau ''output'' dari kode di atas:
# Simulate the circuit several times.
simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=20)
print("Results:")
print(result)
</syntaxhighlight>Keluaran atau ''output'' dari kode di atas:<ref>[https://github.com/quantumlib/Cirq quantumlib/Cirq]. 2023-03-23.</ref><syntaxhighlight lang="output">
Circuit:
(0, 0): ───X^0.5───M('m')───
Results:
m=11000111111011001000
</syntaxhighlight>


== Lihat pula ==
== Lihat pula ==
* [[Qiskit]]
* [[Qiskit]]
* [[Python (bahasa pemrograman)]]
* [[Python (bahasa pemrograman)]]
Baris 56: Baris 146:


== Pranala luar ==
== Pranala luar ==
*  [https://quantumai.google/cirq Situs web resmi Cirq]
*  [https://quantumai.google/cirq Situs web resmi Cirq]
* [https://github.com/quantumlib/Cirq Repositori Cirq di GitHub]
* [https://github.com/quantumlib/Cirq Repositori Cirq di GitHub]
Baris 62: Baris 151:


== Referensi ==
== Referensi ==
 
<references />
 


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Cirq&oldid=28137241 Wikipedia bahasa Indonesia], revisi 28137241 (2025-10-24T09:54:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Cirq&oldid=28137241 Wikipedia bahasa Indonesia], revisi 28137241 (2025-10-24T09:54:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 13.59

Cirq adalah pustaka perangkat lunak, ditulis menggunakan Python, yang digunakan untuk menulis, memanipulasi, dan mengoptimisasi sirkuit kuantum, dan kemudian menjalankannya pada komputer dan simulator kuantum. Cirq menyediakan abstraksi untuk menangani komputer noisy intermediate-scale quantum yang ada saat ini, di mana rincian-rincian dari perangkat keras bersifat vital dalam mencapai hasil state-of-the-art.[1]

Sejarah

Cirq dikembangkan oleh Google Quantum AI Team, dan versi alpha publiknya diumumkan di International Workshop on Quantum Software and Quantum Machine Learning pada 18 Juni 2018.[2] Sebuah demo oleh QC Ware menunjukkan implementasi dari QAOA yang menyelesaikan contoh masalah potongan maksimum yang dipecahkan pada sebuah simulator Cirq.[3]

Fitur

Konstruksi sirkuit

Struktur-struktur data inti yang menyusun sebuah sirkuit:[4]

Sirkuit

Representasi utama dari program kuantum di dalam Cirq adalah kelas Circuit. Sebuah Circuit merupakan kumpulan dari Moments. Moment merupakan kumpulan dari Operations yang bekerja dalam irisan waktu yang bersamaan. Operation adalah suatu efek yang beroperasi pada subset tertentu dari Qubit; tipe operation yang paling umum adalah GateOperation.[5]

Kubit

Kubit merupakan unit dasar dari informasi kuantum, Kubit atau bit kuantum ( atau quantum bit): sebuah sistem dua tingkat yang berada dalam superposisi dari dua keadaan yang mungkin tersebut. Cirq juga mendukung sistem dimensional yang lebih tinggi yang disebut qudit.

Dalam Cirq, sebuah kubit tidak lain adalah sebuah objek abstrak yang memiliki sebuah identifier, cirq.Qid dan beberapa metadata potensial lainnya untuk menyatakan sifat-sifat spesifik perangkat yang dapat digunakan untuk memvalidasi suatu sirkuit. Lain halnya dengan qubit yang sebenarnya, kubit dalam Cirq tidak memiliki keadaan (state) apa pun. Alasannya adalah karena keadaan yang sebenarnya dari qubit dipertahankan dalam prosesor kuantum, atau, dalam kasus simulasi, berada dalam vektor keadaan yang disimulasikan.

Terdapat 3 tipe qubit utama yang ada dalam Cirq:

  • cirq.NamedQubit - sebuah kubit abstrak yang hanya punya satu nama, tidak ada yang lain. Tipe ini digunakan untuk melabeli kubit menggunakan nama abstrak dan jika pemrogram tidak perlu membuat banyak kubit.
  • cirq.LineQubit - sebuah kubit yang diidentifikasi dengan sebuah indeks integer dalam satu baris. Beberapa perangkat memiliki berbaris-baris kubit, sehingga LineQubit dapat digunakan untuk merepresentasikannya. cirq.LineQubit.Range(3) merupakan cara yang mudah untuk membuat 3 kubit.
  • cirq.GridQubit - sebuah kubit yang ditempatkan pada sebuah grid dan diidentifikasi dengan koordinat 2D. Kebanyakan chip Google dinyatakan menggunakan GridQubit s.

Berikut beberapa contoh untuk menentukan setiap tipe kubit.[6]<syntaxhighlight lang="python" line="1">

  1. Using named qubits can be useful for abstract algorithms
  2. as well as algorithms not yet mapped onto hardware.

q0 = cirq.NamedQubit('source') q1 = cirq.NamedQubit('target')

  1. Line qubits can be created individually

q3 = cirq.LineQubit(3)

  1. Or created in a range
  2. This will create LineQubit(0), LineQubit(1), LineQubit(2)

q0, q1, q2 = cirq.LineQubit.range(3)

  1. Grid Qubits can also be referenced individually

q4_5 = cirq.GridQubit(4, 5)

  1. Or created in bulk in a square
  2. This will create 16 qubits from (0,0) to (3,3)

qubits = cirq.GridQubit.square(4) </syntaxhighlight>Beberapa penyedia komputasi kuantum menyediakan tipe kubitnya sendiri. Contohnya, Pasqal menetapkan TwoDQubit dan ThreeDQubit untuk menyatakan topologi spesifik dari atom netral saat memvalidasi sirkuit-sirkuit.

Gate

Gate merupakan efek yang dapat diterapkan pada sekumpulan kubit (objek-objek dengan sebuah Qid). Gates dapat diaplikasikan terhadap kubit-kubit dengan memanggil metode on mereka, atau, secara alternatif memanggil gate yang ada pada kubit. Objek yang dibuat oleh panggilan-panggilan semacam itu disebut sebagai sebuah operation. Alternatifnya, sebuah gate dapat dianggap sebagai sebuah pabrik yang, dengan kubit input yang telah disebutkan, menghasilkan sebuah objek GateOperation yang terkait.[7]

Cirq mendukung sejumlah gate, dengan peluang untuk memperbanyak gate-gate yang tersedia untuk kasus penggunaan lanjutan.

Contoh operasi yang dapat dilakukan pada gate dan operation:[8]<syntaxhighlight lang="python" line="1">

  1. Example gates

cnot_gate = cirq.CNOT pauli_z = cirq.Z

  1. Use exponentiation to get square root gates.

sqrt_x_gate = cirq.X**0.5

  1. Some gates can also take parameters

sqrt_sqrt_y = cirq.YPowGate(exponent=0.25)

  1. Create two qubits at once, in a line.

q0, q1 = cirq.LineQubit.range(2)

  1. Example operations

z_op = cirq.Z(q0) not_op = cirq.CNOT(q0, q1) sqrt_iswap_op = cirq.SQRT_ISWAP(q0, q1)

  1. You can also use the gates you specified earlier.

cnot_op = cnot_gate(q0, q1) pauli_z_op = pauli_z(q0) sqrt_x_op = sqrt_x_gate(q0) sqrt_sqrt_y_op = sqrt_sqrt_y(q0) </syntaxhighlight>

Sirkuit dan perangkat

Satu hal penting yang harus dipertimbangkan saat menggunakan perangkat kuantum yang sebenarnya adalah bahwa sering kali terdapat keterbatasan mengenai sirkuit-sirkuit yang dapat dijalankan pada perangkat keras tertentu. Objek Device digunakan untuk menetapkan batasan-batasan tersebut dan dapat digunakan untuk memvalidasi sirkuit guna memastikan bahwa sirkuit tersebut tidak berisi operasi-operasi ilegal.[9]

Berikut merupakan contoh yang mendemonstrasikan hal tersebut dengan Perangkat Sycamore:<syntaxhighlight lang="python" line="1">

  1. Create some qubits.

q0 = cirq.GridQubit(5, 6) q1 = cirq.GridQubit(5, 5) q2 = cirq.GridQubit(4, 5)

  1. Create operations using the Sycamore gate, which is supported by the Sycamore device.
  2. However, create operations for both adjacent and non-adjacent qubit pairs.

adjacent_op = cirq_google.SYC(q0, q1) nonadjacent_op = cirq_google.SYC(q0, q2)

  1. A working circuit for the Sycamore device raises no issues.

working_circuit = cirq.Circuit() working_circuit.append(adjacent_op) valid = cirq_google.Sycamore.validate_circuit(working_circuit)

  1. A circuit using invalid operations.

bad_circuit = cirq.Circuit() bad_circuit.append(nonadjacent_op) try:

   cirq_google.Sycamore.validate_circuit(bad_circuit)

except ValueError as e:

   print(e)

</syntaxhighlight>memberikan output:<syntaxhighlight lang="output"> Qubit pair is not valid on device: (cirq.GridQubit(5, 6), cirq.GridQubit(4, 5)).

</syntaxhighlight>

Simulasi

Hasil dari pengaplikasian sirkuit kuantum dapat dihitung menggunakan sebuah Simulator. Cirq dibundel dengan simulator yang dapat menghitung hasil-hasil sirkuit hingga batas sekitar 20 kubit. Simulasi dapat diinisialisasi dengan cirq.Simulator().

Terdapat dua pendekatan berbeda dalam menggunakan sebuah simulator:

  • simulate(): Secara klasik, saat menyimulasikan suatu sirkuit, suatu simulator dapat secara langsung mengakses dan melihat fungsi gelombang yang dihasilkan. Hal ini berguna untuk debugging, pembelajaran, dan pemahaman terhadap cara sirkuit akan berfungsi.
  • run(): Saat menggunakan perangkat kuantum yang sebenarnya, kita hanya dapat mengakses hasil akhir dari suatu komputasi dan harus mengambil sampel hasilnya untuk mendapatkan distribusi hasil.[10]

Contoh kode

Berikut adalah contoh yang menunjukkan cara membuat dan mengukur Bell state dalam Cirq:[11]<syntaxhighlight lang="python" line="1"> import cirq

  1. Pick a qubit.

qubit = cirq.GridQubit(0, 0)

  1. Create a circuit

circuit = cirq.Circuit(

   cirq.X(qubit)**0.5,  # Square root of NOT.
   cirq.measure(qubit, key='m')  # Measurement.

) print("Circuit:") print(circuit)

  1. Simulate the circuit several times.

simulator = cirq.Simulator() result = simulator.run(circuit, repetitions=20) print("Results:") print(result) </syntaxhighlight>Keluaran atau output dari kode di atas:[12]<syntaxhighlight lang="output"> Circuit: (0, 0): ───X^0.5───M('m')─── Results: m=11000111111011001000 </syntaxhighlight>

Lihat pula

Pranala luar

Referensi

  1. Cirq. Google Quantum AI.
  2. Announcing Cirq: An Open Source Framework for NISQ Algorithms. ai.googleblog.com.
  3. public_demos/max_cut_cirq.py at master · qcware/public_demos · GitHub". GitHub.
  4. Build a circuit Cirq. Google Quantum AI.
  5. Circuits Cirq. Google Quantum AI.
  6. Cirq basics. Google Quantum AI.
  7. Gates and operations Cirq. Google Quantum AI.
  8. Cirq basics. Google Quantum AI.
  9. Cirq basics. Google Quantum AI.
  10. Cirq basics. Google Quantum AI.
  11. Cirq Google Quantum AI. Google Quantum AI.
  12. quantumlib/Cirq. 2023-03-23.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28137241 (2025-10-24T09:54:59Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.