úÎOÛFðU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST experimental conal@conal.net, andygill@ku.eduNone 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   VWXYZ[\]^_`abcdefg    VWXYZ[\]^_`abcdefg experimental conal@conal.net, andygill@ku.eduNone 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.  project u v computes the projection of v onto u. # hijklmnopqrstuvwxyz{|}~     hijklmnopqrstuvwxyz{|}~ experimentalconal@conal.netNone*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 €‚ƒ„…† €‚ƒ„…† experimental conal@conal.net, andygill@ku.eduNoneAssociated 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.netNone &?Linear map, represented as an optional memo-trie from basis to  values, where ' means the zero map (an optimization). ŽAn optional additive value ()Function (assumed linear) as linear map. , Apply a linear map to a vector. -*Evaluate a linear map on a basis element.  Handy for , and '(*.*)'. .Identity linear map /Compose linear maps 39Apply a linear function to each element of a linear map.  liftL f l == linear f *.* l, but works more efficiently. 4CApply a linear binary function (not to be confused with a bilinear , function) to each element of a linear map. 5EApply a linear ternary function (not to be confused with a trilinear , function) to each element of a linear map. &‘’Ž“'(”)*+,-./012•345–—&'()*+,-./012345&(,-./)*+012345'&‘’Ž“'(”)*+,-./012•345–— experimentalconal@conal.netNone6$Infinitely differentiable functions 7Tower of derivatives. ;Constant derivative tower. <Map a linear# function over a derivative tower. =Map a linear# function over a derivative tower. >Apply 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. AFEvery linear function has a constant derivative equal to the function  itself (as a linear map). BDifferentiable version of ˜ CDifferentiable version of ™ DFDerivative 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? E"Specialized chain rule. See also '(@.)' FASample the derivative at a basis element. Optimized for partial 6 application to save work for non-scalar derivatives. "6789:š;<=>?@ABCDE›FGHIJœžŸ ¡¢£¤¥¦6789:;<=>?@ABCDEFGHIJ789:F6;<=>?@BCADEGHIJ6789:š;<=>?@ABCDE›FGHIJœžŸ ¡¢£¤¥¦ experimentalconal@conal.netNone6789:;<=>?@ABCDEFGHIJ experimentalconal@conal.netNoneK-Cross product of various forms of 3D vectors M-Cross product of various forms of 2D vectors OHomogeneous triple PHomogeneous pair Q Singleton R9Thing with a normal vector (not necessarily normalized). T$Normalized normal vector. See also cross. KLMNOPQRST§¨©ª«¬­® KLMNOPQRST RSTQPOMNKLKLMNOPQRST§¨©ª«¬­®¯       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–]—˜™š›œžŸ `¡]¢£]¢¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹ºvector-space-0.8.4Data.AdditiveGroupData.VectorSpace Data.BasisData.AffineSpaceData.LinearMapData.Maclaurin Data.CrossData.DerivativeSumgetSum AdditiveGroupzeroV^+^negateV^-^sumVinSuminSum2 InnerSpace<.> VectorSpaceScalar*^^/^*lerp magnitudeSq magnitude normalizedprojectHasBasisBasis basisValue decompose decompose' linearCombo recompose AffineSpaceDiff.-..+^.-^ distanceSqdistancealerp:-*firstLlinearinLMapinLMap2inLMap3lapplyatBasisidL*.*liftMSliftMS2liftMS3liftLliftL2liftL3:~>:>DpowVal derivativepureDfmapD<$>>liftD2liftD3idDlinearDfstDsndDdistrib>-< derivAtBasispairDunpairDtripleD untripleD HasCross3cross3 HasCross2cross2ThreeTwoOne HasNormal normalVecnormalbaseGHC.NumNum~>$fAdditiveGroupSum $fMonoidSum$fApplicativeSum $fFunctorSum$fAdditiveGroup:->:$fAdditiveGroupMaybe$fAdditiveGroup(->)$fAdditiveGroup(,,,)$fAdditiveGroup(,,)$fAdditiveGroup(,)$fAdditiveGroupComplex$fAdditiveGroupRatio$fAdditiveGroupDouble$fAdditiveGroupFloat$fAdditiveGroupInteger$fAdditiveGroupInt$fAdditiveGroup()$fInnerSpaceMaybe$fVectorSpace:->:$fInnerSpace(->)$fVectorSpace(->)$fVectorSpaceMaybe$fInnerSpace(,,,)$fVectorSpace(,,,)$fInnerSpace(,,)$fVectorSpace(,,)$fInnerSpace(,)$fVectorSpace(,)$fInnerSpaceComplex$fVectorSpaceComplex$fInnerSpaceRatio$fVectorSpaceRatio$fInnerSpaceFloat$fVectorSpaceFloat$fInnerSpaceDouble$fVectorSpaceDouble$fInnerSpaceInteger$fVectorSpaceInteger$fInnerSpaceInt$fVectorSpaceIntdecomp2unnest3nest3$fHasBasis(,,) $fHasBasis(,)$fHasBasisRatio$fHasBasisDouble$fHasBasisFloat$fAffineSpace(->)$fAffineSpace(,,)$fAffineSpace(,)$fAffineSpaceRatio$fAffineSpaceFloat$fAffineSpaceDouble Data.MaybeNothingMSumlapply'LMapunLMapLMap'jsumatZfromMS$fVectorSpace:-* Data.TuplefstsndnoOvsqr $fFloating:>$fFractional:>$fNum:>$fInnerSpace:>$fVectorSpace:>$fAdditiveGroup:>$fOrd:>$fOrdB:>$fIfB:>$fEq:>$fShow:>$fHasNormal(,,) $fHasNormal:> $fHasCross3:>$fHasCross3(,,)$fHasNormal(,)$fHasNormal:>0 $fHasCross2:>$fHasCross2(,)