Normal Form for Polynomial Formulas

  • Context: Undergrad 
  • Thread starter Thread starter dodo
  • Start date Start date
  • Tags Tags
    Form Formulas Normal
Click For Summary

Discussion Overview

The discussion revolves around the concept of defining a "normal form" for polynomial formulas, particularly focusing on polynomials with rational coefficients and polynomial fractions. Participants explore the implications of such a normalization process for programming and mathematical proofs.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • One participant proposes a method to reduce polynomial formulas to a normal form, aiming for a standardized representation that facilitates equality checks between expressions.
  • Another participant shares their experience with similar rational polynomial normalization, highlighting the complexity of output formatting for algebraic expressions.
  • A different participant expresses concern about the existence of a "normal form" and suggests limiting the domain to avoid complications from more complex expressions, while also expressing interest in including multiple variables and substitution.
  • One participant notes that normalizing univariate rational functions can be achieved similarly to rational numbers, mentioning the need for polynomial GCD and division as part of the implementation.
  • Another participant indicates that understanding the underlying algebraic structures is a valuable aspect of the discussion.

Areas of Agreement / Disagreement

Participants express varying levels of agreement on the feasibility and complexity of defining a normal form, with some sharing insights and experiences while others raise concerns about the challenges involved. The discussion remains unresolved regarding the existence and implementation of a universally accepted normal form.

Contextual Notes

Participants acknowledge limitations related to the complexity of output formatting, the need for polynomial GCD, and the challenges of including substitutions in the normalization process.

dodo
Messages
695
Reaction score
2
"Normal form" for formulas

I am about to set myself the following programming exercise; let me know if this would be useful in any way, or how can it be improved into something useful.

Suppose I restrict myself to formulas in polynomials of Q, including polynomial fractions. My intention is to define a "normal form" for such formulas, say, "reduce any possible formula to a polynomial or, if not possible, to a polynomial fraction where the highest coefficient in the denominator is 1". Namely, prefer {{2 \over 3} x^2 + {5 \over 3} x + {7 \over 3}} \over {x + {11 \over 3}} over {2x^2 + 5x + 7} \over {3x + 11}.

The intention is reduce to "normal form" any expression entered by the user. This way, two expressions can be proved equal if they reduce to the same normal form.

If a formula is reduced to a normal form by automated, reversible steps, then an "equation prover" is straightforward: just reduce the LHS and RHS to normal form, and compare if equal; if so, show the steps from LHS to normal form and, reversed, the steps to RHS.

Constants and variables would be stored in infinite precision, fractional form (a numerator and a denominator, with gcd=1). Calculations would be performed in the same manner.
 
Mathematics news on Phys.org


I've done something similar for rational polynomials. The hardest part is probably going to be a toString method for your polynomial class =-) You wouldn't think it, but rules for writing algebraic expressions are arbitrary and complicated!
 


Yes, I know exactly what you mean... which is why I decided I won't spend a minute on output. The output will go on a text line, much like the input, period.

My major concern is: does it exist such a thing as a "normal form"?

That's why I'm limiting the domain, thus avoiding formulas like x^y. But I would really like to include formulas in many variables and, if possible, implement substitution. (Without the program deciding what to substitute in order to accomplish a proof; that might be hard.)
 


You can normalize univariate rational functions the same way as rational numbers -- put it into lowest terms, normalize the numerator, denominator, and that fixes everything up to a choice of signs (you can flip the signs on both terms without changing the rational function), which you make an extra case for.

For the record, this means you're going to have to implement a polynomial GCD, along with polynomial division.

(I'm assuming you want to keep everything in the form of a single rational function expression, rather than other sorts of forms... e.g. the thing you get from partial fractions, or a list of sufficiently many point-value pairs)And for the record, things are a lot simpler because you're working with integer/rational coefficients... because you have unique factorization into irreducible elements (times a leading sign), and even more because the Euclidean algorithm is usable.
 


Indeed, part of the idea is to get an insight on the algebraic structures below. So this information is, as always, very valuable to me.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
4K
Replies
9
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K