randFromArray(['multiply', 'divide'])
randFromArray([[0, 1], [1, 0]])
randVar()
randVar()
randRangeNonZero(-10, 10)
randRangeNonZero(-10, 10)
randRangeNonZero(-10, 10)
randRangeWeightedExclude(-10, 10, 1, 0.4, [0])
function(){if(rand(2))if(rand(2))var e=new Term(randRangeWeightedExclude(-10,10,1,.5,[0]),X),r=new Term(randRangeWeightedExclude(-10,10,1,.4,[0]));else var e=new Term(randRangeWeightedExclude(-10,10,1,.4,[0])),r=new Term(randRangeWeightedExclude(-10,10,1,.5,[0]),X);else var e=new Term(randRangeWeightedExclude(-10,10,1,.4,[0])),r=new Term(randRangeWeightedExclude(-10,10,1,.4,[0]));return[e,r]}()
new RationalExpression([FACTORS[0].multiply(FACTORS[1])])
new RationalExpression([[1, X], A])
new RationalExpression([[1, X], B])
new RationalExpression([[1, X], C])
TERM_B.multiply(TERM_C)
[TERM_A.multiply(FACTOR1), TERM_D]
[TERM_B.multiply(FACTORS[0]), TERM_C.multiply(FACTORS[1])]
[NUMERATORS[0].toString(), '(' + TERM_B.toString() + ')(' + TERM_C.toString() + ')']
[DENOMINATORS[0].toString(), DENOMINATORS[1].toString()]
[NUMERATORS[0].toStringFactored(), NUMER_STRINGS[1]]
[DENOMINATORS[0].toStringFactored(), DENOMINATORS[1].toStringFactored()]
[[FACTOR1], ORDER[0] ? [TERM_B, TERM_C, TERM_A] : [TERM_A, TERM_B, TERM_C]]
[[FACTORS[0], FACTORS[1]], ORDER[0] ? [TERM_C, TERM_B]: [TERM_B, TERM_C]]
TERM_C
[ORDER[0] ? [0, 1] : [1, 2], ORDER]
FACTOR_PRODUCT.isNegative() ? -FACTOR_PRODUCT.getGCD(FACTOR1) : FACTOR_PRODUCT.getGCD(FACTOR1)
NUMERATORS[0].divide(COMMON_FACTOR)
FACTOR_PRODUCT.divide(COMMON_FACTOR)
CANCEL.terms[1].coefficient !== B ? -CANCEL.terms[1] : 0
[TERM_B.multiply(FACTORS[0]), TERM_C.multiply(FACTORS[1])]
[TERM_A.multiply(FACTOR1), TERM_D]
[NUMERATORS[0].toString(), NUMERATORS[1].toString()]
[DENOMINATORS[0].toString(), '(' + TERM_B.toString() + ')(' + TERM_C.toString() + ')']
[NUMERATORS[0].toStringFactored(), NUMERATORS[1].toStringFactored()]
[DENOMINATORS[0].toStringFactored(), DENOM_STRINGS[1]]
[[FACTORS[0], FACTORS[1]], ORDER[0] ? [TERM_C, TERM_B]: [TERM_B, TERM_C]]
[[FACTOR1], ORDER[0] ? [TERM_B, TERM_C, TERM_A] : [TERM_A, TERM_B, TERM_C]]
TERM_C
[ORDER, ORDER[0] ? [0, 1] : [1, 2]]
FACTOR1 < 0 ? -FACTOR_PRODUCT.getGCD(FACTOR1) : FACTOR_PRODUCT.getGCD(FACTOR1)
FACTOR_PRODUCT.divide(COMMON_FACTOR)
DENOMINATORS[0].divide(COMMON_FACTOR)
CANCEL.terms[1].coefficient !== B ? -CANCEL.terms[1] : 0
[TERM_A.multiply(FACTOR1), TERM_D]
[TERM_B.multiply(FACTORS[0]), TERM_A.multiply(FACTORS[1])]
[NUMERATORS[0].toString(), '(' + TERM_B.toString() + ')(' + TERM_C.toString() + ')']
[DENOMINATORS[0].toString(), DENOMINATORS[1].toString()]
[NUMERATORS[0].toStringFactored(), NUMER_STRINGS[1]]
[DENOMINATORS[0].toStringFactored(), DENOMINATORS[1].toStringFactored()]
[[FACTOR1], ORDER[0] ? [TERM_B, TERM_C, TERM_A] : [TERM_A, TERM_B, TERM_C]]
[[FACTORS[0], FACTORS[1]], ORDER[0] ? [TERM_A, TERM_B] : [TERM_B, TERM_A]]
TERM_A
[ORDER[0] ? [0, 2] : [0, 1], ORDER]
FACTOR_PRODUCT.isNegative() ? -FACTOR_PRODUCT.getGCD(FACTOR1) : FACTOR_PRODUCT.getGCD(FACTOR1)
TERM_C.multiply(FACTOR1 / COMMON_FACTOR)
FACTOR_PRODUCT.divide(COMMON_FACTOR)
CANCEL.terms[1].coefficient !== B ? -CANCEL.terms[1] : 0
[TERM_B.multiply(FACTORS[0]), TERM_A.multiply(FACTORS[1])]
[TERM_A.multiply(FACTOR1), TERM_D]
[NUMERATORS[0].toString(), NUMERATORS[1].toString()]
[DENOMINATORS[0].toString(), '(' + TERM_B.toString() + ')(' + TERM_C.toString() + ')']
[NUMERATORS[0].toStringFactored(), NUMERATORS[1].toStringFactored()]
[DENOMINATORS[0].toStringFactored(), DENOM_STRINGS[1]]
[[FACTORS[0], FACTORS[1]], ORDER[0] ? [TERM_A, TERM_B] : [TERM_B, TERM_A]]
[[FACTOR1], ORDER[0] ? [TERM_B, TERM_C, TERM_A] : [TERM_A, TERM_B, TERM_C]]
TERM_A
[ORDER, ORDER[0] ? [0, 2] : [1, 0]]
FACTOR1 < 0 ? -FACTOR_PRODUCT.getGCD(FACTOR1) : FACTOR_PRODUCT.getGCD(FACTOR1)
FACTOR_PRODUCT.divide(COMMON_FACTOR)
TERM_C.multiply(FACTOR1 / COMMON_FACTOR)
CANCEL.terms[1].coefficient !== B ? -CANCEL.terms[1] : 0
NUMERSOL.regex(true)
DENOMSOL.regex(true)
-B
SOL
NUMERSOL.regex(true)
DENOMSOL.regex(true)
SOL
-B
NUMERSOL.multiply(-1).regex(true)
DENOMSOL.multiply(-1).regex(true)
-B
SOL
NUMERSOL.multiply(-1).regex(true)
DENOMSOL.multiply(-1).regex(true)
SOL
-B
Simplifica la siguiente expresión y establece las condiciones bajo las cuales es válida la simplificación. Puedes asumir que X \neq 0.
Y =
\dfrac{NUMERATORS[ORDER[0]]}{DENOMINATORS[ORDER[0]]} \times
\dfrac{NUMERATORS[ORDER[1]]}{DENOMINATORS[ORDER[1]]}
\dfrac{NUMERATORS[ORDER[0]]}{DENOMINATORS[ORDER[0]]} \div
\dfrac{DENOMINATORS[ORDER[1]]}{NUMERATORS[ORDER[1]]}
Dividir entre una expresión es lo mismo que multiplicar entre su inverso.
Y =
\dfrac{NUMERATORS[ORDER[0]]}{DENOMINATORS[ORDER[0]]} \times
\dfrac{NUMERATORS[ORDER[1]]}{DENOMINATORS[ORDER[1]]}
Primero factoriza la cuadrática.
Y =
\dfrac{NUMER_STRINGS[ORDER[0]]}{DENOM_STRINGS[ORDER[0]]} \times
\dfrac{NUMER_STRINGS[ORDER[1]]}{DENOM_STRINGS[ORDER[1]]}
Después factoriza otros términos.
Y =
\dfrac{NUMER_STRINGS2[ORDER[0]]}{DENOM_STRINGS2[ORDER[0]]} \times
\dfrac{NUMER_STRINGS2[ORDER[1]]}{DENOM_STRINGS2[ORDER[1]]}
Multiplica los dos numeradores y multiplica los dos denominadores.
Y = \dfrac{
(NUMER_STRINGS2[ORDER[0]])
NUMER_STRINGS2[ORDER[0]] \times
(NUMER_STRINGS2[ORDER[1]])
NUMER_STRINGS2[ORDER[1]] } {
(DENOM_STRINGS2[ORDER[0]])
DENOM_STRINGS2[ORDER[0]] \times
(DENOM_STRINGS2[ORDER[1]])
DENOM_STRINGS2[ORDER[1]] }
Y = \dfrac{
getProduct(NUMER_PRODUCT[0], NUMER_PRODUCT[1])}{
getProduct(DENOM_PRODUCT[0], DENOM_PRODUCT[1])}
Observa que (CANCEL) y (TERM_B) aparece (TERM_B) aparece dos veces en el numerador y denominador entonces los podemos cancelar.
Y = \dfrac{
getProduct(NUMER_PRODUCT[0], NUMER_PRODUCT[1], CANCEL_ORDER[0].slice(0, 1))}{
getProduct(DENOM_PRODUCT[0], DENOM_PRODUCT[1], CANCEL_ORDER[1].slice(0, 1))}
Estamos dividiendo entre TERM_B, así que TERM_B \neq 0.
Por lo tanto, X \neq -B.
Y = \dfrac{
getProduct(NUMER_PRODUCT[0], NUMER_PRODUCT[1], CANCEL_ORDER[0])}{
getProduct(DENOM_PRODUCT[0], DENOM_PRODUCT[1], CANCEL_ORDER[1])}
Estamos dividiendo entre CANCEL, así que CANCEL \neq 0.
Por lo tanto, X \neq -CANCEL.terms[1].
Y =
\dfrac{NUMERSOL.multiply(COMMON_FACTOR).toStringFactored()}{DENOMSOL.multiply(COMMON_FACTOR).toStringFactored()}
Y =
NUMERSOL.toStringFactored()
NUMERSOL.multiply(-1).toStringFactored()
\dfrac{NUMERSOL.toStringFactored()}{DENOMSOL.toStringFactored()}
; \space X \neq -B
; \space X \neq -CANCEL.terms[1]