This project is mirrored from https://github.com/eclipse/xacc. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
  1. 05 Mar, 2020 3 commits
  2. 04 Mar, 2020 2 commits
  3. 02 Mar, 2020 7 commits
  4. 27 Feb, 2020 1 commit
    • Nguyen, Thien Minh's avatar
      Tidy up GOAT pulse optimization interface · e0569bfb
      Nguyen, Thien Minh authored
      
      
      -	Renaming: the service is now called "quantum-control", using "initial-parameters" as config key.
      
      -	Adding an empty argument overload for Optimizer::optimize() method
      
      -	Cleaning up the quantum optimal control interface by adding an internal PulseOptim service to the service registry, then wrap the GOAT optimizer underneath that common interface.
      
      -	Adding an option to specify target unitary as an Eigen matrix.
      
      -	Adding a unit test to cover that matrix input scenario.
      
      Tested by: running all unit tests.
      
      Signed-off-by: Nguyen, Thien Minh's avatarThien Nguyen <nguyentm@ornl.gov>
      e0569bfb
  5. 25 Feb, 2020 1 commit
  6. 24 Feb, 2020 2 commits
    • Nguyen, Thien Minh's avatar
      Minor fixes · 5e891f18
      Nguyen, Thien Minh authored
      
      
      - Forgot to select the correct optimizer based on user config.
      
      - Add a more complex example/test: rather than using the Gaussian pulse (1 parameter), using a Fourier series (many parameters)
      
      Signed-off-by: Nguyen, Thien Minh's avatarThien Nguyen <nguyentm@ornl.gov>
      5e891f18
    • Nguyen, Thien Minh's avatar
      Add XACC Optimal Control Optimizer service · 6ecae529
      Nguyen, Thien Minh authored
      
      
      Currently, this `optimal` control service only supports GOAT.
      
      Inputs:
      
      -	Target unitary
      
      -	Hamiltonian: in the form [H0, (Hi, fi)….]
      
      Expr-tk to compile those symbolic expressions and to evaluate their values or derivatives during propagation.
      
      Add a simple unit test to verify the basic usage.
      
      Signed-off-by: Nguyen, Thien Minh's avatarThien Nguyen <nguyentm@ornl.gov>
      6ecae529
  7. 21 Feb, 2020 2 commits
  8. 20 Feb, 2020 1 commit
    • Nguyen, Thien Minh's avatar
      Working example of GOAT · 181bdc0e
      Nguyen, Thien Minh authored
      
      
      This is still *Work-in-progress* at the moment.
      In particular, I'm using a simple L-BFGS lib for testing purposes.
      Interestingly enough, both NL-OPT and ML-PACK failed to optimize (using l-bfgs)
      this example. They were simply stuck. All impls followed the same trajectory but only
      the simple one was able to escape the local minima and hence converge.
      
      Want to get this checked-in as the baseline first while diving into why ML-PACK and NL-OPT
      cannot work out-of-box for this case. Perhaps there are some options that we can tweak.
      
      Tested by: the added unit test for simple X gate optimization
      
      Signed-off-by: Nguyen, Thien Minh's avatarThien Nguyen <nguyentm@ornl.gov>
      181bdc0e
  9. 18 Feb, 2020 2 commits
  10. 11 Feb, 2020 1 commit
  11. 10 Feb, 2020 2 commits
    • Mccaskey, Alex's avatar
      updates to benchmark docs · f45aa703
      Mccaskey, Alex authored
      
      
      Signed-off-by: Mccaskey, Alex's avatarAlex McCaskey <mccaskeyaj@ornl.gov>
      f45aa703
    • Nguyen, Thien Minh's avatar
      Fix some compatibility issues · 2735dea5
      Nguyen, Thien Minh authored
      
      
      Testing QPT with QuaC, I was puzzled by the fact that `getPointerLike<Accelerator>` and `getPointerLike<CompositeInstruction>` were failing although I *did* send on those two parameters and the heterogenous map *does* contain those params, just that the templated functions are mismatched (possibly between the QuaC side and XACC side)
      
      My theory was that because these are all implicit instantiations, somehow, they can become mismatched (the order in which the compiler sees those instantiations), especially with external linkage (like QuaC).
      
      Anyway, by explicitly instantiating those (Accelerator and Composite), the issue is fixed.
      
      Also, fix a bug in QPT where the imaginary chi vector is always uninitialized (all zeros)
      
      Lastly, add an option to QPT to disable circuit optimization. When the circuit contains pulse instructions, the circuit optimizer doesn’t work correctly (looks like it may skip the pulse instruction and merge gates)
      
      Tested by: running XACC tests and QuaC QPT tests.
      
      Signed-off-by: Nguyen, Thien Minh's avatarThien Nguyen <nguyentm@ornl.gov>
      2735dea5
  12. 07 Feb, 2020 2 commits
  13. 06 Feb, 2020 4 commits
  14. 05 Feb, 2020 5 commits
  15. 03 Feb, 2020 1 commit
  16. 28 Jan, 2020 2 commits
  17. 27 Jan, 2020 2 commits