harshangrjn / QuantumCircuitOpt.jl

A Julia/JuMP Package for Optimal Quantum Circuit Design
Other
55 stars 15 forks source link

Is this tool able to synthesise gates using the Clifford+T gate set? #68

Open AbhiDu96 opened 6 months ago

AbhiDu96 commented 6 months ago

Hello, Thank you very much for open-sourcing this project. I have been playing around with this tool for a month now, but it seems that the algorithm struggles to synthesize circuits using purely Clifford+T gate set. I wonder if I am doing something wrong or is the algorithm not powerful enough to carry out the synthesis. I have tried a small set of hyper-parameter tuning but none of them seem to work. Of course I am also using the free trial version of Gurobi optimizer.

I am attaching the output of my runs here, and any insight will be helpful.

Thanks

results_3-4q.txt 4qubit_results.txt 2qubit_results.txt

harshangrjn commented 6 months ago

@AbhiDu96 Thanks for raising the issue. As long as the elementary gates chosen belong to one of these listed in here, QCOpt should be able to perform the synthesis algorithm. So Clifford+T shouldn't be an issue. Though the package supports any number of elementary gates and total depth for decomposition, the MIP solved can get very hard with increase in these two values. Hence the run times can be significantly slower.

If you have a particular case which you are trying to decompose in a format similar to here, please share it and I will be happy to look into it.

AbhiDu96 commented 4 months ago

Hello @harshangrjn thank you for your response, and apologies for the late reply. I have created similar files as the one in the examples folder in your repository for the target gate sets which I am interested in synthesising using Clifford+T gate set as the elementary gate set. I would be grateful if you could look into it. I uploading them as .txt files but just changing the extension to .jl should do the trick.

3qubit_gates.txt 4qubit_gates.txt

Thanks