Loading examples/error_mitigation/simple_mitiq.cpp 0 → 100644 +16 −0 Original line number Diff line number Diff line // run error mitigation with mitiq with // $ qcor -qpu aer[noise-model:noise_model.json] -shots 4096 -em mitiq simple_mitiq.cpp // $ ./a.out __qpu__ void noisy_zero(qreg q) { for (int i = 0; i < 100; i++) { X(q[0]); } Measure(q[0]); } int main() { qreg q = qalloc(1); noisy_zero(q); std::cout << "Expectation: " << q.exp_val_z() << "\n"; } No newline at end of file runtime/qcor.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ public: xacc::internal_compiler::__qubit_map = xacc::internal_compiler::parse_qubit_map( __internal__qcor__compile__qubit__map); #endif #ifdef __internal__qcor__compile__decorator__list xacc::internal_compiler::apply_decorators(__internal__qcor__compile__decorator__list); #endif } }; Loading runtime/qrt/qrt.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,10 @@ std::vector<int> parse_qubit_map(const char *qubit_map_str) { return qubitMap; } void apply_decorators(const std::string& decorator_cmdline_string) { auto decorator = xacc::getAcceleratorDecorator(decorator_cmdline_string, get_qpu()); xacc::internal_compiler::qpu = decorator; } } // namespace internal_compiler } // namespace xacc namespace quantum { Loading runtime/qrt/qrt.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ extern std::string __placement_name; // we'll map qubits according to this. extern std::vector<int> __qubit_map; extern std::vector<int> parse_qubit_map(const char *qubit_map_str); extern void apply_decorators(const std::string& decorator_cmdline_string); void simplified_qrt_call_one_qbit(const char *gate_name, const char *buffer_name, Loading tools/driver/qcor.in +7 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,13 @@ def main(argv=None): sys.argv.remove('-placement') sys.argv += ['-D__internal__qcor__compile__placement__name=\"'+placementName+'\"'] if '-em' in sys.argv[1:]: sidx = sys.argv.index('-em') decorator_name = sys.argv[sidx+1] sys.argv.remove(decorator_name) sys.argv.remove('-em') sys.argv += ['-D__internal__qcor__compile__decorator__list=\"'+decorator_name+'\"'] # Get the filename we are compiling or the object file filename = '' fileType = '' Loading Loading
examples/error_mitigation/simple_mitiq.cpp 0 → 100644 +16 −0 Original line number Diff line number Diff line // run error mitigation with mitiq with // $ qcor -qpu aer[noise-model:noise_model.json] -shots 4096 -em mitiq simple_mitiq.cpp // $ ./a.out __qpu__ void noisy_zero(qreg q) { for (int i = 0; i < 100; i++) { X(q[0]); } Measure(q[0]); } int main() { qreg q = qalloc(1); noisy_zero(q); std::cout << "Expectation: " << q.exp_val_z() << "\n"; } No newline at end of file
runtime/qcor.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ public: xacc::internal_compiler::__qubit_map = xacc::internal_compiler::parse_qubit_map( __internal__qcor__compile__qubit__map); #endif #ifdef __internal__qcor__compile__decorator__list xacc::internal_compiler::apply_decorators(__internal__qcor__compile__decorator__list); #endif } }; Loading
runtime/qrt/qrt.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,10 @@ std::vector<int> parse_qubit_map(const char *qubit_map_str) { return qubitMap; } void apply_decorators(const std::string& decorator_cmdline_string) { auto decorator = xacc::getAcceleratorDecorator(decorator_cmdline_string, get_qpu()); xacc::internal_compiler::qpu = decorator; } } // namespace internal_compiler } // namespace xacc namespace quantum { Loading
runtime/qrt/qrt.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ extern std::string __placement_name; // we'll map qubits according to this. extern std::vector<int> __qubit_map; extern std::vector<int> parse_qubit_map(const char *qubit_map_str); extern void apply_decorators(const std::string& decorator_cmdline_string); void simplified_qrt_call_one_qbit(const char *gate_name, const char *buffer_name, Loading
tools/driver/qcor.in +7 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,13 @@ def main(argv=None): sys.argv.remove('-placement') sys.argv += ['-D__internal__qcor__compile__placement__name=\"'+placementName+'\"'] if '-em' in sys.argv[1:]: sidx = sys.argv.index('-em') decorator_name = sys.argv[sidx+1] sys.argv.remove(decorator_name) sys.argv.remove('-em') sys.argv += ['-D__internal__qcor__compile__decorator__list=\"'+decorator_name+'\"'] # Get the filename we are compiling or the object file filename = '' fileType = '' Loading