-
Notifications
You must be signed in to change notification settings - Fork 29
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
Support Complex number #35
Comments
* Now, Vector can handle generic Scalar types
Hi @Axect. I am interested in this feature. At the moment I am using a fork of peroxide for my research which supports complex integration (by which I mean integration of complex functions of a real variable). My implementation, though working, is trivial (I wrote it without giving it much thought), so I don't believe it is upstreamable, but I am willing to work on a more suitable implementation that I can submit to you if you give me directions on what you would expect. To abandon my fork I would need full support of complex numbers, but since - as I said - complex integration is all I am using at the moment, this would be a great starting point for me. Best. |
Hi @GComitini. Thank you for your interest in the complex number support for Peroxide. I appreciate your willingness to contribute to the project. Currently, Peroxide doesn't have any support for complex numbers, but I do have plans to add this feature in the future. For matrices and vectors, I'm considering implementing separate However, for other operations like root finding, solving differential equations, and numerical integration, I don't have a clear idea yet on how to best implement complex number support. I'm open to suggestions and ideas from the community. One approach I'm considering is to create a separate As a first step, I plan to create the Regarding the namespace, although I intend to keep it separate from Implementing complex number support incrementally, starting with the most essential functions and gradually expanding, would be a pragmatic approach. This would also allow for better testing and refinement of the complex number implementations. I would be happy to collaborate with you and other interested contributors to design and implement complex number support in Peroxide. We can discuss ideas, share experiences, and work together to create a robust and user-friendly complex number module. Please feel free to share your thoughts, suggestions, or any specific ideas you have in mind. I'm excited to work with the community to bring complex number support to Peroxide. Best regards, |
Hi @Axect. I think creating a |
Hi @GComitini, Thanks for suggesting the use of generics to reduce duplication in the complex number integration functions. I appreciate your input. I've been considering how to make functions like If there's a way to implement generics without major changes to existing structs, I would be open to that. It could be a good solution. No definite decision has been made yet, and I'm always open to suggestions and discussions. Your ideas are highly valued and appreciated. Thank you again for your contribution. I value your thoughts and look forward to continuing our discussion. |
@Axect Hi, I am new to Rust and would also want to take a shot at this item. I see that you have already implemented Vectors for Complex in the dev branch. Can I work on the Matrix support for Complex? Also, would you please update which items in this list are done, and which are still remaining/newly added? |
@Axect I'm still interested too, all the more because integrating my changes into mainline peroxide would allow me to publish my library on crates.io without needlessly publishing a peroxide fork. Unfortunately, the last time I tried to write a (very long) reply to your last message my battery died and I lost everything I wrote, then I couldn't find the time to rewrite it from scratch. The TL;DR was: I don't think |
Still peroxide supports only real number. But for many cases, complex number, vector & matrix should be required.
num_complex::Complex<F>
Vector
traitscrate::traits::math::{Vector, Normed, InnerProduct, LinearOp, VectorProduct}
crate::traits::fp::FPVector
Matrix
The text was updated successfully, but these errors were encountered: