How to compare two complex numbers?

I am trying to implement Muller's method for computing the complex root of a polynomial.
Here r1,r2 could be complex in nature.
How do i compare r1 and r2. r1 >= r2 doesnt seem to be working. I have read elsewhere that > operator compares only the real part of the complex number. Is this true?

4 commentaires

Matt J
Matt J le 18 Août 2019
Yes, it is true. What would you like r1>=r2 to mean?
Sarath S
Sarath S le 18 Août 2019
Modifié(e) : Sarath S le 18 Août 2019
i would like it to return 1 if r1 is geater than or equal to r2.
ex. if r1 = 4 + 3i and r2 = 3 + 5i, then return 0 because |r1| < |r2|.
I thought that > would compare the magnitudes if it deals with complex numbers.
But i do realise that comparing two complex numbers doesnt make much sense.
Bruno Luong
Bruno Luong le 18 Août 2019
Modifié(e) : Bruno Luong le 18 Août 2019
Then use
abs(r1) < abs(r2)
You notice this is NOT the same than r1 < r2 even for real numbers.
If you apply the first definition with r1=-4 and r2=2 it returns FALSE, which is kind of not comfortable to believe.
In fact there is no order relation for complex numbers.
TMW decides to implement a order relation on complex field that is extended from real number ordering, but rarely pertinent for application.
Sarath S
Sarath S le 18 Août 2019
Okay. Thank you. I'll just go with one of the roots instead of comparing them.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Question posée :

le 18 Août 2019

Modifié(e) :

le 18 Août 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by