Este é um solucionador extremamente simples e eficiente de equações algébricas de 4ª ordem. Li tantos artigos relacionados, testei outras soluções... No entanto, esta solução contém a melhoria algébrica que simplifica significativamente as coisas. Conseqüentemente, os cálculos numéricos são reduzidos e, pelo que posso ver, o desempenho é extraordinário! A teoria e os fundamentos matemáticos são explicados no arquivo - theorymath_eng.docx.
A solução de uma determinada equação quártica - x^4 + a·x^3 + b·x^2 + c·x + d = 0 - pode ser encontrada pela função:
resolver_quartic(duplo a, duplo b, duplo c, duplo d)
As equações quárticas podem ter diferentes tipos de raízes. a) 4 raízes reais b) 2 raízes reais e 2 raízes conjugadas complexas c) 4 raízes complexas (dois pares de conjugadas complexas). Nosso solve_quartic() retorna o array de quatro números complexos. Se existirem raízes reais, as partes imaginárias das soluções correspondentes serão simplesmente iguais a 0.
(o arquivo main.cpp é fornecido aqui apenas para teste e experimentação)