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 Fieldsbounds :: 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

Instances

 Bernstein Int Bernstein (Int, Int) Bernstein (Int, Int, Int) Bernstein (Int, Int, Int, Int)

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

Computes the derivative of a univariate Bernstein polynomial.

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