Initial support for matrix inverse in qdk_sim_experimental crate#920
Initial support for matrix inverse in qdk_sim_experimental crate#920cgranade merged 14 commits intofeature/opensim-continuousfrom
Conversation
7b876c8 to
e1b3cdf
Compare
|
This PR has been updated to use a pure-Rust implementation of |
kuzminrobin
left a comment
There was a problem hiding this comment.
I'm learning Rust and still don't understand most of the code here. But at a glance I didn't see any thing to report.
Approving to unblock you, but I would recommend an approval from someone more knowledgeable than me.
|
@kuzminrobin: Thanks! If you're curious about any of the Rust-y parts, I'd be happy to sync with you and go over in more detail. In the meantime, @swernli and @SamarSha, if you have any comments on Rust-specific points I'd greatly appreciate your feedback. Thanks! |
bamarsha
left a comment
There was a problem hiding this comment.
I've only looked through half of the files so far.
swernli
left a comment
There was a problem hiding this comment.
Some minor feedback below, but overall it looks great!
|
@SamarSha: Wanted to double-check that all your feedback has been addressed before merging. Thanks! |
|
Yes, looks good, thanks. |
|
Awesome, thank you for all your detailed feedback! 💕 |
This PR begins work on #915 by adding a pure-Rust implementation of LU decompositions and matrix inverses, drawing from the MIT-licensed examples at https://github.com/cgranade/cursed-linalg. These linear algebra routines will be needed in order to implement
expmwithout passing a LAPACK dependency through to end users.The PR will appear very messy until #979 is merged, as it includes unrelated changes from
main.Note that this PR targets a feature branch, and further work on unit tests, integration tests, and perf benchmarks are expected before that feature is merged to main.