Example 1
In Matlab, divide out the root 0.55169 + 1.25335j and its complex conjugate from the polynomial x5 + 2x4 + 3x3 + 4x2 + 5x + 6 without involving complex numbers.
The quadratic which has the two given roots is (x - (0.55169 + 1.25335j))(x - (0.55169 - 1.25335j)) = x2 - 2 0.55169 x + 0.551692 + 1.253352 = x2 - 1.10338x + 1.87525.
This is represented by the vector [1 -1.10338 1.87525], and thus we calculate:
>> roots( [1 2 3 4 5 6] ) ans = 0.55169 + 1.25335i 0.55169 - 1.25335i -0.80579 + 1.22290i -0.80579 - 1.22290i -1.49180 + 0.00000i >> deconv( [1 2 3 4 5 6], [1 -1.10338 1.87525] ) ans = 1.00000 3.10338 4.54896 3.19962 >> roots( ans ) ans = -1.49180 + 0.00000i -0.80579 + 1.22291i -0.80579 - 1.22291i
The remaining roots are coloured to highlight that they remained unchanged throughout the division.
Example 2
What happens if you try to divide out values which are not close to the actual roots? From Example 1, divide out the false root 1 + j and its complex conjugate, i.e., (x − (1 + j))(x − (1 − j)) = x2 − 2x + 2.
If we divide out the two given roots, as follows:
>> roots( [1 2 3 4 5 6] ) ans = 0.55169 + 1.25335i 0.55169 - 1.25335i -0.80579 + 1.22290i -0.80579 - 1.22290i -1.49180 + 0.00000i >> deconv( [1 2 3 4 5 6], [1 -2 2] ) ans = 1 4 9 14 >> roots( ans ) ans = -2.60752 + 0.00000i -0.69624 + 2.21005i -0.69624 - 2.21005i
we note that Matlab will perform the division, but the roots of the solution are significantly different from the roots of the original polynomial.
Copyright ©2005 by Douglas Wilhelm Harder. All rights reserved.