mathnet-symbolics icon indicating copy to clipboard operation
mathnet-symbolics copied to clipboard

Rational.Reduce doesn't always work

Open no4ni opened this issue 1 year ago • 2 comments

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"

no4ni avatar Jul 10 '24 09:07 no4ni

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

no4ni avatar Jul 10 '24 10:07 no4ni

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

no4ni avatar Jul 10 '24 10:07 no4ni