numeric-prelude-0.4.2: An experimental alternative hierarchy of numeric type classes

Safe HaskellNone




data T a Source


Functor T 
Show a => Show (T a) 
(Arbitrary a, C a) => Arbitrary (T a) 

coeffs :: T a -> [a] Source

fromCoeffs :: [a] -> T a Source

fromPolynomial :: C a => T a -> T a Source

Determine mask by Gauss elimination.

R - alternating binomial coefficients L - differences of translated polynomials in columns

p2 = L * R^(-1) * m

R * L^(-1) * p2 = m

toPolynomial :: C a => T a -> Maybe (T a) Source

If the mask does not sum up to a power of 1/2 then the function returns Nothing.

toPolynomialFast :: C a => T a -> Maybe (T a) Source

refinePolynomial :: C a => T a -> T a -> T a Source

convolvePolynomial :: C a => T a -> T a -> T a Source

Convolve polynomials via refinement mask.

(mask x + ux*(-1,1)^degree x) * (mask y + uy*(-1,1)^degree y)