!:=      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) Justus Sagemller 2016GPL v3(@) jsag $ hvl.no experimentalportableSafe4/(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone&',.1467=>?@ADHMPSUVX6. manifoldsA pair of matching functions. The projection must be a left (but not necessarily right) inverse of the embedding, i.e. the cardinality of a: will have to be less or equal than the cardinality of b. manifoldsInjective embedding manifolds9Surjective projection. Must be left inverse of embedding.0000Safe,< manifolds6Simply a merge sort that discards equivalent elements. manifoldsLike :, but doesn't just discard duplicates but "merges" them.  cmp = cmp `fastNubByWith' . manifolds!This function is also defined in GHC.Exts`, but only in a version that requires (["log [) function applications, as opposed to [ here. (c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#&',=>?@ACHPSUVX_g@rV manifoldsBetter known as ! z (which is not a legal Haskell name), the ray of positive numbers (including zero, i.e. closed on one end).W !"%$#'&*)(-,+10/.54329876=<;:A@?>DCBEFGHIJKLMNOPQRSTUVWXYZ[\]8(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#&',.18=>?@ACDHPRSUVX`d ^ manifoldsbA connected manifold is one where any point can be reached by translation from any other point._ manifoldsSafe version of '(.-~.)'.f manifolds}A Riemannian metric assigns each point on a manifold a scalar product on the tangent space. Note that this association is not continuous, because the charts/tangent spaces in the bundle are a priori disjoint. However, for a proper Riemannian metric, all arising expressions of scalar products from needles between points on the manifold ought to be differentiable.h manifoldsThe word metric  is used in the sense as in general relativity. Actually this is just the type of scalar products on the tangent space. The actual metric is the function x -> x -> Scalar (Needle x) defined by  \p q -> m  (p.-~!q) i manifoldsA co-needle can be understood as a paper stack , with which you can measure the length that a needle reaches in a given direction by counting the number of holes punched through them.j manifoldsqRequire some constraint on a manifold, and also fix the type of the manifold's underlying field. For example,  WithField ! HilbertManifold v constrains v to be a real (i.e., T-) Hilbert space. Note that for this to compile, you will in general need the -XLiberalTypeSynonymsF extension (except if the constraint is an actual type class (like |6): only those can always be partially applied, for type- constraints this is by default not allowed).o manifolds=A point on a manifold, as seen from a nearby reference point.t manifoldsJInstances of this class must be diffeomorphic manifolds, and even have canonically isomorphic tangent spaces, so that fromPackedVector . asPackedVector ::  x ->  J defines a meaningful representational identity  between these spaces.u manifoldsEMust be compatible with the isomorphism on the tangent spaces, i.e. S locallyTrivialDiffeomorphism (p .+~^ v) "a locallyTrivialDiffeomorphism p .+~^ v v | manifoldsSee  and  for the methods. manifoldsBoundary-unsafe version of . manifoldsProxy-version of .;   ^_`abcdefghijklmnopqrstuvwxzy{|}~;|~ iopqhgfe  }`jnmlktuvwxzy{rsabcd^__666(c) Justus Sagemller 2018GPL v3(@) jsag $ hvl.no experimentalportableNone&'8=>?@ADHVXgn manifolds-Provided for convenience. Flipped synonym of k, restricted to manifolds without boundary (so the type of the whole can be inferred from its interior). manifoldsvA zero vector in the fibre bundle at the given position. Intended to be used with tangent-modifying lenses such as . manifoldsex -> ey, ey -> ez, ez -> ex 5(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone ,=>?HVXfrx manifoldsQAn euclidean space is a real affine space whose tangent space is a Hilbert space. manifoldsThe ! class plus manifold constraints.(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#%&',=>?@ACDHPRSUVX`gtNone&'>UV manifoldswCategory of functions that, where defined, have an open region in which they are continuously differentiable. Hence RegionWiseDiff'able0. Basically these are the partial version of  PWDiffable.Though the possibility of undefined regions is of course not too nice (we don't need Java to demonstrate this with its everywhere-looming null values...), this category will propably be the workhorse  for most serious calculus applications, because it contains all the usual trig etc. functions and of course everything algebraic you can do in the reals.SThe easiest way to define ordinary functions in this category is hence with its AgentVal2ues, which have instances of the standard classes  through *. For instance, the following defines the binary entropy1 as a differentiable function on the interval ]0,1[: (it will actually knowP where it's defined and where not. And I don't mean you need to exhaustively -check all results...) Uhb :: RWDiffable ! ! ! hb = alg (\p -> - p * logBase 2 p - (1-p) * logBase 2 (1-p) )  manifoldsA 8 needs to be associated with a certain reference point (D includes that point) to define a connected subset of a manifold. manifolds*A pathwise connected subset of a manifold m!, whose tangent space has scalar s. manifoldsGThe category of differentiable functions between manifolds over scalar s. As you might guess, these offer automatic differentiation of sorts (basically, simple forward AD), but that's in itself is not really the killer feature here. More interestingly, we actually have the ( la Curry-Howard) proof built in: the function f has at x derivative f'  , if, for >0, there exists  such that |f x " (f x + x"f'  )| <  for all |x " x | < .Observe that, though this looks quite similar to the standard definition of differentiability, it is not equivalent thereto  in fact it does not prove any analytic properties at all. To make it equivalent, we need a lower bound on  : simply ? gives us continuity, and for continuous differentiability,  must grow at least like " for small . Neither of these conditions are enforced by the type system, but we do require them for any allowed values because these proofs are obviously tremendously useful  for instance, you can have a root-finding algorithm and actually be sure you get all solutions correctly, not just some] that are (hopefully) the closest to some reference point you'd need to laborously define!2Unfortunately however, this also prevents doing any serious algebra with the category, because even something as simple as division necessary introduces singularities where the derivatives must diverge. Not to speak of many e.g. trigonometric functions that are undefined on whole regions. The  PWDiffable and  categories have explicit handling for those issues built in; you may simply use these categories even when you know the result will be smooth in your relevant domain (or must be, for e.g. physics reasons).((The implementation does not deal with  and  as difference-bounding reals, but rather as metric tensors which define a boundary by prohibiting the overlap from exceeding one. This makes the category actually work on general manifolds.)(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#&',=>?@ACDHPRSUVX_`߆  manifolds Represent a _ by a smooth function which is positive within the region, and crosses zero at the boundary. manifolds=Important special operator needed to compute intersection of s. manifoldsSet-intersection of regions would not be guaranteed to yield a connected result or even have the reference point of one region contained in the other. This combinator assumes (unchecked) that the references are in a connected sub-intersection, which is used as the result. manifolds!Cartesian product of two regions. manifolds%Cartesian product of two pre-regions.  manifoldsnRequire the LHS to be defined before considering the RHS as result. This works analogously to the standard  method  (,) :: Maybe a -> Maybe b -> Maybe b Just _  a = a _  a = Nothing   manifoldsReturn the RHS, if it is less than the LHS. (Really the purpose is just to compare the values, but returning one of them allows chaining of comparison operators like in Python.) Note that less-than comparison is  http://www.paultaylor.eu/ASD/ equivalentL to less-or-equal comparison, because there is no such thing as equality.  manifolds.Return the RHS, if it is greater than the LHS.  manifoldsWTry the LHS, if it is undefined use the RHS. This works analogously to the standard  method  (,) :: Maybe a -> Maybe a -> Maybe a Just x  _ = Just x _  a = a -Basically a weaker and agent-ised version of  .  manifoldseReplace the regions in which the first function is undefined with values from the second function. manifoldsLike ?, but gives a differentiable function instead of a Hask one. manifolds_Limit the number of steps taken in either direction. Note this will not cap the resolution but length of the discretised path. manifoldsParameter interval of interest. manifoldsInaccuracy allowance . manifoldsPath specification. manifolds]Trail of points along the path, such that a linear interpolation deviates nowhere by more as . manifolds*Max number of exploration steps per region manifoldsNeeded resolution of boundaries manifoldsFunction to investigate manifolds<Subintervals on which the function is guaranteed continuous. manifolds:Maximum number of path segments and/or points per segment. manifoldsInaccuracy allowance  for arguments (mostly relevant for resolution of discontinuity boundaries  consider it a safety margin from singularities ), and ! for results in the target space. manifoldskPath specification. It is recommended that this function be limited to a compact interval (e.g. with  ,   and  ). For many functions the discretisation will even work on an infinite interval: the point density is exponentially decreased towards the infinities. But this is still pretty bad for performance. manifolds:Discretised paths: continuous segments in either direction manifoldsx value. manifoldsf xI , derivative (i.e. Taylor-1-coefficient), and reverse propagation of O ( ) bound. manifolds*Max number of exploration steps per region manifolds$Needed resolution in (x,y) direction manifoldsFunction to investigate manifoldsF(XInterval, YInterval) rectangles in which the function graph lies.           4 5 5 3(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone1>&'(&'( (c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#&',=>?@ACDHPRSUVX`W. manifoldsMust be nonzero.*-,+./(c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone&',1=>?@ACDHPRSUVX`g0 manifolds-Oriented hyperplanes, navely generalised to  manifolds: 0 p w" represents the set of all points q such that (q.-~.p) ^<.> w "a 0.|In vector spaces this is indeed a hyperplane; for general manifolds it should behave locally as a plane, globally as an (n"1)-dimensional submanifold.9 manifolds&Some point lying in the desired plane. manifolds6Co-vector perpendicular to the plane. Must be nonzero.; manifolds(Hyperplane to measure the distance from. manifolds~Metric to use for measuring that distance. This can only be accurate if the metric is valid both around the cut-plane's 2M, and around the points you measure. (Strictly speaking, we would need parallel transport to ensure this). manifolds!Point to measure the distance to. manifoldsmA signed number, giving the distance from plane to point with indication on which side the point lies. - if the point isn't reachable from the plane.] !"%$#'&*)(-,+10/.54329876=<;:A@?>DCBEFGHIJKLMNOPQRSTUVWXYZm&'(*+,-./0123456789:;<=]UTSRQPONMLKJIHGEFZYXW&'(./*+,-%$#*)(10/. '&-,+5432!DCB9876"V=<;:A@?>4567=01239;:<m80 (c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone&',.14678=>?@ACDHJMPRSUVXO manifoldsMOne-dimensional manifolds, whose closure is homeomorpic to the unit interval.R manifolds8Starting point; the interpolation will yield this at -1. manifoldsEnd point, for +1.5If the two points are actually connected by a path... manifoldsS...then this is the interpolation function. Attention: the type will change to Differentiable in the future. LMNOPQTSRUVWX UVQTSRWOPMNXL!(c) Justus Sagemller 2016GPL v3(@) jsag $ hvl.no experimentalportableNone &'>DHRUVX (c) Justus Sagemller 2016GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone%&'1478=>?DHJPRSUVX_gI1m manifoldsEssentially the same as (x,y)3, but not considered as a product topology. The * etc. instances just copy the topology of x , ignoring y.q manifolds!Class of manifolds which can use d as a basic set type. This is easily possible for vector spaces with the default implementations.r manifoldsa r b "a True means a is fully contained in b, i.e. from  a p < 1 follows also minusLogOcclusion' b p < 1.s manifolds Intersection between two shades.t manifoldsIf p is in a (red) and  is in b (green), then p.+~^ is in convolveShade' a b (blue). Example: xhttps://nbviewer.jupyter.org/github/leftaroundabout/manifolds/blob/master/test/ShadeCombinations.ipynb#shadeConvolutions :images/examples/ShadeCombinations/2Dconvolution-skewed.pngw manifoldsAccess the center of a  or a .x manifoldstCheck the statistical likelihood-density of a point being within a shade. This is taken as a normal distribution.{ manifoldsASCII version of .} manifolds3Squash a shade down into a lower dimensional space.~ manifoldsgInclude a shade in a higher-dimensional space. Notice that this behaves fundamentally different for  and . For 8, it gives a flat image  of the region, whereas for V it gives an extrusion pillar  pointing in the projection's orthogonal complement. manifoldsCA co-shade  can describe ellipsoid regions as well, but unlike q it can be unlimited / infinitely wide in some directions. It does OTOH need to have nonzero thickness, which  needs not. manifoldsA  is a very crude description of a region within a manifold. It can be interpreted as either an ellipsoid shape, or as the Gaussian peak of a normal distribution (use  2http://hackage.haskell.org/package/manifold-random2 for actually sampling from that distribution).For a preciseR description of an arbitrarily-shaped connected subset of a manifold, there is Region., whose implementation is vastly more complex. manifoldsSpan a 4 from a center point and multiple deviation-vectors. manifoldsiCombine two shades on independent subspaces to a shade with the same properties on the subspaces (see y) and no covariance. manifolds Similar to 2, but instead of expanding the shade, each vector  restrictsr it. Iff these form a orthogonal basis (in whatever sense applicable), then both methods will be equivalent. Note that b is only possible, as such, in an inner-product space; in general you need reciprocal vectors (i) to define a . manifoldsAttempt to find a m that describes the distribution of given points. At least in an affine space (and thus locally in any manifold), this can be used to estimate the parameters of a normal distribution from which some points were sampled. Note that some points will be outside  of the shade, as happens for a normal distribution with some statistical likelyhood. (Use  if you need to prevent that.)For  nonconnected manifolds it will be necessary to yield separate shades for each connected component. And for an empty input list, there is no shade! Hence the result type is a list. manifoldsLike C, but ensure that all points are actually in the shade, i.e. if [ x ex] is the result then metric (recipMetric ex) (p-x ) "d 1 for all p in the list. manifoldsAttempt to reduce the number of shades to fewer (ideally, a single one). In the simplest cases these should guaranteed cover the same area; for non-flat manifolds it only works in a heuristic sense. manifoldsWeakened version of 1. What this function calculates is rather the  weighted mean of ellipsoid regions. If you interpret the shades as uncertain physical measurements with normal distribution, it gives the maximum-likelyhood result for multiple measurements of the same quantity. manifolds5Evaluate the shade as a quadratic form; essentially  minusLogOcclusion sh x = x  .)^ (sh^.shadeExpanse $ x - sh^.shadeCtr)  where D gives a metric (matrix) that characterises the width of the shade. manifoldsHow near (inverse normalised distance, relative to shade expanse) two shades must be to be merged. If this is zero, any shades in the same connected region of a manifold are merged. manifolds A list of n shades. manifoldsm "d n+ shades which cover at least the same area.6klmnopqtusrvz}~|{yxw6vwxlky{|~}qrsuztmnop656 (c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone&'.14567=>?@ACDHPSUVX_gk  manifolds  x "E (x,  x)  manifolds  x "E [(x,  x)]  manifolds  x "E Maybe (x,  x)  manifoldsHourglass as the geometric shape (two opposing ~conical volumes, sharing only a single point in the middle); has nothing to do with time. manifoldsPBuild a quite nicely balanced tree from a cloud of points, on any real manifold. Example: yhttps://nbviewer.jupyter.org/github/leftaroundabout/manifolds/blob/master/test/Trees-and-Webs.ipynb#pseudorandomCloudTree 'images/examples/simple-2d-ShadeTree.png manifoldsThe leaves of a shade tree are numbered. For a given index, this function attempts to find the leaf with that ID, within its immediate environment. manifolds Inverse indexing  of a tree. This is roughly a nearest-neighbour search, but not guaranteed to give the correct result unless evaluated at the precise position of a tree leaf. manifolds Example: yhttps://nbviewer.jupyter.org/github/leftaroundabout/manifolds/blob/master/test/Trees-and-Webs.ipynb#pseudorandomCloudTree 9images/examples/TreesAndWebs/2D-scatter_twig-environs.png manifolds!U+6733 CJK UNIFIED IDEOGRAPH tree(. The main purpose of this is to give  a more concise  instance. manifoldsImitate the specialised ( structure with a simpler, generic tree. manifolds-Left (and, typically, also right) inverse of  fromLeafNodes. manifolds WRT union.& manifoldsUnsafeM: this assumes the direction information of both containers to be equivalent. manifoldsdFor deciding (at the lowest level) what close  means; this is optional for any tree of depth >1. manifoldsThe tree to index into manifoldsPosition to look up manifoldsIndex of the leaf near to the query point, the path  of environment trees leading down to its position (in decreasing order of size), and actual position+info of the found node. manifolds.Sorted list of non-negative indices to extract manifolds Input list manifolds((Extracted elements, remaining elements)Ylqusrvz}~|yxwYvwxly|~}qrsuz (c) Justus Sagemller 2015GPL v3(@) jsag $ hvl.no experimentalportableNone"#&',.1467=>?@ACDHJMPRSUVX_p)*+,-./,-./)*+ (c) Justus Sagemller 2017GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone,1>DHPUVXu manifolds.Dimension of the space of affine functions on v. manifolds1Dimension of the space of quadratic functions on v. 3456789:;<=?@ABCEFGHIKLMNOPQRST KLMNO?@ABEFGHICQRSP=345T6789:;<"(c) Justus Sagemller 2013GPL v3(@) jsag $ hvl.no experimentalportableNone=?w{    !"%$#'&*)(-,+10/.54329876=<;:A@?>DCBEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxzy{|~}&'(*+,-./0123456789:;<=(c) Justus Sagemller 2017GPL v3(@) jsag $ hvl.no experimentalportableNone&'14567>@ADHMPSUVX manifoldsA  is almost, but not quite a mesh. It is a stongly connected directed graph, backed by a tree for fast nearest-neighbour lookup of points.j In general, there can be disconnected components, but every connected component is strongly connected. manifoldsPrefer picking neighbours at right angles to the currently-explored-boundary. This is needed while we still have to link to points in different spatial directions. manifoldsPrefer points directly opposed to the current boundary. This is useful when the system of directions is already complete and we want a nicely symmetric ball  of neighbours around each point. manifolds! from the co-Kleisli category of c. manifolds A vector v for which we want dv .^v "e 0. manifoldsA plane dv  and some vectors ws with dv  .^w "e 0, which should also fulfill dv .^w "e 0. manifolds The plane dv* fulfilling these properties, if possible. manifolds1Absolute-square distance (euclidean norm squared) manifoldsTDirectional distance (distance from wall containing all already known neighbours) manifoldsb Badness  of this point as the next neighbour to link to. In gatherDirections mode this is large if the point is far away, but also if it is right normal to the wall. The reason we punish this is that adding two points directly opposed to each other would lead to an ill-defined wall orientation, i.e. wrong normals on the web boundary. manifolds1The node towards which the paths should converge. manifolds-The action which to traverse along each path. manifolds2Initialisation/evaluation for each path-traversal.aWX\[ZY]^cdjihgfeklmnqrwvutsxyz{|}~a^]WX\[ZYnmlkcdjihgfe}|{zyxqrwvuts~#(c) Justus Sagemller 2016GPL v3(@) jsag $ hvl.no experimentalportableSafe manifolds Subset-finder(c) Justus Sagemller 2016GPL v3(@) jsag $ hvl.no experimentalportableNone&',14567=>?@ADHJMPRSUVX_  manifoldsIf p5 is in all intersectors, it must also be in the hull. manifoldslRe-calculate the links in a web, so as to give each point a satisfyingly complete-spanning  environment. manifoldskConsider at each node not just the connections to already known neighbours, but also the connections to theirh neighbours. If these next-neighbours turn out to be actually situated closer, link to them directly. manifoldsFetch a point between any two neighbouring web nodes on opposite sides of the plane, and linearly interpolate the values onto the cut plane. manifolds! from the co-Kleisli category of c. manifolds! from the co-Kleisli category of c1, restricted to some contiguous part of a web. manifoldsCalculate a quadratic fit with uncertainty margin centered around the connection between any two adjacent nodes. In case of a regular grid (which we by no means require here!) this corresponds to the vector quantities of an Arakawa type C/D grid (cf. A. Arakawa, V.R. Lamb (1977): Computational design of the basic dynamical processes of the UCLA general circulation model) manifoldsThe  jhttp://hackage.haskell.org/package/transformers-0.5.4.0/docs/Control-Monad-Trans-Writer-Lazy.html#v:censortransformers version of this- is insufficiently polymorphic, requiring w ~ w'. manifoldsUnder intersection. manifolds6Local scalar-product generator. You can always use  recipMetric . O (but this may give distortions compared to an actual Riemannian metric). manifolds Source tree. manifoldsdSource tree, with topology information (IDs of neighbour-candidates, or needles pointing to them) manifolds7Scalar product on the domain, for regularising the web. manifolds7Scalar product on the domain, for regularising the web. manifolds#Badness function for local results.1~1~(c) Justus Sagemller 2017GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone,1>DHPUVX$(c) Justus Sagemller 2016GPL v3(@) jsag $ hvl.no experimentalportableNone&',14567=>?@ADHJMPRSUVX_j manifoldsAn ordinary differential equation is one that does not need any a-priori partial derivatives to compute the derivative for integration in some propagation direction. Classically, ODEs are usually understood as DifferentialEquation ! ! p y, but actually xY can at least be an arbitrary one-dimensional space (i.e. basically real intervals or *). In these cases, there is always only one partial derivative: that which we integrate over, in the only possible direction for propagation. manifoldsA function that variates, relatively speaking, most strongly for arguments around 1. In the zero-limit it approaches a constant (but with arbitrarily large derivative); for  ! " the derivative approaches 0.[The idea is that if you consider the ratio of two function values, it will be close to 1 if either both arguments are much smaller or both much larger than 1, even if the ratio of these arguments is large. Only if both arguments are close to 1, or lie on opposite sides of it, will the ratio of the function values will be significant. = =(c) Justus Sagemller 2018GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone ,1456=>?HVұ          (c) Justus Sagemller 2018GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone,>HV=1 manifolds`A mesh that covers  the entire manifold, i.e. any point lies between some nodes of the mesh.3 manifoldsA mesh is a container data structure whose nodes are in some way located distributed over a manifold, and are aware of the topology by way of having access to their neighbours. Any such grid can be seen as a L, but it may have extra structure (e.g. rectangular) in addition to that. 123987654 398765412(c) Justus Sagemller 2018GPL v3(@) jsag $ hvl.no experimentalportableNone[\][\](c) Justus Sagemller 2018GPL v3(@) jsagemue $ uni-koeln.de experimentalportableNone&'1=>?@ACDHSVXfY ? manifolds\Observe local, small variations (in the tangent space) of a coordinate. The idea is that )((p & coord+~c) " p) ^. delta coord "H c, thus the name ? . Note however that this only holds exactly for flat spaces; in most manifolds it can (by design) only be understood in an asymptotic sense, i.e. used for evaluating directional derivatives of some function. In particular, delta =k is unstable near the poles of a sphere, because it has to compensate for the sensitive rotation of the e unit vector. manifolds"Must be conjugate to heading, i.e. manifolds  .^  = 1.F manifoldsA coordinate is a function that can be used both to determine the position of a point on a manifold along the one of some family of (possibly curved) axes on which it lies, and for moving the point along that axis. Basically, this is a ! and can indeed be used with the ,  and  operators. F m ~  m E iIn addition, each type may also have a way of identifying particular coordinate axes. This is done with H$, which is what should be used for defining given coordinate axes.G manifoldsNTo give a custom type coordinate axes, first define an instance of this class.H manifolds*A unique description of a coordinate axis.I manifoldsQHow to use a coordinate axis for points in the containing space. This is what K calls under the hood.J manifoldsDelimiters for the possible values one may choose for a given coordinate, around a point on the manifold. For example, in spherical coordinates, the = generally has a range of (-, )!, except at the poles where it's (0,0). manifolds<Keep length of the list, but shrink the individual elements. manifolds2e-162u. A value that's so small that it can't notably disturb any nonzero value you might realistically encounter (i.e.  x + tiny == xK), but still large enough that ratios can reliably be represented (i.e. x * tiny / tiny == x).:;<=>?@ABCDEFGHIJKLFKGHIJDEBC@AL>?<=:;$Safe manifoldsUnlike the related ,  "spreads out" the shorter list by duplicating elements, before merging, to minimise the number of elements from the longer list which aren't used. manifoldsassociate = associateWith (,).  %None,=?0   &'()*+)*,)-.)-/)-0)-1)-1)-2)-2)-3)-3)-4)-5)-6)-7)-8)-9)-:)-;)-<)-=)->)-?)-@)-A)-B)-C)-C)-D)EF)EG)EH)EI)EJ)KL)KM)KN)KO)KP)KQ)KR)KF)KS)KT)KG)KU)KV)KW)KH)KX)KY)KZ)KI)K[)K\)K])KJ)K^)K_)K`)K`)Ka)Kb)Kc)Kc)Kd)Ke)Ke)Kf)Kghijklmnopqrstuvwxyz{|}~D       !"#$%&'()*+,-./0123456789:;<=>?@ABBCD E F G H I JKKLMNNOPQRSTUVWXYZ[\]^_`abcd e f g h i j k l m n n o p q r s t u v w x y z { | } ~                                                                                                                                                                         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E E F G G H I J K L M N O O P Q R S T T U V W X Y Z [ \ ] ^ _ ` a b c deefghijklmnopqrstuvwxyz{|}~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&')E)E&                    !!!    #####$  $ $ $ $$$$$$%%'manifolds-0.5.1.0-1Kt2fUEXtjvw812WS2MXAData.Manifold.TypesData.Manifold.PseudoAffine$Math.Manifold.Embedding.Simple.ClassData.Manifold.FibreBundleData.Manifold.AtlasData.Function.AffineData.Function.DifferentiableData.Manifold.Types.StiefelData.Manifold.RiemannianData.Manifold.ShadeData.Manifold.TreeCoverData.Manifold.Griddable!Data.Manifold.Function.LocalModelData.Manifold.Web.InternalData.Manifold.Web$Data.Manifold.Function.Interpolation"Data.Manifold.DifferentialEquationData.Simplex.AbstractData.Manifold.MeshMath.Manifold.Real.CoordinatesControl.Monad.Trans.OuterMaybeData.EmbeddingData.List.FastNubData.Manifold.Types.Primitivedelta!Data.Function.Differentiable.DataControl.Applicative Applicative*> Alternative<|>Data.Manifold.Cone Data.Manifold.Function.Quadratic Data.ManifoldData.SetLike.IntersectionUtil.Associate Util.LtdShow1linearmap-category-0.4.0.1-ITdXYhY7mUOJZ550UK5VxBMath.LinearMap.Category.Class LinearMap-manifolds-core-0.5.1.0-7erFyQcGCyw3Wj1JfXnH10)Math.Manifold.VectorSpace.ZeroDimensionalZeroDimOriginMath.Manifold.Core.PseudoAffinealerpBpalerpBpalerpBoundarylessWitnessSemimanifoldWitnessPseudoAffineWitnesssemimanifoldWitness.-~^ translateP toInterior fromInterior.+~^InteriorNeedle SemimanifoldpseudoAffineWitness.-~!.-~. PseudoAffine fibreSpace baseSpace FibreBundle TangentBundleMath.Manifold.Core.TypesS¹ℝP¹S²ℝP²D²!Math.Manifold.Core.Types.InternalNegativeHalfSpherePositiveHalfSphereS⁰ℝPZeroℝP⁰ φParamS¹S¹Polar φParamℝP¹HemisphereℝP¹Polar φParamS² ϑParamS²S²Polar φParamℝP² ϑParamℝP²HemisphereℝP²Polar φParamD² rParamD²D²Polar pParamCD¹ hParamCD¹CD¹ pParamCℝay hParamCℝayCℝay xParamD¹D¹ℝℝ⁰OpenConeConeDisk2Disk1 Projective2 Projective1 Projective0Sphere2Sphere1Sphere0Real3Real2RealPlusReal1Real0ℝayℝ⁴ℝ³ℝ²ℝ¹NaturallyEmbeddedembedcoEmbed Connected.−.DualNeedleWitness ImpliesMetricMetricRequirement inferMetric inferMetric' RieMetric' RieMetricMetric'MetricNeedle' WithField LocalAffine LocalBilinear LocalLinearLocallyScalableLocalgetLocalOffsetCanonicalDiffeomorphismLocallyCoerciblelocallyTrivialDiffeomorphism coerceNeedle coerceNeedle' coerceNormcoerceVarianceoppositeLocalCoercioninteriorLocalCoercionManifoldboundarylessWitness inInterior coerceMetric coerceMetric'!+~^⊙+^$fPseudoAffineℝP²$fSemimanifoldℝP²$fPseudoAffineS²$fSemimanifoldS²$fPseudoAffinePoint$fSemimanifoldPoint $fManifoldm$fLocallyCoercible(,)(,)$fLocallyCoercible(,)(,)0$fLocallyCoercibleV4(,)$fLocallyCoercible(,)V4$fLocallyCoercibleV3(,)$fLocallyCoercibleV3(,)0$fLocallyCoercible(,)V3$fLocallyCoercible(,)V30$fLocallyCoercibleV2(,)$fLocallyCoercible(,)V2$fLocallyCoercibleV1Double$fLocallyCoercibleDoubleV1$fLocallyCoercibleV0ZeroDim$fLocallyCoercibleZeroDimV0$fLocallyCoercibleV4V4$fLocallyCoercibleV3V3$fLocallyCoercible(,)(,)1$fLocallyCoercible(,)(,)2$fLocallyCoercibleV2V2$fLocallyCoercible(,)(,)3$fLocallyCoercibleV1V1$fLocallyCoercibleDoubleDouble$fLocallyCoercibleV0V0 $fLocallyCoercibleZeroDimZeroDim$fImpliesMetricNorm$fConnectedFibreBundle$fConnected(,)$fConnectedℝP²$fConnectedℝP¹$fConnectedℝP⁰$fConnectedS²$fConnectedS¹ $fConnectedV4 $fConnectedV3 $fConnectedV2 $fConnectedV1$fConnectedDouble$fConnectedZeroDim $fShowLocalParallelTransportingtransportOnNeedleWitnessforgetTransportPropertiesparallelTransporttranslateAndInvblyParTransportForgetTransportPropertiesTransportOnNeedleWitnessTransportOnNeedle:@. tangentAttransformEmbeddedTangents$fRotatableFibreBundle)$fNaturallyEmbeddedFibreBundleFibreBundle*$fNaturallyEmbeddedFibreBundleFibreBundle0*$fNaturallyEmbeddedFibreBundleFibreBundle1*$fNaturallyEmbeddedFibreBundleFibreBundle2*$fNaturallyEmbeddedFibreBundleFibreBundle3*$fNaturallyEmbeddedFibreBundleFibreBundle4*$fNaturallyEmbeddedFibreBundleFibreBundle5*$fNaturallyEmbeddedFibreBundleFibreBundle6$fNaturallyEmbeddedxFibreBundle$fPseudoAffineFibreBundle$fSemimanifoldFibreBundle$fAdditiveGroupFibreBundle$fParallelTransportingka(,)$fParallelTransportingk(,)(,)$fParallelTransportingkS²V2 $fParallelTransportingkS¹Double$fParallelTransportingkV4V4$fParallelTransportingkV3V3$fParallelTransportingkV2V2#$fParallelTransportingkDoubleDouble $fParallelTransporting->mZeroDim,$fParallelTransportingLinearFunctionmZeroDim&$fParallelTransportingDiscretemZeroDim EuclidSpaceAffineManifoldAtlas ChartIndexchartReferencePointinteriorChartReferencePoint lookupAtlaseuclideanMetric $fAtlasPoint $fAtlasS² $fAtlasS¹ $fAtlasS⁰ $fAtlas(,) $fAtlasTensor$fAtlasLinearMap $fAtlasV4 $fAtlasV3 $fAtlasV2 $fAtlasV1 $fAtlasV0 $fAtlasDouble$fAtlasZeroDimAffine evalAffinefromOffsetSlope lensEmbeddingcorrespondingDirections$fEnhancedCatEmbeddingEmbedding$fVectorSpaceAffine$fAdditiveGroupAffine$fAffineSpaceAffine$fPseudoAffineAffine$fSemimanifoldAffine$fEnhancedCatAffineLinearMap$fEnhancedCat->Affine$fWellPointedAffine$fPreArrowAffine$fMorphismAffine$fCartesianAffine$fCategoryAffine RWDiffableRegionDifferentiablediscretisePathIncontinuityRangesdiscretisePathSegsanalyseLocalBehavioursmoothIndicatorregionOfContinuityAroundintervalImages?->?>?<?|: backupRegions$fHasAgentDifferentiable$fWellPointedDifferentiable$fPreArrowDifferentiable$fMorphismDifferentiable$fCartesianDifferentiable$fCategoryDifferentiable$fWellPointedRWDiffable$fPreArrowRWDiffable$fMorphismRWDiffable$fCartesianRWDiffable%$fEnhancedCatRWDiffableDifferentiable$fCategoryRWDiffable$fEnhancedCat->Differentiable$fNumGenericAgent$fAdditiveGroupGenericAgent($fPointAgentGenericAgentDifferentiableax$fCartesianAgentDifferentiable$fFloatingRWDfblFuncValue$fFractionalRWDfblFuncValue$fNumRWDfblFuncValue$fAdditiveGroupRWDfblFuncValue'$fPointAgentRWDfblFuncValueRWDiffableax$fCartesianAgentRWDiffable$fHasAgentRWDiffableStiefel1 getStiefel1N$fShowStiefel1 HasUnitSphere UnitSpherestiefel unstiefelstiefel1Project stiefel1EmbedCutplane sawHandle cutNormalLine lineHandle lineDirection StiefelScalar normalPlane sideOfCutfathomCutDistance cutPosBetweenlineAsPlaneIntersection$fPseudoAffineStiefel1$fSemimanifoldStiefel1$fLinearSpaceStiefel1Needle$fPseudoAffineStiefel1Needle$fSemimanifoldStiefel1Needle$fAffineSpaceStiefel1Needle$fFiniteFreeSpaceStiefel1Needle$fVectorSpaceStiefel1Needle$fAdditiveGroupStiefel1Needle$fHasBasisStiefel1Needle$fTensorSpaceStiefel1Needle$fHasTrieStiefel1Basis$fShowCutplane$fEqStiefel1Needle FlatSpace Riemannian rieMetric IntervalLiketoClosedIntervalGeodesicgeodesicBetweengeodesicWitness middleBetweenGeodesicWitness interpolatepointsBarycenter$fGeodesicLinearFunction$fGeodesicLinearMap$fGeodesicTensor $fGeodesicV4 $fGeodesicV3 $fGeodesicV2 $fGeodesicV1 $fGeodesicV0 $fGeodesicS¹$fGeodesicS⁰$fGeodesicStiefel1$fGeodesic(,,) $fGeodesic(,)$fGeodesicZeroDim$fGeodesicDouble$fIntervalLikeDouble$fIntervalLikeD¹$fRiemannianDouble LtdErrorShowprettyShowsPrecShade'WithAny_untopological _topological Refinable subShade' refineShade'convolveMetricconvolveShade'IsShadeshadeCtr occlusionfactoriseShade coerceShade orthoShadeslinIsoTransformShade projectShade embedShadeShade' _shade'Ctr_shade'NarrownessShade _shadeCtr _shadeExpanse:±linearProjectShade✠ dualShade dualShade' shadeExpanseshadeNarrowness fullShade fullShade'|±| pointsShadescoverAllAround pointsCovers pointsShade's pointsCover's pseudoECM pointsShades' shadesMerge mixShade'srangeOnGeodesicrangeWithinVerticesintersectShade's shadeWithAnyshadeWithoutAnythingprettyShowShade'wellDefinedShade'$fGeodesicShade$fSemimanifoldShade$fImpliesMetricShade$fGeodesicShade'$fSemimanifoldShade'$fImpliesMetricShade'$fIsShadeShade'$fIsShadeShade$fRefinableLinearMap $fRefinableV4 $fRefinableV3 $fRefinableV2 $fRefinableV1$fRefinableZeroDim$fRefinable(,)$fRefinableDouble$fMonadWithAny$fApplicativeWithAny$fAdditiveGroupWithAny$fVectorSpaceWithAny$fAffineSpaceWithAny$fPseudoAffineWithAny$fSemimanifoldWithAny$fNFDataWithAny $fShowShade'$fLtdErrorShowLinearMap$fLtdErrorShowLinearMap0$fLtdErrorShow(,)$fLtdErrorShowV4$fLtdErrorShowV3$fLtdErrorShowV2$fLtdErrorShowDouble$fLtdErrorShowZeroDim $fShowShade $fShowShade'0$fFunctorWithAny $fShowWithAny$fGenericWithAny $fShowShade0 HasFlatViewFlatViewflatView superFlatView GenericTree treeBranches NonEmptyTreeTrees SimpleTree TwigEnvironTwigDBranchDBranch'boughDirection boughContentsShaded PlainLeavesDisjointBranchesOverlappingBranches ShadeTree Hourglass upperBulb lowerBulb trunkBranchestraverseTrunkBranchChoicesfromLeafPointsfromLeafPoints_indexShadeTreetreeLeaf positionIndexnLeaves treeDepthunsafeFmapTreeallTwigstwigsWithEnvironscompleteTopShadingflexTwigsShadingseekPotentialNeighbours朳 onlyNodes entireTree onlyLeaves_ onlyLeaves constShaded fmapShadedzipTreeWithListstiAsIntervalMapping spanShading$fFoldableHourglass->->$fApplicativeHourglass$fMonoidHourglass$fSemigroupHourglass$fNFDataHourglass$fNFDataDBranch'$fNFDataShaded$fMonoidShaded$fSemigroupShaded$fSemigroupDBranches'$fShowGenericTree$fMonoidGenericTree$fSemigroupGenericTree$fNFDataGenericTree$fMonoidSawbones$fSemigroupSawbones$fSemigroupDustyEdges$fSemigroupSawboneses$fHasFlatViewSawboneses$fHasFlatViewSawbones$fGenericHourglass$fFunctorHourglass$fFoldableHourglass$fTraversableHourglass$fShowHourglass$fGenericDBranch'$fFunctorDBranch'$fFoldableDBranch'$fTraversableDBranch'$fGenericShaded$fFunctorShaded$fFoldableShaded$fTraversableShaded$fGenericDBranches'$fFunctorDBranches'$fFoldableDBranches'$fTraversableDBranches'$fGenericGenericTree$fFunctorGenericTree$fFoldableGenericTree$fTraversableGenericTree$fGenericSawboneses$fEqGenericTree$fShowDBranches'$fShowDBranch' $fShowShaded GriddableGriddingParameters mkGriddingGridAxisGridAxInterval GridAxConsGridAxisClosed$fGriddable(,)a$fGriddableDouble[]$fFunctorGridAxisLocalDifferentialEqn_rescanDifferentialEqnLocalDataPropPlan_sourcePosition_targetPosOffset _sourceData_targetAPrioriData _relatedDataDifferentialEqn$fShowLocalDataPropPlan AffineModel_affineModelOffset_affineModelLCoeffestimateLocalJacobian$fShowAffineModelQuadraticModel_quadraticModelOffset_quadraticModelLCoeff_quadraticModelQCoeff$fShowQuadraticModel LocalModel fitLocallytweakLocalOffsetevalLocalModelModellableRelationquadraticModel_derivativesestimateLocalHessianpropagationCenteredModel!propagationCenteredQuadraticModelpropagateDEqnSolution_loc$fLocalModelQuadraticModel$fLocalModelAffineModel Neighbourhood _dataAtNode _neighbours_localScalarProduct_webBoundaryAtNodeWebNodeIdOffset WebNodeId$fGenericNeighbourhood$fFunctorNeighbourhood$fFoldableNeighbourhood$fTraversableNeighbourhood WebLocally LocalWebInfo_thisNodeCoord _thisNodeData _thisNodeId_nodeNeighbours_nodeLocalScalarProduct_webBoundingPlane dataAtNodelocalScalarProduct neighbourswebBoundaryAtNode$fGenericWebLocally$fShowNeighbourhoodNeighbourhoodVector_nvectId _theNVect _nvectNormal _nvectLength_otherNeighboursOverlapnodeLocalScalarProductnodeNeighbours thisNodeCoord thisNodeData thisNodeIdwebBoundingPlanePropagationInconsistencyPropagationInconsistencies_inconsistentPropagatedData_inconsistentAPrioriDatanvectId nvectLength nvectNormalotherNeighboursOverlaptheNVect$fShowPropagationInconsistencyWebChunk _thisChunk_layersAroundChunk PointsWeb webNodeRscinconsistentAPrioriDatainconsistentPropagatedData$fNFDataNeighbourhood $fMonoidPropagationInconsistency#$fSemigroupPropagationInconsistency$fFoldablePointsWeb->->$fNFDataPointsWeb$fGenericPointsWeb$fFunctorPointsWeb$fFoldablePointsWeb$fTraversablePointsWeb NodeInWeb _thisNodeOnly_layersAroundNodelayersAroundChunk thisChunkPathStep_pathStepStart _pathStepEndlayersAroundNode thisNodeOnlyNodeSetWNIPathLinkingBadnessgatherDirectionsBadnesscloseSystemBadness MetricChoice pathStepEnd pathStepStarttraverseInnermostChunkstraverseNodesInEnvifmapNodesInEnviixedFociindexWebunsafeIndexWebDatajumpNodeOffsetwebAroundChunkzoomoutWebChunk pickNodeInWeb webLocalInfo localFmapWebtweakWebGeometrybidirectionaliseWebLinks pumpHalfspacesmallPseudorandSeqlinkingUndesirabilitybestNeighboursbestNeighbours'gatherGoodNeighboursextractSmallestOn pathsTowardstraversePathInIWebtraversePathsTowards$fComonadWebLocally$fFunctorWebLocally$fFunctorLinkingBadnessInconsistencyStrategyAbortOnInconsistencyIgnoreInconsistenciesHighlightInconsistenciesInformationMergeStrategymergeInformation ConvexSet EmptyConvex convexSetHullconvexSetIntersectors fromWebNodesfromShadeTree_auto fromShadeTree fromShaded knitShortcuts webBoundarycoerceWebDomain sliceWeb_linsampleWeb_2Dcartesian_linsampleEntireWeb_2Dcartesian_lin localFocusWeb localOnion webOnionsnearestNeighbour!differentiateUncertainWebFunctionlocalModels_CGrid#differentiate²UncertainWebFunctionrescanPDELocallytoGraph ellipsoid ellipsoidSetnaïveinconsistencyAwareindicateInconsistenciespostponeInconsistenciesiterateFilterDEqn_staticiterateFilterDEqn_pathwise"iterateFilterDEqn_static_selective$fSemigroupConvexSet$fApplicativeAverage$fMonoidAverage$fSemigroupAverage$fFunctorAverage$fFunctorInconsistencyStrategy$fShowConvexSet$fShowGridSetup$fShowGridPlanesfilterDEqnSolutions_adaptiveiterateFilterDEqn_adaptiveInterpolationFunctionODEconstLinearDEqnconstLinearODEeuclideanVolGoalmaxDeviationsGoaluncertaintyGoaluncertaintyGoal'SimplexSpanningSimplexFSimplexAbstractSimplexGenProdSimplexGenericSimplex ConeSimplex ℝ⁴Simplex ℝ³Simplex ℝ²Simplex ℝ¹Simplex ℝSimplex ℝ⁰SimplexseenFromOneVertex toBarycentric$fApplicativeAbstractSimplex$fFunctorAbstractSimplex$fFoldableAbstractSimplex$fTraversableAbstractSimplex$fFunctorAbstractSimplex0$fFoldableAbstractSimplex0$fTraversableAbstractSimplex0$fFunctorAbstractSimplex1$fFoldableAbstractSimplex1$fTraversableAbstractSimplex1$fFunctorAbstractSimplex2$fFoldableAbstractSimplex2$fTraversableAbstractSimplex2$fFunctorAbstractSimplex3$fFoldableAbstractSimplex3$fTraversableAbstractSimplex3$fFunctorAbstractSimplex4$fFoldableAbstractSimplex4$fTraversableAbstractSimplex4$fTraversableAbstractSimplex5$fFoldableAbstractSimplex5$fFunctorAbstractSimplex5$fTraversableAbstractSimplex6$fFoldableAbstractSimplex6$fFunctorAbstractSimplex6$fTraversableAbstractSimplex7$fFoldableAbstractSimplex7$fFunctorAbstractSimplex7 CoveringMeshinterpolateGridMeshMeshDomainSpaceMeshGridDataConstraintasWebmeshSimplicesInWeb meshSimplicesextrapolateGridHasZenithDistance zenithAngle HasAzimuthazimuthCoordDifferential HasZCoordzCoord HasYCoordyCoord HasXCoordxCoord CoordinateHasCoordinatesCoordinateIdentifiercoordinateAsLensvalidCoordinateRange coordinate location's$fArbitraryCoordinateIdentifier$fHasCoordinatesS² $fArbitraryCoordinateIdentifier0$fHasCoordinatesS¹$fShowCoordinateIdentifier$fHasCoordinatesFibreBundle $fArbitraryCoordinateIdentifier1$fHasCoordinates(,) $fArbitraryCoordinateIdentifier2 $fArbitraryCoordinateIdentifier3 $fArbitraryCoordinateIdentifier4$fHasCoordinatesDouble$fHasCoordinatesZeroDim$fCoordinateIsh->m$$fCoordinateIshCoordinateIdentifierm$fHasCoordinatesV3$fHasCoordinatesV2$fArbitraryOriginAxisCoord$fHasXCoord(,) $fHasXCoordV3 $fHasXCoordV2$fHasXCoordDouble$fHasYCoord(,)$fHasYCoord(,)0 $fHasYCoordV3 $fHasYCoordV2$fHasZCoord(,)$fHasZCoord(,)0 $fHasZCoordV3$fCoordDifferentialS²$fCoordDifferentialS¹$fCoordDifferential(,)$fCoordDifferentialV3$fCoordDifferentialV2$fCoordDifferentialDouble $fArbitraryCoordinateIdentifier5$fHasAzimuthS²$fHasAzimuthS¹$fHasZenithDistanceS²$fEqCoordinateIdentifier$fShowCoordinateIdentifier0$fEqCoordinateIdentifier0$fShowCoordinateIdentifier1$fEqCoordinateIdentifier1$fShowCoordinateIdentifier2$fEqCoordinateIdentifier2$fShowCoordinateIdentifier3$fEqCoordinateIdentifier3$fShowCoordinateIdentifier4$fShowCoordinateIdentifier5$fEqCoordinateIdentifier4$fEqOriginAxisCoord$fShowOriginAxisCoord OuterMaybeT OuterJust OuterNothing EmbeddingfromEmbedProject projection embedding Isomorphism backwardIso forwardIso$->$$<-$fromInversePair perfectInvert$->>-$ fastNubBy fastNubByWithbaseGHC.BaseconstsortWithFastNubfastNub fnubMergeBy sfGroupBy fnubConcatBy fnubConcat fnubConcatMap fnubIntersectempty"lens-4.19.2-HTIbpbMvdqMDXVV2NxWaNZControl.Lens.Getter^.⊗ fromIntv0to1otherHalfSphere EndomorphismGraphWindowSpeclBoundrBoundbBoundtBound xResolution yResolution EqFloating^Math.LinearMap.Category|$|ghc-prim GHC.TypesDouble(vector-space-0.16-AfBGClPmXjvBom1MmjmC9wData.AffineSpace AffineSpaceGHC.NumNum GHC.FloatFloatingisNaN PreRegion tryDfblDomain RealSubray GlobalRegion regionRDefregionRefPointDiffableEndoProofNotDiffableEndoIsDiffableEndo AffinDiffable LinDevPropagnotDefinedHere minDblfuncsunsafePreRegionIntersect regionProd preRegionProd lerp_diffableData.VectorSpacelerp ConeSemimfdtoCD¹InteriortoCℝayInteriorfromCD¹InteriorfromCℝayInteriorCℝayInteriorSConn'dConeVecArr ConeNeedle ConeVecArr getConeVecArrbijectℝplustoℝbijectℝtoℝplusbijectℝplustoIntvbijectIntvtoℝplusbijectℝtoIntvbijectIntvtoℝembCℝayToCD¹projCD¹ToCℝay GHC.MaybeNothing+$> Quadratic evalQuadraticminusLogOcclusion'GHC.ShowShow amputateIds p¹Dimension p²DimensionfmaprmTautologyIntersect IntersectTgetIntersectorssingleIntersectsmoothenWebTopology5constrained-categories-0.4.0.0-6M3GlFaQ9f9BdWcYMS4DQbControl.Functor.ConstrainedlocalTraverseWebcensor fromTopShaded goalSensitive coordHeading coordSensorControl.Lens.TypeLensControl.Lens.Setter.~%~Lens'pi shrinkElemstiny associateWithGHC.ListzipWith associateassociaterSectorsWithassociaterSectorsassociatelSectorsWithassociatelSectors partitionsdividemapOnNthmapExceptOnNthLtdShowltdShow