PartialFraction RΒΆ
pfr.spad line 1 [edit on github]
The domain PartialFraction implements partial fractions over a euclidean domain R. This requirement on the argument domain allows us to normalize the fractions. Of particular interest are the 2 forms for these fractions. The compact\ ``'' form has only one fractional term per prime in the denominator, while the ``p-adic'' form expands each numerator p-adically via the prime p in the denominator. For computational efficiency, the compact form is used, though the p-adic form may be gotten by calling the function padicFraction. For a general euclidean domain, it is not known how to factor the denominator. Thus the function partialFraction takes an element of Factored(R) as its second argument.
- 0: %
- from AbelianMonoid 
- 1: %
- from MagmaWithUnit 
- *: (%, %) -> %
- from Magma 
- *: (%, Fraction Integer) -> %
- from RightModule Fraction Integer 
- *: (%, R) -> %
- from RightModule R 
- *: (Fraction Integer, %) -> %
- from LeftModule Fraction Integer 
- *: (Integer, %) -> %
- from AbelianGroup 
- *: (NonNegativeInteger, %) -> %
- from AbelianMonoid 
- *: (PositiveInteger, %) -> %
- from AbelianSemiGroup 
- *: (R, %) -> %
- from LeftModule R 
- +: (%, %) -> %
- from AbelianSemiGroup 
- -: % -> %
- from AbelianGroup 
- -: (%, %) -> %
- from AbelianGroup 
- ^: (%, Integer) -> %
- from DivisionRing 
- ^: (%, NonNegativeInteger) -> %
- from MagmaWithUnit 
- ^: (%, PositiveInteger) -> %
- from Magma 
- annihilate?: (%, %) -> Boolean
- from Rng 
- antiCommutator: (%, %) -> %
- associates?: (%, %) -> Boolean
- from EntireRing 
- associator: (%, %, %) -> %
- from NonAssociativeRng 
- characteristic: () -> NonNegativeInteger
- from NonAssociativeRing 
- coerce: % -> Fraction R
- coerce(p)sums up the components of the partial fraction and returns a single fraction.
- coerce: % -> OutputForm
- from CoercibleTo OutputForm 
- coerce: Fraction Factored R -> %
- coerce(f)takes a fraction with numerator and denominator in factored form and creates a partial fraction. It is necessary for the parts to be factored because it is not known in general how to factor elements of- Rand this is needed to decompose into partial fractions.
- coerce: Fraction Integer -> %
- coerce: Integer -> %
- from NonAssociativeRing 
- coerce: R -> %
- from Algebra R 
- commutator: (%, %) -> %
- from NonAssociativeRng 
- compactFraction: % -> %
- compactFraction(p)normalizes the partial fraction- pto the compact representation. In this form, the partial fraction has only one fractional term per prime in the denominator.
- divide: (%, %) -> Record(quotient: %, remainder: %)
- from EuclideanDomain 
- euclideanSize: % -> NonNegativeInteger
- from EuclideanDomain 
- expressIdealMember: (List %, %) -> Union(List %, failed)
- from PrincipalIdealDomain 
- exquo: (%, %) -> Union(%, failed)
- from EntireRing 
- extendedEuclidean: (%, %) -> Record(coef1: %, coef2: %, generator: %)
- from EuclideanDomain 
- extendedEuclidean: (%, %, %) -> Union(Record(coef1: %, coef2: %), failed)
- from EuclideanDomain 
- fractionalTerms: % -> List Record(num: R, d_fact: R, d_exp: NonNegativeInteger)
- fractionalTerms(p)extracts the fractional part of- pto a list of Record(num :- R, den : Factored- R). This returns [] if there is no fractional part.
- gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %
- from GcdDomain 
- group_terms: List Record(num: R, d_fact: R, d_exp: NonNegativeInteger) -> List Record(num: R, d_fact: R, d_exp: NonNegativeInteger)
- Should be local but conditional. 
- inv: % -> %
- from DivisionRing 
- latex: % -> String
- from SetCategory 
- lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %)
- from LeftOreRing 
- leftPower: (%, NonNegativeInteger) -> %
- from MagmaWithUnit 
- leftPower: (%, PositiveInteger) -> %
- from Magma 
- leftRecip: % -> Union(%, failed)
- from MagmaWithUnit 
- multiEuclidean: (List %, %) -> Union(List %, failed)
- from EuclideanDomain 
- numberOfFractionalTerms: % -> Integer
- numberOfFractionalTerms(p)computes the number of fractional terms in- p. This returns 0 if there is no fractional part.
- one?: % -> Boolean
- from MagmaWithUnit 
- opposite?: (%, %) -> Boolean
- from AbelianMonoid 
- padicallyExpand: (R, R) -> SparseUnivariatePolynomial R
- padicallyExpand(p, x)is a utility function that expands the second argument- x- ``p-adically- ''in the first.
- padicFraction: % -> %
- padicFraction(q)expands the fraction- p-adically in the primes- pin the denominator of- q. For example,- padicFraction(3/(2^2)) = 1/2 + 1/(2^2). Use compactFraction to return to compact form.
- partialFraction: (R, Factored R) -> %
- partialFraction(numer, denom)is the main function for constructing partial fractions. The second argument is the denominator and should be factored.
- partialFraction: Fraction R -> % if R has UniqueFactorizationDomain
- partialFraction(f)is a user friendly interface for partial fractions when- fis a fraction of UniqueFactorizationDomain.
- plenaryPower: (%, PositiveInteger) -> %
- from NonAssociativeAlgebra R 
- principalIdeal: List % -> Record(coef: List %, generator: %)
- from PrincipalIdealDomain 
- quo: (%, %) -> %
- from EuclideanDomain 
- recip: % -> Union(%, failed)
- from MagmaWithUnit 
- rem: (%, %) -> %
- from EuclideanDomain 
- rightPower: (%, NonNegativeInteger) -> %
- from MagmaWithUnit 
- rightPower: (%, PositiveInteger) -> %
- from Magma 
- rightRecip: % -> Union(%, failed)
- from MagmaWithUnit 
- sample: %
- from AbelianMonoid 
- sizeLess?: (%, %) -> Boolean
- from EuclideanDomain 
- squareFree: % -> Factored %
- squareFreePart: % -> %
- subtractIfCan: (%, %) -> Union(%, failed)
- unit?: % -> Boolean
- from EntireRing 
- unitCanonical: % -> %
- from EntireRing 
- unitNormal: % -> Record(unit: %, canonical: %, associate: %)
- from EntireRing 
- wholePart: % -> R
- wholePart(p)extracts the whole part of the partial fraction- p.
- zero?: % -> Boolean
- from AbelianMonoid 
Algebra %
Algebra R
BiModule(%, %)
BiModule(Fraction Integer, Fraction Integer)
BiModule(R, R)
Module %
Module R