[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] [PolynomialCommonDenominator] (new)

From: billpage
Subject: [Axiom-developer] [PolynomialCommonDenominator] (new)
Date: Thu, 17 Mar 2005 21:51:08 -0600

)abbrev package PCDEN PolynomialCommonDenominator
--% PolynomialCommonDenominator
++ Author: Martin Rubey
++ Date Created: 
++ Description: PolynomialCommonDenominator provides
++ functions to compute the common denominator of the coefficients of
++ polynomials over the quotient field of a gcd domain.
++ Keywords: gcd, quotient, common, denominator, polynomial.
PolynomialCommonDenominator(R, Q, P, E, VarSet): Exports == Impl where
  R : IntegralDomain
  Q : QuotientFieldCategory R
  E : OrderedAbelianMonoidSup
  VarSet: OrderedSet
  P: PolynomialCategory(Q, E,VarSet)

  Exports ==> with
    commonDenominator: P -> R
      ++ commonDenominator(q) returns a common denominator d for
      ++ the coefficients of q.
    clearDenominator : P -> P
      ++ clearDenominator(q) returns p such that \spad{q = p/d} where d is
      ++ a common denominator for the coefficients of q.
    splitDenominator : P -> Record(num: P, den: R)
      ++ splitDenominator(q) returns \spad{[p, d]} such that \spad{q = p/d} and 
      ++ is a common denominator for the coefficients of q.
  Impl ==> add
    import CommonDenominator(R, Q, List Q)
    commonDenominator p == commonDenominator coefficients p
    clearDenominator p ==
      d := commonDenominator p
      map(numer(d * #1)::Q, p)
    splitDenominator p ==
      d := commonDenominator p
      [map(numer(d * #1)::Q, p), d]

Next [Guess]
forwarded from

reply via email to

[Prev in Thread] Current Thread [Next in Thread]