

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Simulasikan kebisingan dengan OpenQASM 3.0
<a name="braket-openqasm-noise-simulation"></a>

Untuk mensimulasikan noise dengan OpenQASM3, Anda menggunakan instruksi *pragma* untuk menambahkan operator noise. Misalnya, untuk mensimulasikan versi bising dari [program GHZ yang disediakan sebelumnya, Anda dapat mengirimkan program](braket-openqasm-create-submit-task.md#braket-openqasm-example-program) OpenQASM berikut.

```
// ghz.qasm
// Prepare a GHZ state
OPENQASM 3;

qubit[3] q;
bit[3] c;

h q[0];
#pragma braket noise depolarizing(0.75) q[0] cnot q[0], q[1];
#pragma braket noise depolarizing(0.75) q[0]
#pragma braket noise depolarizing(0.75) q[1] cnot q[1], q[2];
#pragma braket noise depolarizing(0.75) q[0]
#pragma braket noise depolarizing(0.75) q[1]

c = measure q;
```

Spesifikasi untuk semua operator kebisingan pragma yang didukung disediakan dalam daftar berikut.

```
#pragma braket noise bit_flip(<float in [0,1/2]>) <qubit>
#pragma braket noise phase_flip(<float in [0,1/2]>) <qubit>
#pragma braket noise pauli_channel(<float>, <float>, <float>)  <qubit>
#pragma braket noise depolarizing(<float in [0,3/4]>) <qubit>
#pragma braket noise two_qubit_depolarizing(<float in [0,15/16]>) <qubit>, <qubit>
#pragma braket noise two_qubit_dephasing(<float in [0,3/4]>) <qubit>, <qubit>
#pragma braket noise amplitude_damping(<float in [0,1]>) <qubit>
#pragma braket noise generalized_amplitude_damping(<float in [0,1]> <float in [0,1]>)  <qubit>
#pragma braket noise phase_damping(<float in [0,1]>) <qubit>
#pragma braket noise kraus([[<complex m0_00>, ], ...], [[<complex m1_00>, ], ...], ...) <qubit>[, <qubit>]     // maximum of 2 qubits and maximum of 4 matrices for 1 qubit, 16 for 2
```

## Operator Kraus
<a name="braket-openqasm-kraus-operator"></a>

Untuk menghasilkan operator Kraus, Anda dapat mengulangi melalui daftar matriks, mencetak setiap elemen matriks sebagai ekspresi kompleks.

Saat menggunakan operator Kraus, ingat hal berikut:
+ Jumlah tidak qubits boleh melebihi 2. [Definisi saat ini dalam skema](https://github.com/aws/amazon-braket-sdk-python/blob/0d28a8fa89263daf5d88bc706e79200d8dc091a8/src/braket/circuits/noises.py#L811-L814)) menetapkan batas ini.
+ Panjang daftar argumen harus kelipatan 8. Ini berarti harus terdiri hanya dari matriks 2x2.
+ Panjang total tidak melebihi 2 matriks num\$1qubits 2\$1. Ini berarti 4 matriks untuk 1 qubit dan 16 untuk 2. qubits
+ Semua matriks yang disediakan [benar-benar pelestarian jejak positif (CPTP)](https://github.com/aws/amazon-braket-sdk-python/blob/0d28a8fa89263daf5d88bc706e79200d8dc091a8/src/braket/circuits/quantum_operator_helpers.py#L94-L108).
+ Produk operator Kraus dengan konjugat transpos mereka perlu ditambahkan ke matriks identitas.