-
Notifications
You must be signed in to change notification settings - Fork 93
Initial support for matrix inverse in qdk_sim_experimental crate #920
Conversation
7b876c8
to
e1b3cdf
Compare
This PR has been updated to use a pure-Rust implementation of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've only looked through half of the files so far.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
expm
without 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.