Il s'agit d'un solveur extrêmement simple et efficace d'équations algébriques du 4ème ordre. J'ai lu tellement d'articles sur le sujet, j'ai testé d'autres solutions... Cependant, cette solution contient l'amélioration algébrique qui simplifie considérablement les choses. Par conséquent, les calculs numériques sont réduits et d’après ce que je peux voir, cela fonctionne extraordinairement ! La théorie et le contexte mathématique sont expliqués dans le fichier - théoriquemath_eng.docx.
La solution d'une équation quartique donnée - x^4 + a·x^3 + b·x^2 + c·x + d = 0 - peut être trouvée par la fonction :
solve_quartic(double a, double b, double c, double d)
Les équations quartiques peuvent avoir différents types de racines. a) 4 racines réelles b) 2 racines réelles et 2 racines complexes conjuguées c) 4 racines complexes (deux paires de complexes conjugués). Notre solve_quartic() renvoie le tableau de quatre nombres complexes. S’il existe des racines réelles, les parties imaginaires des solutions correspondantes seront simplement égales à 0.
(le fichier main.cpp est donné ici uniquement à des fins de test et d'expérimentation)