class interface POLYNOMIAL

creation

make

make_with_monomial (m: MONOMIAL)

make_with_list (m: LINKED_LIST[MONOMIAL])

— if the list of monomial is not simplified,
— this will not simplify it! Call simplify if you want it simplified

make_as_s_polynomial (f: POLYNOMIAL; g: POLYNOMIAL; tord: TERM_ORDERING)

— will not simplify the S-polynomial!
— call simplify if you want it simplified

feature(s) from POLYNOMIAL

monomial_list: LINKED_LIST[MONOMIAL]

make

make_with_monomial (m: MONOMIAL)

make_with_list (m: LINKED_LIST[MONOMIAL])

— if the list of monomial is not simplified,
— this will not simplify it! Call simplify if you want it simplified

make_as_s_polynomial (f: POLYNOMIAL; g: POLYNOMIAL; tord: TERM_ORDERING)

— will not simplify the S-polynomial!
— call simplify if you want it simplified

add_monomial (mono: MONOMIAL)

— does not simplify; if you want it simplified, call simplify

leading_monomial (tord: TERM_ORDERING): MONOMIAL

number_of_variables: INTEGER

— returns the maximum number of variables in the polynomial

number_of_indeterminates: INTEGER

— synonym for number_of_variables

number_of_terms: INTEGER

simplify: like Current

— returns a simplified version of this polynomial
— does not simplify the polynomial itself!
— if you want to simplify Current and you don't want the unsimplified version anymore,
— use a := a.simplify

prefix "-": like Current

infix "+" (other: POLYNOMIAL): POLYNOMIAL

— does not simplify the result!
— Call simplify if you want it simplified
— creates new monomials;
— changing the result doesn't change the originals

infix "-" (other: POLYNOMIAL): POLYNOMIAL

infix "*" (other: POLYNOMIAL): POLYNOMIAL

infix "#^" (power: INTEGER): POLYNOMIAL

— raises Current to the exponent indicated by power

require

power >= 0 and not is_zero

— this won't work with a polynomial that is already 0

compose (inputs: ARRAY[COMPOSITION_PAIR]): POLYNOMIAL

infix "#@" (inputs: ARRAY[COMPOSITION_PAIR]): POLYNOMIAL

— synonym for compose

require

number_of_variables = inputs.count

common_term: TERM

require

not is_zero

print_text

print_latex

is_zero: BOOLEAN

end of POLYNOMIAL