# Divisão polinomial

Em álgebra, a divisão polinomial é um algoritmo para dividir um polinômio por outro polinômio de menor ou igual grau, ou seja, uma versão generalizada da técnica aritmética de divisão. Considerando os polinômios $f(x)$ e $g(x)$, em que o grau de $f(x)$ é maior ou igual ao grau do polinômio não nulo $g(x)$, existe um único par de polinômios $q(x)$ e $r(x)$ tal que
    ${\frac {f(x)}{g(x)}}=q(x)+{\frac {r(x)}{g(x)}}$ , ou seja, $f(x)=q(x)\cdot g(x)+r(x)$,
sendo que, ou o grau de $r(x)$ é menor do que o de $g(x)$, ou $r(x)$ é nulo. Dividir o dividendo $f(x)$ pelo divisor não nulo $g(x)$, significa obter os polinômios $q(x)$ e $r(x)$. O grau do quociente $q(x)$ é igual ao grau do dividendo $f(x)$ menos o grau do divisor $g(x)$. Se o resto $r(x)$ for zero, o polinômio $f(x)$ tem o polinômio $g(x)$ como fator e diz-se que $f(x)$ é divisível por $g(x)$.
Como $q(x)$ e $r(x)$ são unicamente definidos, não dependem do método utilizado para determiná-los.

## Método da chave

O método da chave consiste em um algoritmo baseado na clássica divisão de Euclides para números inteiros (também conhecida como método da chave), com as devidas adequações:
    ${\begin{matrix}f(x)&{\underline {\left|g(x)\right.}}\\\,&q(x)\\r(x)&\,\end{matrix}}$.

### Exemplo

Encontre o quociente e o resto da divisão de $x^{3}-2x^{2}-4$ (dividendo) pelo divisor $x-3$.
No dividendo, todos os termos com expoentes inferiores ao maior devem ser escritos explicitamente, mesmo que os seus coeficientes sejam zero:
    $x^{3}-2x^{2}+0x-4.$
O quociente e o resto podem ser determinados como segue:
1. Divide-se o primeiro termo do dividendo pelo termo de maior grau do divisor (aquele com a maior potência de $x$) e insere-se o resultado ($x^{3}\div x=x^{2}$) abaixo do divisor:
    ${\begin{matrix}x^{3}-2x^{2}+0x-4&{\underline {\left|x-3\right.}}\\\,&x^{2}\end{matrix}}.$
2. Multiplica-se o divisor pelo resultado obtido (o primeiro termo de eventual quociente) e escreve-se o resultado ($x^{2}(x-3)=x^{3}-3x^{2}$) sob o dividendo:
    ${\begin{array}{lc}x^{3}-2x^{2}+0x-4&{\underline {\left|x-3\right.}}\\x^{3}-3x^{2}&x^{2}\end{array}}$
3. Subtrai-se o produto recém obtido do dividendo e escreve-se o resultado ($x^{3}-2x^{2}-4-(x^{3}-3x^{2})=x^{2}-4$) embaixo:
    ${\begin{array}{lc}x^{3}-2x^{2}+0x-4&{\underline {\left|x-3\right.}}\\{\underline {x^{3}-3x^{2}{\color {White}{00000000}}}}&x^{2}\\{\color {White}{00000}}x^{2}+0x-4&\,\end{array}}$
4. Repete-se as três etapas anteriores, com a observação que desta vez o polinômio que acaba de ser escrito é usado como dividendo:
    ${\begin{array}{lc}x^{3}-2x^{2}+0x-4&{\underline {\left|x-3\right.}}\\{\underline {x^{3}-3x^{2}{\color {White}{00000000}}}}&x^{2}+x\\{\color {White}{00000}}x^{2}+0x-4&\,\\{\color {White}{00000}}{\underline {x^{2}-3x{\color {White}{0000}}}}&\,\\{\color {White}{00000000-}}3x-4&\,\end{array}}$
5. Repete-se a etapa 4 até que o polinômio resultado da subtração fique com grau menor do que o grau do divisor. Tal polinômio é o resto da divisão, sendo neste exemplo obtido no passo seguinte:
    ${\begin{array}{lc}x^{3}-2x^{2}+0x-4&{\underline {\left|x-3\right.}}\\{\underline {x^{3}-3x^{2}{\color {White}{00000000}}}}&x^{2}+x+3\\{\color {White}{00000}}x^{2}+0x-4&\,\\{\color {White}{00000}}{\underline {x^{2}-3x{\color {White}{0000}}}}&\,\\{\color {White}{00000000-}}3x-4&\,\\{\color {White}{00000000-}}{\underline {3x-9}}&\,\\{\color {White}{00000000000000}}5&\,\end{array}}$
