diagrams-lib-0.4: Embedded domain-specific language for declarative graphics

Diagrams.CubicSpline.Internal

Contents

Description

Generic functionality for constructing cubic splines

Synopsis

# Solving for spline coefficents

solveTriDiagonal :: Fractional a => [a] -> [a] -> [a] -> [a] -> [a]Source

Solves a system of the form 'A*X=D' for `x` where `A` is an `n` by `n` matrix with `bs` as the main diagonal and `as` the diagonal below and `cs` the diagonal above. See: http://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm

solveCyclicTriDiagonal :: Fractional a => [a] -> [a] -> [a] -> [a] -> a -> a -> [a]Source

Solves a system similar to the tri-diagonal system using a special case of the Sherman--Morrison formula http://en.wikipedia.org/wiki/Sherman-Morrison_formula. This code is based on Numerical Recpies in C's cyclic function in section 2.7.

solveCubicSplineDerivatives :: Fractional a => [a] -> [a]Source

Use the tri-diagonal solver with the appropriate parameters for an open cubic spline.

solveCubicSplineDerivativesClosed :: Fractional a => [a] -> [a]Source

Use the cyclic-tri-diagonal solver with the appropriate parameters for a closed cubic spline.

solveCubicSplineCoefficients :: Fractional a => Bool -> [a] -> [[a]]Source

Use the cyclic-tri-diagonal solver with the appropriate parameters for a closed cubic spline.