Ένας μιγαδικός αριθμός είναι ένας αριθμός της μορφής a + b * i, όπου τα a και b είναι πραγματικοί αριθμοί και το i ικανοποιεί τη σχέση i^2 = -1.
Το a ονομάζεται πραγματικό μέρος και το b ονομάζεται φανταστικό μέρος του z.
Ο συζυγής του αριθμού a + b * i είναι ο αριθμός a - b * i.
Η απόλυτη τιμή ενός μιγαδικού αριθμού z = a + b * i είναι ο πραγματικός αριθμός |z| = sqrt(a^2 + b^2). Το τετράγωνο της απόλυτης τιμής |z|^2 είναι το αποτέλεσμα του πολλαπλασιασμού του z με τον μιγαδικό συζυγή του.
Το άθροισμα/η διαφορά δύο μιγαδικών αριθμών προκύπτει προσθέτοντας/αφαιρώντας χωριστά τα πραγματικά και τα φανταστικά μέρη τους:
(a + i * b) + (c + i * d) = (a + c) + (b + d) * i,
(a + i * b) - (c + i * d) = (a - c) + (b - d) * i.
Το αποτέλεσμα του πολλαπλασιασμού είναι εξ ορισμού
(a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.
Ο αντίστροφος ενός μη μηδενικού μιγαδικού αριθμού είναι
1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.
Η διαίρεση ενός μιγαδικού αριθμού a + i * b με έναν άλλο c + i * d δίνει:
(a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.
Η ύψωση του e σε μιγαδικό εκθέτη μπορεί να εκφραστεί ως e^(a + i * b) = e^a * e^(i * b), ο τελευταίος όρος της οποίας δίνεται από τον τύπο του Euler e^(i * b) = cos(b) + i * sin(b).
Υλοποίησε τις παρακάτω πράξεις:
Θεώρησε ότι η γλώσσα προγραμματισμού που χρησιμοποιείς δεν έχει υλοποίηση μιγαδικών αριθμών.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.