Решая задачу по широтно-импульсной модуляции, случайно получил альтернативную формулу решения квадратного уравнения, которая без потери точности позволяет находить меньший по модулю корень при малом a, вплоть до нуля. Вот запись для просмотра и проверки в Математике:
Код
a x^2 + b x + c == 0
{{x -> -2 c / (b + Sqrt[b^2 - 4 a c])}, {x -> -2 c / (b - Sqrt[b^2 - 4 a c])}}
Simplify[%% /. %]
Как можно видеть, корень дискриминанта переехал в знаменатель, и меньшему по модулю корню соответствует большее по модулю значение
-b+-Sqrt(D), что делает данную формулу предпочтительной для вычисления меньшего по модулю корня. Гугление нигде подобной формулы не обнаружило, что странно, так как я вряд ли первым изобрёл столь элементарную формулу, которая реально полезна при некоторых расчётах и должна бы быть более широко известна. Или всё-таки первым?