Esempio n. 1
0
 def _to_openqasm(self, serialization_properties: OpenQASMSerializationProperties) -> str:
     if not self.target:
         return "#pragma braket result probability all"
     targets = ", ".join(
         serialization_properties.format_target(int(target)) for target in self.target
     )
     return f"#pragma braket result probability {targets}"
Esempio n. 2
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     target_qubit_0 = serialization_properties.format_target(int(target[0]))
     target_qubit_1 = serialization_properties.format_target(int(target[1]))
     return (
         f"#pragma braket noise two_qubit_dephasing({self.probability}) "
         f"{target_qubit_0}, {target_qubit_1}")
Esempio n. 3
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     matrix_list = ", ".join(
         np.array2string(
             matrix,
             separator=", ",
             formatter={
                 "all": lambda x: format_complex(x)
             },
         ).replace("\n", "") for matrix in self._matrices)
     qubit_list = ", ".join(
         serialization_properties.format_target(int(qubit))
         for qubit in target)
     return f"#pragma braket noise kraus({matrix_list}) {qubit_list}"
Esempio n. 4
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     target_qubit = serialization_properties.format_target(int(target[0]))
     return f"#pragma braket noise bit_flip({self.probability}) {target_qubit}"
Esempio n. 5
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     target_qubit = serialization_properties.format_target(int(target[0]))
     return (f"#pragma braket noise pauli_channel"
             f"({self.probX}, {self.probY}, {self.probZ}) {target_qubit}")
Esempio n. 6
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     target_qubit = serialization_properties.format_target(int(target[0]))
     return f"#pragma braket noise phase_damping({self.gamma}) {target_qubit}"
Esempio n. 7
0
 def _to_openqasm(
         self, target: QubitSet,
         serialization_properties: OpenQASMSerializationProperties) -> str:
     target_qubit = serialization_properties.format_target(int(target[0]))
     return ("#pragma braket noise generalized_amplitude_damping("
             f"{self.gamma}, {self.probability}) {target_qubit}")