| Stability | experimental |
|---|---|
| Maintainer | Scott N. Walck <walck@lvc.edu> |
| Safe Haskell | Trustworthy |
Physics.Learn.Curve
Contents
- data Curve = Curve {}
- normalizeCurve :: Curve -> Curve
- concatCurves :: Curve -> Curve -> Curve
- concatenateCurves :: [Curve] -> Curve
- reverseCurve :: Curve -> Curve
- evalCurve :: Curve -> Double -> Position
- shiftCurve :: Displacement -> Curve -> Curve
- straightLine :: Position -> Position -> Curve
- simpleLineIntegral :: (InnerSpace v, Scalar v ~ Double) => Int -> Field v -> Curve -> v
- dottedLineIntegral :: Int -> VectorField -> Curve -> Double
- crossedLineIntegral :: Int -> VectorField -> Curve -> Vec
- compositeSimpsonDottedLineIntegral :: Int -> VectorField -> Curve -> Double
- compositeSimpsonCrossedLineIntegral :: Int -> VectorField -> Curve -> Vec
Curves
Curve is a parametrized function into three-space, an initial limit, and a final limit.
Constructors
| Curve | |
Fields
| |
normalizeCurve :: Curve -> CurveSource
Reparametrize a curve from 0 to 1.
Arguments
| :: Curve | go first along this curve |
| -> Curve | then along this curve |
| -> Curve | to produce this new curve |
Concatenate two curves.
concatenateCurves :: [Curve] -> CurveSource
Concatenate a list of curves. Parametrizes curves equally.
reverseCurve :: Curve -> CurveSource
Reverse a curve.
Arguments
| :: Curve | the curve |
| -> Double | the parameter |
| -> Position | position of the point on the curve at that parameter |
Evaluate the position of a curve at a parameter.
Arguments
| :: Displacement | amount to shift |
| -> Curve | original curve |
| -> Curve | shifted curve |
Shift a curve by a displacement.
The straight-line curve from one position to another.
Line Integrals
Arguments
| :: (InnerSpace v, Scalar v ~ Double) | |
| => Int | number of intervals |
| -> Field v | scalar or vector field |
| -> Curve | curve to integrate over |
| -> v | scalar or vector result |
Calculates integral f dl over curve, where dl is a scalar line element.
Arguments
| :: Int | number of intervals |
| -> VectorField | vector field |
| -> Curve | curve to integrate over |
| -> Double | scalar result |
A dotted line integral.
Arguments
| :: Int | number of intervals |
| -> VectorField | vector field |
| -> Curve | curve to integrate over |
| -> Vec | vector result |
Calculates integral vf x dl over curve.
compositeSimpsonDottedLineIntegralSource
Arguments
| :: Int | number of half-intervals (one less than the number of function evaluations |
| -> VectorField | vector field |
| -> Curve | curve to integrate over |
| -> Double | scalar result |
Quadratic approximation to vector field. Quadratic approximation to curve. Composite strategy. Dotted line integral.
compositeSimpsonCrossedLineIntegralSource
Arguments
| :: Int | number of half-intervals (one less than the number of function evaluations |
| -> VectorField | vector field |
| -> Curve | curve to integrate over |
| -> Vec | vector result |
Quadratic approximation to vector field. Quadratic approximation to curve. Composite strategy. Crossed line integral.