Polynomial division by convolution matrix approach.
Given b(x) and a(x), and find q(x) and r(x) in
b(x) = a(x)*q(x) + r(x)
where
b(x) = b(0)+ ... +b(k)*x^k + ... +b(n)*x^n
a(x) = a(0)+ ... +a(k)*x^k + ... +a(m)*x^m
q(x) = q(0)+ ...+ q(k)*x^k + ... +q(n-m)*x^(n-m)
r(x) = r(0)+ ...+ r(k)*x^k + ... +r(m-1)*x^(m-1)
If coefficients of b(x) and a(x) are all integers, then the entire process may involve mostly integer arithmetric operations. The roundoff errors may thus be eliminated.
This code is similar to the MATLAB's built-in function: 'deconv.m'. |