MCPcopy Create free account
hub / github.com/OriginQ/QPanda-2 / test_noise_learning

Function test_noise_learning

test/Core/QPilotOSMachine.test.cpp:375–416  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

373}
374
375static bool test_noise_learning(QPilotOSMachine& qvm, const CaseConf& conf)
376{
377 size_t bit_num = 6;
378 auto q = qvm.allocateQubits(bit_num);
379 auto c = qvm.allocateCBits(bit_num);
380
381 std::string param_json;
382 size_t loop{ 1 };
383 if (conf.m_default) {
384 param_json = R"({ "ir": "QINIT 3\n CREG 3\n RY q[0],(1.43)\n RY q[1],(2.9)\n RY q[2],(1.47)\n CONTROL q[0]\n X q[1]\n ENDCONTROL\n RY q[0], (1.1)\n RY q[1],(-0.93)\n CONTROL q[0]\n X q[2]\n ENDCONTROL\n RY q[2],(-0.098)\n CONTROL q[1]\n X q[2]\n ENDCONTROL\n RY q[2],(-0.098)\n CONTROL q[0]\n X q[2]\n ENDCONTROL\n RY q[2], (-0.29)\n",
385"pattern": 0,
386"file": "common_generator.py",
387"noise_model_file": "common_PER_experiment.pkl",
388"samples": 10,
389"nl_shots": 256,
390"depths": [2, 4, 8],
391"qem_base_method": 0 })";
392 }
393 else {
394 JsonMsg::JsonBuilder json_builder;
395 json_builder.add_member("ir", conf.m_originir.at(0));
396 json_builder.add_member("pattern", conf.m_em_compute_conf.m_pattern);
397 json_builder.add_member("file", conf.m_em_compute_conf.m_file);
398 json_builder.add_member("noise_model_file", conf.m_em_compute_conf.m_noise_model_file);
399 json_builder.add_member("samples", conf.m_em_compute_conf.m_samples);
400 json_builder.add_member("nl_shots", conf.m_em_compute_conf.m_nl_shots);
401 json_builder.add_array("depths", conf.m_em_compute_conf.m_depths);
402 json_builder.add_member("qem_base_method", conf.m_em_compute_conf.m_qem_base_method);
403 param_json = json_builder.get_json_str(true);
404 loop = conf.m_loop;
405 }
406
407 for (size_t test_cnt = 0; test_cnt < loop; test_cnt++)
408 {
409 std::string task_id = qvm.noise_learning(param_json);
410 std::cout << "get task_id for noise em_compute, task_id: " << task_id << endl;
411 }
412
413 qvm.Free_Qubits(q);
414 qvm.Free_CBits(c);
415 return true;
416}
417
418static bool test_em_compute(QPilotOSMachine& qvm, const CaseConf& conf)
419{

Callers

nothing calls this directly

Calls 9

allocateCBitsMethod · 0.80
add_memberMethod · 0.80
add_arrayMethod · 0.80
get_json_strMethod · 0.80
noise_learningMethod · 0.80
Free_QubitsMethod · 0.80
Free_CBitsMethod · 0.80
allocateQubitsMethod · 0.45
atMethod · 0.45

Tested by

no test coverage detected