Hi, I'm @yash-srivastava19. I'm a machine learning research enthusiast, with a particular interest in Natural Language Processing, Data Science, and Artificial Intelligence in general.
I strongly belive in learning with collaboration, so if you want to improve upon some of my project, just ping me.
In the complex_engine.py file, I've implemented the gradient as a complex number, treating the real and imaginary parts as separate entities, but have not find an explanation whether I am correct or not. Any help on this would be really awesome. After that, we can move on to write some tests and check whether it makes sense or not.
Understand the gradient terminology. See of this as a more general version of the real number.
Once this is understood, work on some tests and check the validity.
The ComplexValue class converts any Complex object into ComplexValue when multiplying. But when multiplying ComplexValue with Complex, the following exception is met:
"Can't do that bro."
The reason for this is that the Complex class does not allow multiplication with any other class type. That is, the case of Complex being multiplied with ComplexValue is not handled in the definition of Complex class. Hence, an exception is raised. compare the multiplication definitions in both classes for reference
To recreate the problem, run the code snippet below