discriminant method
The polynomial discriminant, if it exists.
Implementation
@override
Complex discriminant() {
final k = (b * b * c * c * d * d) -
(d * d * d * b * b * b * const Complex.fromReal(4)) -
(d * d * c * c * c * a * const Complex.fromReal(4)) +
(d * d * d * c * b * a * const Complex.fromReal(18)) -
(d * d * d * d * a * a * const Complex.fromReal(27)) +
(e * e * e * a * a * a * const Complex.fromReal(256));
final p = e *
((c * c * c * b * b * const Complex.fromReal(-4)) +
(b * b * b * c * d * const Complex.fromReal(18)) +
(c * c * c * c * a * const Complex.fromReal(16)) -
(d * c * c * b * a * const Complex.fromReal(80)) -
(d * d * b * b * a * const Complex.fromReal(6)) +
(d * d * a * a * c * const Complex.fromReal(144)));
final r = (e * e) *
(b * b * b * b * const Complex.fromReal(-27) +
b * b * c * a * const Complex.fromReal(144) -
a * a * c * c * const Complex.fromReal(128) -
d * b * a * a * const Complex.fromReal(192));
return k + p + r;
}