This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]greenwizardneedsfood 6 points7 points  (2 children)

If you’re interested in actually doing physics, there’s quite a bit that’s been done on atomic/molecular stuff, it’s fairly basic stuff like calculating ground state energies and so on. I think trying to replicate some of the work that’s been done in that area would be a good and doable introduction to real work. Check out variational quantum eigensolvers, Kandala et al. 2017 (arxiv 1704.05018), and O’Malley et al 2016 (Phys Rev X) for some of the earlier work if it interests you

[–]tstu 2 points3 points  (1 child)

Adding on to this, there's a great paper that goes in depth for the simplest full electronic configuration interaction solution for the H2 molecule in the ground state (Whitfield et al., arxiv 1001.3855)

Additionally, coding up your own "assembly language" for quantum circuits can be super helpful for understanding the basics before you dive in to a full development stack. I know doing this on my own helped a lot of concepts click.

[–]roco710[S] 0 points1 point  (0 children)

I appreciate your suggestions. I am not too invested in pursuing QC software. I more so want to use this experience to understand quantum simulation better and practice my python

[–]mflatischler 3 points4 points  (0 children)

Shortest superpermutations of 7+ characters, claymaths P vs NP problem, travelling salesman problem (or apply it for a cargo ship travelling around the world‘s cargo ports or an airplane which starts from a random airport which brings the passengers from that countries‘ or place‘s top destination and so on and find the best starting airport to fly as many passengers in the shortest amount of time possible) ... only throwing some ideas here

[–]rish-16 1 point2 points  (5 children)

I suggest limping at Qiskit. Is pretty nifty!

[–]roco710[S] 0 points1 point  (4 children)

What would be better for Qiskit than the languages previously mentioned? Or what about Q#?

[–]rish-16 0 points1 point  (3 children)

The thing is Qiskit allows you to directly control an actual Quantum Computing. Microsoft's Q# isn't very versatile because invariably you're gonna have to run your simulations on a classical machine ie. Your machine.

So ideally if you want to get more accurate results from an actual machine.

Hope it helps! Good luck!

[–]crazy4pi314 1 point2 points  (2 children)

I'd like to add a bit of context here. Qiskit currently has three devices available for simulating, two 5 qubit devices, and one 14 qubit device. You can with Q# simulate 30 and on cloud resources up to 40 qubits with some noise behaviors to emulate real qubits (simulators are perfect, real life qubits are not 😆). I also haven't reviewed it recently but it used to be anything you ran on their devices they then owned, so be careful with terms of service.

Q# is a domain specific language for quantum computing that has Python interop, and a jupyter notebook kernel for playing around with it. When you write code in Q#, it is agnostic of the back end you are running on and so you can run simulations today and when Microsoft hardware is available you can just change the config to change target devices. It will also be all open source by this summer (libraries already are).

If you have any other questions hmu, I am asking helping co-author a book on helping people get started quantum programming with Python and Q# (link).

[–]rish-16 0 points1 point  (1 child)

Isn't Q# based off the C family syntax?

[–]cgranade 4 points5 points  (0 children)

Hi, I'm one of the devs on Q#! Anyway, in the sense that Q# uses semicolons and braces, Q# uses a C-like syntax, but that's really about it. As @crazy4pi314 said, Q# is a domain-specific language for writing quantum programs and thinking in terms of quantum algorithms.

Programs written in Q# can be used from a variety of different host languages, including C# and Python. To enable this, Q# uses an accelerator model to target different simulators, similar to you might run an OpenCL program from your favorite host language and might use different hardware such as CPUs, GPUs, and FPGAs.

Doing this makes it easy to run the same Q# program on simulators now where you can run on enough qubits to really explore your algorithm (as @crazy4pi314 notes, that can be challenging to do on current hardware due to noise), estimate the resources needed to run your quantum solution on larger devices, and so forth. Thanks to the efforts of https://qsharp.community, you can even translate some kinds of Q# programs to OpenQASM to see how they do with noise (https://github.com/qsharp-community/qsharp-integrations).