Finalizado o processo, pode-se escrever:
    ${x^{3}-2x^{2}-4}=(x-3)\,\underbrace {(x^{2}+x+3)} _{q(x)}+\underbrace {5} _{r(x)}$.

## Método dos coeficientes a determinar

O método dos coeficientes a determinar, também chamado de método de Descartes, consiste em encontrar os coeficientes dos polinômios $q(x)$ e $r(x)$ pela relação
    $f(x)=q(x)\cdot g(x)+r(x),$
de acordo com o grau que tais polinômios podem apresentar. Usam-se os fatos de que o grau do quociente $q(x)$ é igual à subtração dos graus de $f(x)$ e $g(x)$ e de que o grau do resto $r(x)$ é menor do que o grau de $g(x)$ (ou igual no caso em que $g(x)$ tem grau $0$.

### Exemplo

Encontre o quociente e o resto da divisão de $f(x)=x^{2}+x+2$ (dividendo) pelo divisor $g(x)=x-1$.
Nota-se, inicialmente, que os graus de $f(x)$ e $g(x)$ são, respectivamente, $2$ e $1$, de modo que o grau de $q(x)$ é $1$, ou seja, $q(x)=ax+b$, com $a\neq 0$. Ainda, como o grau do resto é menor do que o grau de $g(x)$, $r(x)$ tem grau zero, ou seja, $r(x)=c$. Substituindo em
    $f(x)=q(x)\cdot g(x)+r(x),$
obtém-se:
    $x^{2}+x+2=(ax+b)\cdot (x-1)+c\Rightarrow x^{2}+x+2=(ax^{2}-ax+bx-b)+c\Rightarrow x^{2}+x+2=(a)x^{2}+(-a+b)x+(-b+c)$
o que conduz ao seguinte sistema linear
    $\left\{{\begin{matrix}a=1\\-a+b=1\\-b+c=2\end{matrix}}\right.$,
o qual fornece $a=1$, $b=2$ e $c=4$. Assim, $q(x)=x+2$ e $r(x)=4$. Ou seja, $x^{2}+x+2=(x+2)\cdot (x-1)+4$.

## Divisões por polinômios do tipo $x-a$

Ao dividir um polinômio qualquer por um de grau 1 do tipo $x-a$, pode ser utilizado o Teorema do resto, o Teorema de D’Alembert e o Teorema do fator.
O Teorema do resto garante o resto de uma divisão de um polinômio $f(x)$ qualquer por um polinômio do tipo $x-a$, com $a\in \mathbb {C}$, é igual a $f(a)$, ou seja, $r(x)=f(a)$. Já o Teorema de D’Alembert afirma que para que um polinômio $f(x)$ seja divisível por $x-a$ é necessário e suficiente que $a$ seja raiz de $f(x)$, ou seja, que $f(a)=0$.
O Teorema do fator diz que se $k$ é uma raiz de $f(x)$, com grau maior que zero, então o polinômio $x-k$ é um fator de $f(x)$. Assim, $f(x)$ é divisível por $(x-x_{1})$ e por $(x-x_{2})$, com $x_{1}\neq x_{2}$, se, e somente se, $f(x)$ for divisível por $(x-x_{1})(x-x_{2})$.
Com o disposto acima, para realizar a divisão de um polinômio $f(x)$ por um polinômio do tipo $x-a$ podemos utilizar o dispositivo ou algoritmo de Briot-Ruffini.

## Exemplo de código fonte

Neste exemplo, criamos dois objetos da classe PolynomialFunction, um representando o polinômio P(x) = x^4 + 2x^3 - 5x^2 + 4x + 3 e outro representando o polinômio Q(x) = x^2 + x - 2. Em seguida, utilizamos o método polynomialDivision da classe PolynomialFunction para realizar a divisão polinomial de P(x) por Q(x). O método retorna um array com dois objetos PolynomialFunction, o primeiro representando o quociente da divisão e o segundo representando o resto.