JuliaQuantum / QuCmp.jl

A JuliaQuantum package for simulations of quantum computers.
Other
12 stars 6 forks source link

Source [part 2]: Adiabatic Computing #6

Open Roger-luo opened 8 years ago

Roger-luo commented 8 years ago

And some consts in const.jl

Roger-luo commented 8 years ago

@amitjamadagni how's the code review?

There could be some changes on the design later (since this is submitted a month ago, and I've add GPU accelerations to this part), so once we merge this part, I'll start submit the changes.

amitjamadagni commented 8 years ago

@Roger-luo I have started going through the paper you have referred for adiabatic computing. I am currently trying to understand the details and also had few questions like do you want to use something from QuBase or make it completely independent, though in the past we had discussions where we wanted to do it independently -> so do you want to stick to it (which is go ahead with redefining everything) or use QuBase so that we can get rid of few files in here. Also, the current algorithm is for the specific 3 SAT problem right ?! or can it be extended in any way. I ask this, with reference to our previous conversations, I remember you mentioning that the method (here adiabatic computing) can be applied to any algorithm but here it is that we are only focusing on 3 SAT problem. I guess I am missing something, please do let me know if my thinking is going in the right direction.

Roger-luo commented 8 years ago

@amitjamadagni This part (the previous 3 PRs) came from my previous project in the lab. Therefore, the program was designed to solve 3-SAT. I'll write APIs for inputing custom problem Hamiltonians, which will allow universal simulations. The structure of this program stays the same (just write a constructor for AdiaComputer). I hope to continue this project on some previous code, which may save sometime :-)

And this simulator is actually a simple time domain Schrodinger equation solver, I wonder if you have any idea in using QuDynamics.jl here?

For QuBase.jl, I currently think it would be a good choice if we use it. The circuit part may heavily need types like QuArray. Files can be merged by using QuBase.jl. Let me try in using QuBase for adiabatic part first.

And @i2000s says there would be a discussion on the basic types, so we may decide this later?