halg-partial-fraction-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Algebra.Ring.Fraction.Decomp

Description

Partial fraction decomposition for unary polynomials

Synopsis

Documentation

partialFractionDecompositionWith Source #

Arguments

:: (CoeffRing k, Field k) 
=> Unipol k

Numerator

-> NonEmpty (Unipol k, Natural)

Pairwise coprime (partial) factorisation of denominator \(f = \sum_i f_i^{e_i}\) with each \(f_i\) monic and non-constant.

-> PartialFractionDecomp k 

Calculates the partial fraction decomposition with respect to the given pairwise coprime monic factorisation of the denominator.

>>> partialFractionDecompositionWith (#x ^ 3 + 4 * #x^2 - #x - 2 :: Unipol Rational) ((#x, 2) :| [(#x - 1, 1), (#x + 1, 1)])
(x,fromList [(1,1),(2,2)]) :| [(x - 1,fromList [(1,1)]),(x + 1,fromList [(1,-1)])]

pAdicExpansion :: (Field k, CoeffRing k) => Unipol k -> Unipol k -> IntMap (Unipol k) Source #

pAdicExpansion f p gives a p-adic expansion of f by a monic nonconstant polynomial p; i.e. \(a_i \in k[X]\) such that \(\deg a_i < \deg p\)_{i < k}, \(\deg f < km\), and:

\[ f = a_{k - 1} p^{k-1} + \cdots + a_1 p + a_0. \]

>>> pAdicExpansion (#x + 2 :: Unipol Rational) #x
fromList [(0,2),(1,1)]

poweredPartialFraction Source #

Arguments

:: forall k. (Field k, CoeffRing k) 
=> Unipol k

Numerator g with (deg g < deg f).

-> NonEmpty (Unipol k, Natural)

Pairwise coprime (partial) factorisation of denominator \(f = \sum_i f_i^{e_i}\) with each \(f_i\) monic and non-constant.

-> NonEmpty ((Unipol k, Natural), Unipol k) 

Pseudo-partial fraction decomposition

scanZipper :: (NonEmpty a -> [a] -> b) -> NonEmpty a -> NonEmpty b Source #