-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature] Support complex matrix #71
[feature] Support complex matrix #71
Conversation
Update `lambert_w` crate to version 0.4.0
- Added to mod.rs
- Added R-like, Python-like and Matlab-like complex matrix constructors - Initial tests added
- Initial impl for complex matrix - Adding docs alongside
- fn kronecker should return Self
- Added further impl for Complex Matrix - Added common properties and math traits for the same
- For now, added seperate trait for functional programming for ComplexMatrix - ToDo: Merge both FPMatrix traits
- Added FPComplexMatrix
- For complex matrix added backend utils and Linear Algebra traits
- Needed for zgemm
- Added GEMM for matrixmultiply for complex matrix
- Added spread fn to help format matrix - Added mutable trait for complex matrix
Hello, @soumyasen1809 Thank you for your incredible work. I'm genuinely impressed by how comprehensively you've implemented almost everything needed for ComplexMatrix. It must have been an exhausting task, and I truly appreciate your effort. I've reviewed the changes and left a few comments requesting some modifications. Please take a look at them when you have a chance. We can discuss any points further in the replies or you can proceed with the suggested changes as you see fit. I noticed you've been working on the dev branch, which is great. However, I've created a new branch specifically for the Complex feature: 35-support-complex-number. It would be ideal if we could move this work to that branch to keep our feature development organized. Once again, thank you for your hard work on this. Let's refine it together and get this fantastic addition to Peroxide across the finish line. |
- Fixed result showing f64 instead of Complex<f64> - Removed commented blocks in LinAlg trait with to-do comment - Removed FPComplexMatrix added temporarily and used generics to in FPMatrix to accomodate ComplexMatrix too - Same as above for MutableMatrix - Removed cgemm as dependency in matrixmultiply in Cargo.toml
Hi @Axect thank you for your kind words :)
Please find the requested changes in my next PR: f277895
Also, I have changed the branch from |
Hi @Axect |
Hello @soumyasen1809 I apologize for the delay in reviewing your PR. I had gone through most of your code changes last week but held off on finalizing the review as I hadn't had the chance to test it locally. After reviewing it today, I found that most of the changes look good. However, I noticed an error occurring in To resolve this, we need to add the following import statements within the use peroxide::complex::matrix::ComplexMatrix;
use num_complex::Complex64; In the future, we might want to create a Also, if you don't mind, it would be helpful to run both Once you've made these changes, please let me know, and I'll proceed with the merge. After that, you can go ahead and rebase for your next PRs. Thank you for your patience and contribution! |
- Added missing imports in test_seq
Hi @Axect I have fixed the issue in the next PR
Thanks for pointing that out.
I forgot to run |
Related to issue #35