úÎHlCPP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  experimentalconal@conal.netPQRST experimental conal@conal.net, andygill@ku.edu 1Monoid under group addition. Alternative to the Sum in   Data.Monoid , which uses U instead of . Additive group v. The zero element: identity for '(^+^)'  Add vectors Additive inverse Group subtraction Sum over several vectors &Application a unary function inside a  'Application a binary function inside a  V     experimental conal@conal.net, andygill@ku.edu Adds inner (dot) products. Inner/ dot product  Vector space v. Scale a vector Vector divided by scalar Vector multiplied by scalar Linear interpolation between a (when t==0) and b (when t==1). DSquare of the length of a vector. Sometimes useful for efficiency.  See also . Length of a vector. See also . BVector in same direction as given one but with length of one. If ( given the zero vector, then return it.       experimentalconal@conal.net *Representation of the canonical basis for v  Interpret basis rep as a vector Extract coordinates AExperimental version. More elegant definitions, and friendly to % infinite-dimensional vector spaces. Linear combination WXY experimental conal@conal.net, andygill@ku.eduAssociated vector space Subtract points Point plus vector !Point minus vector "ASquare of the distance between two points. Sometimes useful for  efficiency. See also #. #'Distance between two points. See also ". $*Affine linear interpolation. Varies from p to p' as s varies  from 0 to 1. See also  (on vector spaces).  !"#$ !"#$  !"#$ experimentalconal@conal.net%?Linear map, represented as an optional memo-trie from basis to  values, where Z' means the zero map (an optimization). [An optional additive value \&)Function (assumed linear) as linear map. ]',Evaluate a linear map on a basis element. I've loosened the type to ! work around a typing problem in  derivAtBasis. 4 atBasis :: (AdditiveGroup v, HasTrie (Basis u)) => & (u :-* v) -> Basis u -> v ( Apply a linear map to a vector. ^)*Compose linear maps +,-_.9Apply a linear function to each element of a linear map.  liftL f l == linear f *.* l, but works more efficiently. /CApply a linear binary function (not to be confused with a bilinear , function) to each element of a linear map. 0EApply a linear ternary function (not to be confused with a trilinear , function) to each element of a linear map. %&'()*+,-./0 %&(')*+,-./0 %&'()*+,-./0 experimentalconal@conal.net1$Infinitely differentiable functions 2Tower of derivatives. 345`6Constant derivative tower. 78Map a linear# function over a derivative tower. 9Apply a linear) binary function over derivative towers. :Apply a linear* ternary function over derivative towers. ;4Differentiable identity function. Sometimes called the derivation variable or similar, but it's not really a variable. <FEvery linear function has a constant derivative equal to the function  itself (as a linear map). =Differentiable version of a >Differentiable version of b ?FDerivative tower for applying a binary function that distributes over A addition, such as multiplication. A bit weaker assumption than > bilinearity. Is bilinearity necessary for correctness here? @"Specialized chain rule. See also '(@.)' cAASample the derivative at a basis element. Optimized for partial 6 application to save work for non-scalar derivatives. BCDE123456789:;<=>?@ABCDE2345A16789:;=><?@BCDE123453456789:;<=>?@ABCDE  experimentalconal@conal.net123456789:;<=>?@ABCDE experimentalconal@conal.net F-Cross product of various forms of 3D vectors GH-Cross product of various forms of 2D vectors IJHomogeneous triple KHomogeneous pair L Singleton M9Thing with a normal vector (not necessarily normalized). NO$Normalized normal vector. See also cross. FGHIJKLMNO MNOLKJHIFG FGGHIIJKLMNNOd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd^efghijkY^lm^lnopvector-space-0.5.9Data.AdditiveGroupData.VectorSpace Data.BasisData.AffineSpaceData.LinearMapData.Maclaurin Data.CrossData.NumInstancesData.DerivativeSumgetSum AdditiveGroupzeroV^+^negateV^-^sumVinSuminSum2 InnerSpace<.> VectorSpaceScalar*^^/^*lerp magnitudeSq magnitude normalizedHasBasisBasis basisValue decompose decompose' linearCombo recompose AffineSpaceDiff.-..+^.-^ distanceSqdistancealerp:-*linearatBasislapplyidL*.*liftMSliftMS2liftMS3liftLliftL2liftL3:~>:>DpowVal derivativepureDfmapD<$>>liftD2liftD3idDlinearDfstDsndDdistrib>-< derivAtBasispairDunpairDtripleD untripleD HasCross3cross3 HasCross2cross2ThreeTwoOne HasNormal normalVecnormalnoOvnoFunlift2lift3lift4baseGHC.NumNum~>decomp2unnest3nest3 Data.MaybeNothingMSumjsumatZlapply'fromMS Data.Tuplefstsndsqr