Commit 89d33cec authored by Nguyen, Thien Minh's avatar Nguyen, Thien Minh
Browse files

Added test and removed debug prints



Signed-off-by: default avatarThien Nguyen <nguyentm@ornl.gov>
parent 97d543b5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ add_qcor_compile_and_exe_test(qrt_qpu_lambda_bell qpu_lambda/lambda_test_bell.cp
add_qcor_compile_and_exe_test(qrt_qpu_lambda_grover qpu_lambda/grover_lambda_oracle.cpp)
add_qcor_compile_and_exe_test(qrt_qpu_lambdas_in_loop qpu_lambda/deuteron_lambda.cpp)
add_qcor_compile_and_exe_test(qrt_qpu_lambda_deuteron qpu_lambda/deuteron_vqe.cpp)

add_qcor_compile_and_exe_test(qrt_qpu_lambda_objfunc qpu_lambda/deuteron_vqe_obj_func.cpp)

# Arithmetic tests
add_qcor_compile_and_exe_test(qrt_qpu_arith_adder arithmetic/simple.cpp)
+13 −7
Original line number Diff line number Diff line
@@ -4,12 +4,16 @@ int main() {
  // Create the Hamiltonian
  auto H = -2.1433 * X(0) * X(1) - 2.1433 * Y(0) * Y(1) + .21829 * Z(0) -
           6.125 * Z(1) + 5.907;

  auto ansatz = qpu_lambda([](qreg q, double x) {
  int iter_count = 0;
  auto ansatz = qpu_lambda(
      [](qreg q, double x) {
        X(q[0]);
        Ry(q[1], x);
        CX(q[1], q[0]);
  });
        print("Iter", iter_count, "; angle = ", x);
        iter_count++;
      },
      iter_count);

  auto q = qalloc(2);
  auto objective = createObjectiveFunction(ansatz, H, q, 1);
@@ -19,6 +23,7 @@ int main() {
  // Optimize the above function
  auto [optval, opt_params] = optimizer->optimize(*objective.get());
  std::cout << "Energy: " << optval << "\n";
  qcor_expect(std::abs(optval + 1.74886) < 0.1);

  auto ansatz_vec_param = qpu_lambda([](qreg q, std::vector<double> x) {
    X(q[0]);
@@ -30,6 +35,7 @@ int main() {
  auto objective_vec = createObjectiveFunction(ansatz_vec_param, H, q1, 1);

  // Optimize the above function
  auto [optval_vec, opt_params_vec] = optimizer->optimize(*objective.get());
  auto [optval_vec, opt_params_vec] = optimizer->optimize(*objective_vec.get());
  std::cout << "Energy: " << optval_vec << "\n";
  qcor_expect(std::abs(optval_vec + 1.74886) < 0.1);
}
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -180,10 +180,10 @@ public:
      std::shared_ptr<ObjectiveFunction> obj_helper, const int dim,
      HeterogeneousMap opts)
      : qreg(qq) {
    std::cout << "Constructed from lambda\n";
    // std::cout << "Constructed from lambda\n";
    lambda_kernel_evaluator =
        [&, functor](std::vector<double> x) -> std::shared_ptr<CompositeInstruction> {
      std::cout << "HOWDY:\n";
      // std::cout << "HOWDY:\n";
      // Create a new CompositeInstruction, and create a tuple
      // from it so we can concatenate with the tuple args
      auto m_kernel = create_new_composite();
@@ -196,7 +196,7 @@ public:
      auto concatenated =
          std::tuple_cat(kernel_composite_tuple, translated_tuple);
      std::apply(functor, concatenated);
      std::cout << m_kernel->toString() << "\n";
      // std::cout << m_kernel->toString() << "\n";
      return m_kernel;
    };
    observable = obs;