śĪfĀ[MĪ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶ&(c) Conal Elliott and Andy J Gill 2008BSD3 conal@conal.net, andygill@ku.edu experimentalNoneQR 1Monoid under group addition. Alternative to the Sum in  Data.Monoid , which uses Ī instead of .Additive group v.&The zero element: identity for '(^+^)' Add vectorsAdditive inverseGroup subtractionSum over several vectors &Application a unary function inside a  'Application a binary function inside a % Ļ  !"#    Ļ  !"#66&(c) Conal Elliott and Andy J Gill 2008BSD3 conal@conal.net, andygill@ku.edu experimentalNone :<=DQR )Adds inner (dot) products.*Inner/dot product+ Vector space v.-Scale a vector.Vector divided by scalar/Vector multiplied by scalar0Linear interpolation between a (when t==0) and b (when t==1).1Linear combination of vectors2NSquare of the length of a vector. Sometimes useful for efficiency. See also 3.3Length of a vector. See also 2.4iVector in same direction as given one but with length of one. If given the zero vector, then return it.5 project u v computes the projection of v onto u.4)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ )*+,-./012345 +,-./)*0123451)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\*7-7.7/7(c) Conal Elliott 2008BSD3conal@conal.net experimentalNone 9;<=DQR^*Representation of the canonical basis for v_Interpret basis rep as a vector`Extract coordinatesaeExperimental version. More elegant definitions, and friendly to infinite-dimensional vector spaces.]^_`abŠŃŅcdefghi1]^_`ab]^_`a1b ]^_`abŠŃŅcdefghi&(c) Conal Elliott and Andy J Gill 2008BSD3 conal@conal.net, andygill@ku.edu experimentalNone:<=DRkAssociated vector spacelSubtract pointsmPoint plus vectornPoint minus vectoroXSquare of the distance between two points. Sometimes useful for efficiency. See also p.p'Distance between two points. See also o.q*Affine linear interpolation. Varies from p to p' as s varies from 0 to 1. See also 0 (on vector spaces).r£Compute an affine combination (weighted average) of points. The first element is used as origin and is weighted such that all coefficients sum to 1. For example,  affineCombo a [(0.3,b), (0.2,c)] is equal to -a .+^ (0.3 *^ (b .-. a) ^+^ 0.2 *^ (c .-. a))and if a, b, and c. were in a vector space would also be equal to "0.5 *^ a ^+^ 0.3 *^ b ^+^ 0.2 *^ c See also 1 (on vector spaces).jklmnopqrstuvwxyz{|}~€‚ jkmlnopqr jklmnopqrjklmnopqrstuvwxyz{|}~€‚l6m6n6(c) Conal Elliott 2008-2016BSD3conal@conal.net experimentalNone /:DILQR ƒNLinear 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—:Apply a linear function to each element of a linear map. liftL f l == linear f *.* l, but works more efficiently.˜nApply a linear binary function (not to be confused with a bilinear function) to each element of a linear map.™pApply a linear ternary function (not to be confused with a trilinear function) to each element of a linear map.!ƒÖ×ŲŌŁ„…†‡ˆ‰Š‹ŒŚŽ‘Õ’“”•–Ū—˜™Üšƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™ƒŒ‘’“Ž”•–—˜™„…†‡ˆ‰Š‹ƒÖ×ŲŌŁ„…†‡ˆ‰Š‹ŒŚŽ‘Õ’“”•–Ū—˜™Üšƒ1“9 (c) Conal Elliott 2008BSD3conal@conal.net experimentalNone9:;<=DQRTœ#Infinitely differentiable functionsTower 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.¦zDifferentiable identity function. Sometimes called "the derivation variable" or similar, but it's not really a variable.§`Every linear function has a constant derivative equal to the function itself (as a linear map).ØDifferentiable version of Ż©Differentiable version of ŽŖÄDerivative tower for applying a binary function that distributes over addition, such as multiplication. A bit weaker assumption than bilinearity. Is bilinearity necessary for correctness here?«(Specialized chain rule. See also '(@.)'¬vSample the derivative at a basis element. Optimized for partial application to save work for non-scalar derivatives."œžŸ ß”¢£¤„¦§Ø©Ŗ«ą¬­®Æ°±²³“µ¶·ø¹ŗ»œž Ÿ”¢£¤„¦§Ø©Ŗ«¬­®Æ°žŸ ¬œ”¢£¤„¦Ø©§Ŗ«­®Æ°œžŸ ß”¢£¤„¦§Ø©Ŗ«ą¬­®Æ°±²³“µ¶·ø¹ŗ»ž9 £4«0(c) Conal Elliott 2008BSD3conal@conal.net experimentalNoneœžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°(c) Conal Elliott 2008BSD3conal@conal.net experimentalNone9:;DQR¼,Cross product of various forms of 3D vectors¾,Cross product of various forms of 2D vectorsĄHomogeneous tripleĮHomogeneous pairĀ SingletonĆ8Thing with a normal vector (not necessarily normalized).Å$Normalized normal vector. See also cross.¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶ ¼½¾æĄĮĀĆÄÅ ĆÄÅĀĮĄ¾æ¼½¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶį       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜÖŻŽßąįāćäåęŁÖēčÖēéźėģ*vector-space-0.10.4-8KZnL9vqF9wDuAEZcYvWEVData.AdditiveGroupData.VectorSpace Data.BasisData.AffineSpaceData.LinearMapData.Maclaurin Data.CrossData.DerivativeSumgetSum AdditiveGroupzeroV^+^negateV^-^sumVinSuminSum2$fAdditiveGroupSum $fMonoidSum$fApplicativeSum $fFunctorSum$fAdditiveGroup:->:$fAdditiveGroupMaybe$fAdditiveGroup(->)$fAdditiveGroup(,,,)$fAdditiveGroup(,,)$fAdditiveGroup(,)$fAdditiveGroupComplex$fAdditiveGroupRatio$fAdditiveGroupCDouble$fAdditiveGroupCFloat$fAdditiveGroupCIntMax$fAdditiveGroupCLLong$fAdditiveGroupCLong$fAdditiveGroupCShort$fAdditiveGroupCInt$fAdditiveGroupCSChar$fAdditiveGroupDouble$fAdditiveGroupFloat$fAdditiveGroupInteger$fAdditiveGroupInt$fAdditiveGroup()$fEqSum$fOrdSum $fReadSum $fShowSum $fBoundedSum InnerSpace<.> VectorSpaceScalar*^^/^*lerp linearCombo magnitudeSq magnitude normalizedproject$fInnerSpaceMaybe$fVectorSpace:->:$fInnerSpace(->)$fVectorSpace(->)$fVectorSpaceMaybe$fInnerSpace(,,,)$fVectorSpace(,,,)$fInnerSpace(,,)$fVectorSpace(,,)$fInnerSpace(,)$fVectorSpace(,)$fInnerSpaceComplex$fVectorSpaceComplex$fInnerSpaceRatio$fVectorSpaceRatio$fInnerSpaceCFloat$fVectorSpaceCFloat$fInnerSpaceCDouble$fVectorSpaceCDouble$fInnerSpaceCIntMax$fVectorSpaceCIntMax$fInnerSpaceCLLong$fVectorSpaceCLLong$fInnerSpaceCLong$fVectorSpaceCLong$fInnerSpaceCShort$fVectorSpaceCShort$fInnerSpaceCInt$fVectorSpaceCInt$fInnerSpaceCSChar$fVectorSpaceCSChar$fInnerSpaceFloat$fVectorSpaceFloat$fInnerSpaceDouble$fVectorSpaceDouble$fInnerSpaceInteger$fVectorSpaceInteger$fInnerSpaceInt$fVectorSpaceIntHasBasisBasis basisValue decompose decompose' recompose$fHasBasis(,,) $fHasBasis(,)$fHasBasisRatio$fHasBasisCDouble$fHasBasisDouble$fHasBasisCFloat$fHasBasisFloat AffineSpaceDiff.-..+^.-^ distanceSqdistancealerp affineCombo$fAffineSpace(->)$fAffineSpace(,,)$fAffineSpace(,)$fAffineSpaceRatio$fAffineSpaceCFloat$fAffineSpaceCDouble$fAffineSpaceCIntMax$fAffineSpaceCLLong$fAffineSpaceCLong$fAffineSpaceCShort$fAffineSpaceCInt$fAffineSpaceCSChar$fAffineSpaceFloat$fAffineSpaceDouble$fAffineSpaceInteger$fAffineSpaceInt:-*exlLexrLforkLfirstLsecondLinlLinrLjoinLlinearinLMapinLMap2inLMap3lapplyatBasisidL*.*liftMSliftMS2liftMS3liftLliftL2liftL3$fVectorSpace:-*$fAdditiveGroup:-*:~>:>DpowVal derivativepureDfmapD<$>>liftD2liftD3idDlinearDfstDsndDdistrib>-< derivAtBasispairDunpairDtripleD untripleD $fFloating:>$fFractional:>$fNum:>$fInnerSpace:>$fVectorSpace:>$fAdditiveGroup:>$fOrd:>$fOrdB:>$fIfB:>$fEq:>$fShow:> HasCross3cross3 HasCross2cross2ThreeTwoOne HasNormal normalVecnormal$fHasNormal(,,) $fHasNormal:> $fHasCross3:>$fHasCross3(,,)$fHasNormal(,)$fHasNormal:>0 $fHasCross2:>$fHasCross2(,)baseGHC.NumNum~>decomp2unnest3nest3GHC.BaseNothingMSumlapply'LMapunLMapLMap'jsumatZfromMS Data.TuplefstsndnoOvsqr