mathnet-symbolics
mathnet-symbolics copied to clipboard
Rational.Reduce doesn't always work
Infix.Format(Rational.Reduce(Infix.ParseOrThrow("(q^3*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14)))/q^2"))) == "q*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14))"
Infix.Format(Rational.Reduce(Infix.ParseOrThrow("(q^2*(q*(q + r) - t*(t + w))*(q*(r*t - q*w)*(q*(t + w) - r*(t + w)) + q*(q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41))/q^2"))) == "(q*(q + r) - t*(t + w))*(q*(r*t - q*w)*(q*(t + w) - r*(t + w)) + q*(q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41)"
Infix.Format(Rational.Reduce(Infix.ParseOrThrow("(q^5*(q*(q + r) - t*(t + w))^2*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44)/q^2"))) == "q^3*(q*(q + r) - t*(t + w))^2*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44"
but sum of these numerators doesn't work:
Infix.Format(Rational.Reduce(Infix.ParseOrThrow("(q^3*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14)) + q^2*(q*(q + r) - t*(t + w))*(q*(r*t - q*w)*(q*(t + w) - r*(t + w)) + q*(q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41) + q^5*(q*(q + r) - t*(t + w))^2*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44)/q^2"))) == "(q^3*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14)) + q^2*(q*(q + r) - t*(t + w))*(q*(r*t - q*w)*(q*(t + w) - r*(t + w)) + q*(q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41) + q^5*(q*(q + r) - t*(t + w))^2*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44)/q^2"
Rational.Simplify(Infix.ParseOrThrow("q"),Infix.ParseOrThrow("((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14))+((r*t - q*w)*(q*(t + w) - r*(t + w)) + (q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41)+q^2*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44")) also gives incorrect result
Rational.Expand(Infix.ParseOrThrow("((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*(-q*r*(q*(q + r) - t*(t + w))*y11 + q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14))+((r*t - q*w)*(q*(t + w) - r*(t + w)) + (q^2 - r^2)*(q*(q + r) - t*(t + w)))*(q*w*(q*(q + r) - t*(t + w))*y11 - q*(q*(t + w) - r*(t + w))*(t*y11 - q*y14) - q^2*(q*(q + r) - t*(t + w))*y41)+q^2*(q*(q + r) - t*(t + w))*((q*t - r*w)*(q*(q + r) - t*(t + w)) + q*(r*t - w)*(q*(q + r) - w*(t + w)))*y44")) also