polynomials-bernstein-1.1.1: A solver for systems of polynomial equations in bernstein form

Algebra.Polynomials.Bernstein

Description

Various functions for manipulating polynomials, essentially when represented in the Bernstein basis, in one or two variables.

Synopsis

Documentation

data Bernsteinp a b Source

The type for Bernstein polynomials with an arbitrary number of variables

Constructors

Bernsteinp 

Fields

bounds :: a
 
coefs :: Vector b
 

Instances

Num (Bernsteinp a Interval) => Intervalize (Bernsteinp a) 
(Eq a, Eq b, Unbox b) => Eq (Bernsteinp a b) 
(Num a, Fractional a, Unbox a) => Num (Bernsteinp Int a) 
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int) a) 
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int, Int) a) 
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int, Int, Int) a) 
(Show a, Show b, Unbox b) => Show (Bernsteinp a b) 

solve :: (Show a, Show i, Eq a, Box a i) => Double -> Vector (Bernsteinp i Interval) -> a -> [a]Source

Computes the intersection of a given Bezier hypersurface, given by its graph, with plane z=0.

class Bernstein a whereSource

Methods

(?) :: Unbox b => Bernsteinp a b -> a -> bSource

constant :: (Unbox b, Num b, Fractional b) => b -> Bernsteinp a bSource

scale :: (Num b, Fractional b, Unbox b) => b -> Bernsteinp a b -> Bernsteinp a bSource

promote :: (Unbox b, Num b, Fractional b) => Int -> Bernsteinp Int b -> Bernsteinp a bSource

elevate :: (Unbox b, Num b, Fractional b) => a -> Bernsteinp a b -> Bernsteinp a bSource

eval :: (Unbox b, Num b, Fractional b) => Bernsteinp a b -> Param a b -> bSource

restriction :: (Unbox b, Fractional b, Num b) => Bernsteinp a b -> Param a b -> Param a b -> Bernsteinp a bSource

derivate :: (Unbox a, Num a) => Bernsteinp Int a -> Bernsteinp Int aSource

Computes the derivative of a univariate Bernstein polynomial.

reorient :: Unbox a => Bernsteinp Int a -> Bernsteinp Int aSource

Computes f(1-x) (useful when used with Bezier curves).