Renmusxd / RustQIP

Quantum computing using rust. Efficient and a borrow-checked no cloning theorem!
https://docs.rs/qip/
MIT License
229 stars 18 forks source link

Add more benchmarks #15

Open Renmusxd opened 4 years ago

Renmusxd commented 4 years ago

Current benchmarks focus on executing ops on a state, while this is the bulk of the computational load there are many other features that should be tested, such as program!, invert_fn!, and unitary decomposition.

kris524 commented 2 years ago

Hello @Renmusxd I really love your work and would love to help as much as possible. If you think this project and issue is still relevant let me know. Or if you think there is a higher priority/urgent issue that I can help with I am open to anything

Renmusxd commented 2 years ago

Hey! Thanks for your comment. Right now I've just finished a rewrite and have moved on to testing and benchmarking so this is still absolutely relevant. Basically we need to add unit tests (or inline doc tests), "integration" tests (such as testing a more complete circuit e.g. quantum teleportation - if you look in the commit history you'll see some examples that were removed after the rewrite, I need to migrate those), and benchmarks (we already have a bunch but there's always room for more).

If you need any help with ideas or anything let me know, I really appreciate any help.

Renmusxd commented 2 years ago

For example, there were some old examples which became out of date with the new rewrite. I think rewriting these or other algorithms like these would be a great way to contribute to the repo while simultaneously developing an understanding of the API. These aren't as much unit tests as integration tests since they check whether the whole library can replicate predictions from QM.

kris524 commented 2 years ago

I was just working on adding a new benchmark test using make_sparse_matrix_op and was planning on making a draft PR today. Is that ok? I can then move on to rewrite the examples

btw is there a way to DM you so I don't spam the threads? Maybe Discord?

Renmusxd commented 2 years ago

Seems great - also I don't really use discord so I think the issues pane is fine for this sort of thing which is all project related. If needed feel free to email me though.