randRangeNonZero(-5, 5) randRangeNonZero(-5, 5) randRangeNonZero(-5, 5) randRangeNonZero(-5, 5)
A + B -A * D - B * C expr(["+", ["*", E, "x"], F]) expr(C===-D?["+","x^2",C*D]:["+","x^2",["*",-C-D,"x"],C*D]) expr(["+", "x", -C]) expr(["+", "x", -D])
Expande \dfrac{NUMER}{DENOM} usando fracciones parciales.
A B C D
B A D C
a + a
x-a x-a

Primero factoriza el denominador para encontrar los dos denominadores de las dos fracciones en las que separaremos nuestra fracción.

DENOM = (ADENOM)(BDENOM)

Como el denominador puede factorizarse en estas dos partes, podemos escribir nuestra fracción original como la suma de dos fracciones cuyos denominadores son los dos factores que acabamos de encontrar.

\dfrac{NUMER}{ (ADENOM)(BDENOM) } = \dfrac{?}{ADENOM} + \dfrac{?}{BDENOM}

Ahora, reemplazamos los numeradores con polinomios de un grado menor que el grado del polinomio en el denominador.

En nuestro caso, ambos denominadores tiene un grado de 1, así que reemplazamos nuestros numeradores con polinomios de grado 0, o constantes. Usaremos las constantes A y B.

\dfrac{NUMER}{ (ADENOM)(BDENOM) } = \dfrac{A}{ADENOM} + \dfrac{B}{BDENOM}

Ahora, para deshacernos de las fracciones, multiplicamos por el común denominador, (ADENOM)(BDENOM).

NUMER = A(BDENOM) + B(ADENOM)

Podemos resolver para A y B. Una forma fácil de hacer esto es tratar de elegir valores para x que hagan que A o B se cancele y después resolver para la otra.

Tratemos de cancelar B. Vemos que si introducimos C en x, el término con B se cancela y nos quedamos con:

expr(["+", E * C, F]) = A(expr(["+", C, -D]))

E * C + F = expr(["*", C - D, "A"])

A=A

Podemos hacer lo mismo para resolver para B, pero su lugar introducimos D en x:

expr(["+", E * D, F]) = B(expr(["+", D, -C]))

E * D + F = expr(["*", D - C, "B"])

B=B

Ahora, introducimos en nuestras funciones y obtenemos:

\dfrac{NUMER}{DENOM} = \dfrac{A}{ADENOM} + \dfrac{B}{BDENOM}