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

Safe HaskellNone
LanguageHaskell98

MathObj.RefinementMask2

Synopsis

Documentation

data T a Source #

Instances
Functor T Source # 
Instance details

Defined in MathObj.RefinementMask2

Methods

fmap :: (a -> b) -> T a -> T b #

(<$) :: a -> T b -> T a #

Show a => Show (T a) Source # 
Instance details

Defined in MathObj.RefinementMask2

Methods

showsPrec :: Int -> T a -> ShowS #

show :: T a -> String #

showList :: [T a] -> ShowS #

(Arbitrary a, C a) => Arbitrary (T a) Source # 
Instance details

Defined in MathObj.RefinementMask2

Methods

arbitrary :: Gen (T a) #

shrink :: T a -> [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)