[{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenMap\">OpenMap</a> (f :: <a href=\"/package/base-4.16.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a> -&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a>)","name":"OpenMap","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#t:OpenMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenKey\">OpenKey</a> x","name":"OpenKey","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#t:OpenKey"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SomeOpenItem\">SomeOpenItem</a> f = <span class=\"keyword\">forall</span> x. <a href=\"#v:SomeOpenItem\">SomeOpenItem</a> (<a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> x) (f x)","name":"SomeOpenItem SomeOpenItem","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#t:SomeOpenItem"},{"display_html":"<a href=\"#v:makeOpenKey\">makeOpenKey</a> :: f v -&gt; <a href=\"/package/base-4.16.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> v)","name":"makeOpenKey","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:makeOpenKey"},{"display_html":"<a href=\"#v:empty\">empty</a> :: <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f","name":"empty","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:empty"},{"display_html":"<a href=\"#v:insert\">insert</a> :: <span class=\"keyword\">forall</span> f dx. <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> dx -&gt; f dx -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f","name":"insert","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:insert"},{"display_html":"<a href=\"#v:lookup\">lookup</a> :: <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> x -&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (f x)","name":"lookup","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:lookup"},{"display_html":"<a href=\"#v:toList\">toList</a> :: <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; [<a href=\"Downhill-Internal-Graph-OpenMap.html#t:SomeOpenItem\" title=\"Downhill.Internal.Graph.OpenMap\">SomeOpenItem</a> f]","name":"toList","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:toList"},{"display_html":"<a href=\"#v:elems\">elems</a> :: <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> (<a href=\"/package/base-4.16.3.0/docs/Control-Applicative.html#t:Const\" title=\"Control.Applicative\">Const</a> b) -&gt; [b]","name":"elems","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:elems"},{"display_html":"<a href=\"#v:map\">map</a> :: <span class=\"keyword\">forall</span> f g. (<span class=\"keyword\">forall</span> x. f x -&gt; g x) -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> g","name":"map","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:map"},{"display_html":"<a href=\"#v:mapWithKey\">mapWithKey</a> :: <span class=\"keyword\">forall</span> f g. (<span class=\"keyword\">forall</span> d. <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> d -&gt; f d -&gt; g d) -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> g","name":"mapWithKey","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:mapWithKey"},{"display_html":"<a href=\"#v:mapMaybe\">mapMaybe</a> :: <span class=\"keyword\">forall</span> f g. (<span class=\"keyword\">forall</span> x. f x -&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (g x)) -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> g","name":"mapMaybe","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:mapMaybe"},{"display_html":"<a href=\"#v:adjust\">adjust</a> :: <span class=\"keyword\">forall</span> f x. (f x -&gt; f x) -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> x -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f","name":"adjust","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:adjust"},{"display_html":"<a href=\"#v:intersectionWith\">intersectionWith</a> :: <span class=\"keyword\">forall</span> f g h. (<span class=\"keyword\">forall</span> x. f x -&gt; g x -&gt; h x) -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> g -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> h","name":"intersectionWith","module":"Downhill.Internal.Graph.OpenMap","link":"Downhill-Internal-Graph-OpenMap.html#v:intersectionWith"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NodeMap\">NodeMap</a> s f","name":"NodeMap","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#t:NodeMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:NodeKey\">NodeKey</a> s x","name":"NodeKey","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#t:NodeKey"},{"display_html":"<a href=\"#v:fromOpenMap\">fromOpenMap</a> :: <span class=\"keyword\">forall</span> f. <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:SomeNodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">SomeNodeMap</a> f","name":"fromOpenMap","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:fromOpenMap"},{"display_html":"<a href=\"#v:generate\">generate</a> :: <span class=\"keyword\">forall</span> s f. <a href=\"Downhill-Internal-Graph-NodeMap.html#t:IsNodeSet\" title=\"Downhill.Internal.Graph.NodeMap\">IsNodeSet</a> s =&gt; (<span class=\"keyword\">forall</span> x. <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x -&gt; f x) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f","name":"generate","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:generate"},{"display_html":"<a href=\"#v:lookup\">lookup</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s v -&gt; f v","name":"lookup","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:lookup"},{"display_html":"<a href=\"#v:tryLookup\">tryLookup</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> x -&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x, f x)","name":"tryLookup","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:tryLookup"},{"display_html":"<a href=\"#v:toList\">toList</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; [<a href=\"Downhill-Internal-Graph-NodeMap.html#t:KeyAndValue\" title=\"Downhill.Internal.Graph.NodeMap\">KeyAndValue</a> s f]","name":"toList","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:toList"},{"display_html":"<a href=\"#v:toListWith\">toListWith</a> :: <span class=\"keyword\">forall</span> s f r. (<span class=\"keyword\">forall</span> x. <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x -&gt; f x -&gt; r) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; [r]","name":"toListWith","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:toListWith"},{"display_html":"<a href=\"#v:elems\">elems</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s (<a href=\"/package/base-4.16.3.0/docs/Control-Applicative.html#t:Const\" title=\"Control.Applicative\">Const</a> b) -&gt; [b]","name":"elems","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:elems"},{"display_html":"<a href=\"#v:map\">map</a> :: <span class=\"keyword\">forall</span> s f g. (<span class=\"keyword\">forall</span> v. f v -&gt; g v) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s g","name":"map","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:map"},{"display_html":"<a href=\"#v:mapWithKey\">mapWithKey</a> :: <span class=\"keyword\">forall</span> s f g. (<span class=\"keyword\">forall</span> x. <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x -&gt; f x -&gt; g x) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s g","name":"mapWithKey","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:mapWithKey"},{"display_html":"<a href=\"#v:adjust\">adjust</a> :: <span class=\"keyword\">forall</span> s f x. (f x -&gt; f x) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f","name":"adjust","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:adjust"},{"display_html":"<a href=\"#v:zipWith\">zipWith</a> :: <span class=\"keyword\">forall</span> s f g h. (<span class=\"keyword\">forall</span> x. f x -&gt; g x -&gt; h x) -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s g -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s h","name":"zipWith","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#v:zipWith"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"#t:IsNodeSet\">IsNodeSet</a> s","name":"IsNodeSet","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#t:IsNodeSet"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SomeNodeMap\">SomeNodeMap</a> f <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:SomeNodeMap\">SomeNodeMap</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:IsNodeSet\" title=\"Downhill.Internal.Graph.NodeMap\">IsNodeSet</a> s =&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s f -&gt; <a href=\"Downhill-Internal-Graph-NodeMap.html#t:SomeNodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">SomeNodeMap</a> f</li></ul>","name":"SomeNodeMap SomeNodeMap","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#t:SomeNodeMap"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:KeyAndValue\">KeyAndValue</a> s f = <span class=\"keyword\">forall</span> x. <a href=\"#v:KeyAndValue\">KeyAndValue</a> (<a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeKey\" title=\"Downhill.Internal.Graph.NodeMap\">NodeKey</a> s x) (f x)","name":"KeyAndValue KeyAndValue","module":"Downhill.Internal.Graph.NodeMap","link":"Downhill-Internal-Graph-NodeMap.html#t:KeyAndValue"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Expr\">Expr</a> a v <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:ExprVar\">ExprVar</a> :: <a href=\"Downhill-Linear-Expr.html#t:Expr\" title=\"Downhill.Linear.Expr\">Expr</a> a a</li><li><a href=\"#v:ExprSum\">ExprSum</a> :: <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v =&gt; [<a href=\"Downhill-Linear-Expr.html#t:Term\" title=\"Downhill.Linear.Expr\">Term</a> a v] -&gt; <a href=\"Downhill-Linear-Expr.html#t:Expr\" title=\"Downhill.Linear.Expr\">Expr</a> a v</li></ul>","name":"Expr ExprSum ExprVar","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:Expr"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Term\">Term</a> a v <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:Term\">Term</a> :: (v -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> u) -&gt; <a href=\"Downhill-Linear-Expr.html#t:Expr\" title=\"Downhill.Linear.Expr\">Expr</a> a u -&gt; <a href=\"Downhill-Linear-Expr.html#t:Term\" title=\"Downhill.Linear.Expr\">Term</a> a v</li></ul>","name":"Term Term","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:Term"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"/package/base-4.16.3.0/docs/Data-Monoid.html#t:Monoid\" title=\"Data.Monoid\">Monoid</a> (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v) =&gt; <a href=\"#t:BasicVector\">BasicVector</a> v <span class=\"keyword\">where</span><ul class=\"subs\"><li><span class=\"keyword\">type</span> <a href=\"#t:VecBuilder\">VecBuilder</a> v :: <a href=\"/package/base-4.16.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a></li><li><a href=\"#v:sumBuilder\">sumBuilder</a> :: <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v -&gt; v</li><li><a href=\"#v:identityBuilder\">identityBuilder</a> :: v -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v</li></ul>","name":"BasicVector VecBuilder identityBuilder sumBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:BasicVector"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:SparseVector\">SparseVector</a> v = <a href=\"#v:SparseVector\">SparseVector</a> {<ul class=\"subs\"><li><a href=\"#v:unSparseVector\">unSparseVector</a> :: <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v</li></ul>}","name":"SparseVector SparseVector unSparseVector","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:SparseVector"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:DenseVector\">DenseVector</a> v = <a href=\"#v:DenseVector\">DenseVector</a> v","name":"DenseVector DenseVector","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:DenseVector"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:DenseBuilder\">DenseBuilder</a> v = <a href=\"#v:DenseBuilder\">DenseBuilder</a> (<a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> v)","name":"DenseBuilder DenseBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#t:DenseBuilder"},{"display_html":"<a href=\"#v:toDenseBuilder\">toDenseBuilder</a> :: v -&gt; <a href=\"Downhill-Linear-Expr.html#t:DenseBuilder\" title=\"Downhill.Linear.Expr\">DenseBuilder</a> v","name":"toDenseBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:toDenseBuilder"},{"display_html":"<a href=\"#v:genericSumBuilder\">genericSumBuilder</a> :: <span class=\"keyword\">forall</span> b v. (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> b, <a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> v, GBasicVector (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> b) (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> v)) =&gt; b -&gt; v","name":"genericSumBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:genericSumBuilder"},{"display_html":"<a href=\"#v:genericIdentityBuilder\">genericIdentityBuilder</a> :: <span class=\"keyword\">forall</span> b v. (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> b, <a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> v, GBasicVector (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> b) (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> v)) =&gt; v -&gt; b","name":"genericIdentityBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:genericIdentityBuilder"},{"display_html":"<a href=\"#v:genericSumMaybeBuilder\">genericSumMaybeBuilder</a> :: <span class=\"keyword\">forall</span> b v. (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> b, <a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> v, <a href=\"/package/vector-space-0.16/docs/Data-AdditiveGroup.html#t:AdditiveGroup\" title=\"Data.AdditiveGroup\">AdditiveGroup</a> v, GBasicVector (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> b) (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> v)) =&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b -&gt; v","name":"genericSumMaybeBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:genericSumMaybeBuilder"},{"display_html":"<a href=\"#v:genericIdentityMaybeBuilder\">genericIdentityMaybeBuilder</a> :: <span class=\"keyword\">forall</span> b v. (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> b, <a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Generic\" title=\"GHC.Generics\">Generic</a> v, GBasicVector (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> b) (<a href=\"/package/base-4.16.3.0/docs/GHC-Generics.html#t:Rep\" title=\"GHC.Generics\">Rep</a> v)) =&gt; v -&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> b","name":"genericIdentityMaybeBuilder","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:genericIdentityMaybeBuilder"},{"display_html":"<a href=\"#v:maybeToMonoid\">maybeToMonoid</a> :: <a href=\"/package/base-4.16.3.0/docs/Data-Monoid.html#t:Monoid\" title=\"Data.Monoid\">Monoid</a> m =&gt; <a href=\"/package/base-4.16.3.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> m -&gt; m","name":"maybeToMonoid","module":"Downhill.Linear.Expr","link":"Downhill-Linear-Expr.html#v:maybeToMonoid"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:BackGrad\">BackGrad</a> a v = <a href=\"#v:BackGrad\">BackGrad</a> (<span class=\"keyword\">forall</span> x. (x -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v) -&gt; <a href=\"Downhill-Linear-Expr.html#t:Term\" title=\"Downhill.Linear.Expr\">Term</a> a x)","name":"BackGrad BackGrad","module":"Downhill.Linear.BackGrad","link":"Downhill-Linear-BackGrad.html#t:BackGrad"},{"display_html":"<a href=\"#v:realNode\">realNode</a> :: <a href=\"Downhill-Linear-Expr.html#t:Expr\" title=\"Downhill.Linear.Expr\">Expr</a> a v -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> a v","name":"realNode","module":"Downhill.Linear.BackGrad","link":"Downhill-Linear-BackGrad.html#v:realNode"},{"display_html":"<a href=\"#v:inlineNode\">inlineNode</a> :: <span class=\"keyword\">forall</span> r u v. (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> u) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r u -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r v","name":"inlineNode","module":"Downhill.Linear.BackGrad","link":"Downhill-Linear-BackGrad.html#v:inlineNode"},{"display_html":"<a href=\"#v:sparseNode\">sparseNode</a> :: <span class=\"keyword\">forall</span> r a z. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"sparseNode","module":"Downhill.Linear.BackGrad","link":"Downhill-Linear-BackGrad.html#v:sparseNode"},{"display_html":"<a href=\"#v:castBackGrad\">castBackGrad</a> :: <span class=\"keyword\">forall</span> r v z. <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z ~ <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v =&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r v -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"castBackGrad","module":"Downhill.Linear.BackGrad","link":"Downhill-Linear-BackGrad.html#v:castBackGrad"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:BackFun\">BackFun</a> u v = <a href=\"#v:BackFun\">BackFun</a> {<ul class=\"subs\"><li><a href=\"#v:unBackFun\">unBackFun</a> :: v -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> u</li></ul>}","name":"BackFun BackFun unBackFun","module":"Downhill.Internal.Graph.Types","link":"Downhill-Internal-Graph-Types.html#t:BackFun"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:FwdFun\">FwdFun</a> u v = <a href=\"#v:FwdFun\">FwdFun</a> {<ul class=\"subs\"><li><a href=\"#v:unFwdFun\">unFwdFun</a> :: u -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> v</li></ul>}","name":"FwdFun FwdFun unFwdFun","module":"Downhill.Internal.Graph.Types","link":"Downhill-Internal-Graph-Types.html#t:FwdFun"},{"display_html":"<a href=\"#v:flipBackFun\">flipBackFun</a> :: <a href=\"Downhill-Internal-Graph-Types.html#t:BackFun\" title=\"Downhill.Internal.Graph.Types\">BackFun</a> u v -&gt; <a href=\"Downhill-Internal-Graph-Types.html#t:FwdFun\" title=\"Downhill.Internal.Graph.Types\">FwdFun</a> v u","name":"flipBackFun","module":"Downhill.Internal.Graph.Types","link":"Downhill-Internal-Graph-Types.html#v:flipBackFun"},{"display_html":"<a href=\"#v:flipFwdFun\">flipFwdFun</a> :: <a href=\"Downhill-Internal-Graph-Types.html#t:FwdFun\" title=\"Downhill.Internal.Graph.Types\">FwdFun</a> u v -&gt; <a href=\"Downhill-Internal-Graph-Types.html#t:BackFun\" title=\"Downhill.Internal.Graph.Types\">BackFun</a> v u","name":"flipFwdFun","module":"Downhill.Internal.Graph.Types","link":"Downhill-Internal-Graph-Types.html#v:flipFwdFun"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenEdge\">OpenEdge</a> a v <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:OpenEdge\">OpenEdge</a> :: <a href=\"Downhill-Internal-Graph-Types.html#t:BackFun\" title=\"Downhill.Internal.Graph.Types\">BackFun</a> u v -&gt; <a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenEndpoint\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenEndpoint</a> a u -&gt; <a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenEdge\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenEdge</a> a v</li></ul>","name":"OpenEdge OpenEdge","module":"Downhill.Internal.Graph.OpenGraph","link":"Downhill-Internal-Graph-OpenGraph.html#t:OpenEdge"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenEndpoint\">OpenEndpoint</a> a v <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:OpenSourceNode\">OpenSourceNode</a> :: <a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenEndpoint\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenEndpoint</a> a a</li><li><a href=\"#v:OpenInnerNode\">OpenInnerNode</a> :: <a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenKey\" title=\"Downhill.Internal.Graph.OpenMap\">OpenKey</a> v -&gt; <a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenEndpoint\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenEndpoint</a> a v</li></ul>","name":"OpenEndpoint OpenSourceNode OpenInnerNode","module":"Downhill.Internal.Graph.OpenGraph","link":"Downhill-Internal-Graph-OpenGraph.html#t:OpenEndpoint"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenNode\">OpenNode</a> a v = <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v =&gt;  <a href=\"#v:OpenNode\">OpenNode</a> [<a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenEdge\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenEdge</a> a v]","name":"OpenNode OpenNode","module":"Downhill.Internal.Graph.OpenGraph","link":"Downhill-Internal-Graph-OpenGraph.html#t:OpenNode"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:OpenGraph\">OpenGraph</a> a z = <a href=\"#v:OpenGraph\">OpenGraph</a> (<a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenNode\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenNode</a> a z) (<a href=\"Downhill-Internal-Graph-OpenMap.html#t:OpenMap\" title=\"Downhill.Internal.Graph.OpenMap\">OpenMap</a> (<a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenNode\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenNode</a> a))","name":"OpenGraph OpenGraph","module":"Downhill.Internal.Graph.OpenGraph","link":"Downhill-Internal-Graph-OpenGraph.html#t:OpenGraph"},{"display_html":"<a href=\"#v:recoverSharing\">recoverSharing</a> :: <span class=\"keyword\">forall</span> a z. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; [<a href=\"Downhill-Linear-Expr.html#t:Term\" title=\"Downhill.Linear.Expr\">Term</a> a z] -&gt; <a href=\"/package/base-4.16.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenGraph\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenGraph</a> a z)","name":"recoverSharing","module":"Downhill.Internal.Graph.OpenGraph","link":"Downhill-Internal-Graph-OpenGraph.html#v:recoverSharing"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Graph\">Graph</a> s e a z = <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a =&gt; <a href=\"#v:Graph\">Graph</a> {<ul class=\"subs\"><li><a href=\"#v:graphInnerNodes\">graphInnerNodes</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:NodeMap\" title=\"Downhill.Internal.Graph.NodeMap\">NodeMap</a> s (<a href=\"Downhill-Internal-Graph-Graph.html#t:Node\" title=\"Downhill.Internal.Graph.Graph\">Node</a> s e a)</li><li><a href=\"#v:graphFinalNode\">graphFinalNode</a> :: <a href=\"Downhill-Internal-Graph-Graph.html#t:Node\" title=\"Downhill.Internal.Graph.Graph\">Node</a> s e a z</li></ul>}","name":"Graph Graph graphInnerNodes graphFinalNode","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#t:Graph"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Node\">Node</a> s e a v = <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v =&gt;  <a href=\"#v:Node\">Node</a> [Edge s e a v]","name":"Node Node","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#t:Node"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SomeGraph\">SomeGraph</a> e a z <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:SomeGraph\">SomeGraph</a> :: <a href=\"Downhill-Internal-Graph-NodeMap.html#t:IsNodeSet\" title=\"Downhill.Internal.Graph.NodeMap\">IsNodeSet</a> s =&gt; <a href=\"Downhill-Internal-Graph-Graph.html#t:Graph\" title=\"Downhill.Internal.Graph.Graph\">Graph</a> s e a z -&gt; <a href=\"Downhill-Internal-Graph-Graph.html#t:SomeGraph\" title=\"Downhill.Internal.Graph.Graph\">SomeGraph</a> e a z</li></ul>","name":"SomeGraph SomeGraph","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#t:SomeGraph"},{"display_html":"<a href=\"#v:evalGraph\">evalGraph</a> :: <span class=\"keyword\">forall</span> s x z. <a href=\"Downhill-Internal-Graph-Graph.html#t:Graph\" title=\"Downhill.Internal.Graph.Graph\">Graph</a> s <a href=\"Downhill-Internal-Graph-Types.html#t:FwdFun\" title=\"Downhill.Internal.Graph.Types\">FwdFun</a> z x -&gt; z -&gt; x","name":"evalGraph","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#v:evalGraph"},{"display_html":"<a href=\"#v:transposeGraph\">transposeGraph</a> :: <span class=\"keyword\">forall</span> s f g a z. <a href=\"Downhill-Internal-Graph-NodeMap.html#t:IsNodeSet\" title=\"Downhill.Internal.Graph.NodeMap\">IsNodeSet</a> s =&gt; (<span class=\"keyword\">forall</span> u v. f u v -&gt; g v u) -&gt; <a href=\"Downhill-Internal-Graph-Graph.html#t:Graph\" title=\"Downhill.Internal.Graph.Graph\">Graph</a> s f a z -&gt; <a href=\"Downhill-Internal-Graph-Graph.html#t:Graph\" title=\"Downhill.Internal.Graph.Graph\">Graph</a> s g z a","name":"transposeGraph","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#v:transposeGraph"},{"display_html":"<a href=\"#v:unsafeFromOpenGraph\">unsafeFromOpenGraph</a> :: (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"/package/base-4.16.3.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>) =&gt; <a href=\"Downhill-Internal-Graph-OpenGraph.html#t:OpenGraph\" title=\"Downhill.Internal.Graph.OpenGraph\">OpenGraph</a> a v -&gt; <a href=\"Downhill-Internal-Graph-Graph.html#t:SomeGraph\" title=\"Downhill.Internal.Graph.Graph\">SomeGraph</a> <a href=\"Downhill-Internal-Graph-Types.html#t:BackFun\" title=\"Downhill.Internal.Graph.Types\">BackFun</a> a v","name":"unsafeFromOpenGraph","module":"Downhill.Internal.Graph.Graph","link":"Downhill-Internal-Graph-Graph.html#v:unsafeFromOpenGraph"},{"display_html":"<a href=\"#v:backprop\">backprop</a> :: <span class=\"keyword\">forall</span> a v. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v) =&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> a v -&gt; v -&gt; a","name":"backprop","module":"Downhill.Linear.Backprop","link":"Downhill-Linear-Backprop.html#v:backprop"},{"display_html":"<a href=\"#v:buildGraph\">buildGraph</a> :: <span class=\"keyword\">forall</span> a v. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v) =&gt; [<a href=\"Downhill-Linear-Expr.html#t:Term\" title=\"Downhill.Linear.Expr\">Term</a> a v] -&gt; <a href=\"/package/base-4.16.3.0/docs/System-IO.html#t:IO\" title=\"System.IO\">IO</a> (<a href=\"Downhill-Internal-Graph-Graph.html#t:SomeGraph\" title=\"Downhill.Internal.Graph.Graph\">SomeGraph</a> <a href=\"Downhill-Internal-Graph-Types.html#t:BackFun\" title=\"Downhill.Internal.Graph.Types\">BackFun</a> a v)","name":"buildGraph","module":"Downhill.Linear.Backprop","link":"Downhill-Linear-Backprop.html#v:buildGraph"},{"display_html":"<span class=\"keyword\">class</span> (<a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> v ~ <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> dv, <a href=\"/package/vector-space-0.16/docs/Data-AdditiveGroup.html#t:AdditiveGroup\" title=\"Data.AdditiveGroup\">AdditiveGroup</a> (<a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> v), <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:VectorSpace\" title=\"Data.VectorSpace\">VectorSpace</a> v, <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:VectorSpace\" title=\"Data.VectorSpace\">VectorSpace</a> dv) =&gt; <a href=\"#t:Dual\">Dual</a> v dv <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:evalGrad\">evalGrad</a> :: dv -&gt; v -&gt; <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> v</li></ul>","name":"Dual evalGrad","module":"Downhill.Grad","link":"Downhill-Grad.html#t:Dual"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"Downhill-Grad.html#t:Dual\" title=\"Downhill.Grad\">Dual</a> v dv =&gt; <a href=\"#t:HilbertSpace\">HilbertSpace</a> v dv <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:riesz\">riesz</a> :: v -&gt; dv</li><li><a href=\"#v:coriesz\">coriesz</a> :: dv -&gt; v</li></ul>","name":"HilbertSpace coriesz riesz","module":"Downhill.Grad","link":"Downhill-Grad.html#t:HilbertSpace"},{"display_html":"<span class=\"keyword\">class</span> (<a href=\"Downhill-Grad.html#t:Dual\" title=\"Downhill.Grad\">Dual</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p) (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p), <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p) ~ <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p)) =&gt; <a href=\"#t:Manifold\">Manifold</a> p <span class=\"keyword\">where</span><ul class=\"subs\"><li><span class=\"keyword\">type</span> <a href=\"#t:Tang\">Tang</a> p :: <a href=\"/package/base-4.16.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a></li><li><span class=\"keyword\">type</span> <a href=\"#t:Grad\">Grad</a> p :: <a href=\"/package/base-4.16.3.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a></li></ul>","name":"Manifold Grad Tang","module":"Downhill.Grad","link":"Downhill-Grad.html#t:Manifold"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:HasGrad\">HasGrad</a> p = (<a href=\"Downhill-Grad.html#t:Manifold\" title=\"Downhill.Grad\">Manifold</a> p, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p))","name":"HasGrad","module":"Downhill.Grad","link":"Downhill-Grad.html#t:HasGrad"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:MScalar\">MScalar</a> p = <a href=\"/package/vector-space-0.16/docs/Data-VectorSpace.html#t:Scalar\" title=\"Data.VectorSpace\">Scalar</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p)","name":"MScalar","module":"Downhill.Grad","link":"Downhill-Grad.html#t:MScalar"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:GradBuilder\">GradBuilder</a> v = <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> v)","name":"GradBuilder","module":"Downhill.Grad","link":"Downhill-Grad.html#t:GradBuilder"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:HasGradAffine\">HasGradAffine</a> p = (<a href=\"/package/vector-space-0.16/docs/Data-AffineSpace.html#t:AffineSpace\" title=\"Data.AffineSpace\">AffineSpace</a> p, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> p, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p), <a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p ~ <a href=\"/package/vector-space-0.16/docs/Data-AffineSpace.html#t:Diff\" title=\"Data.AffineSpace\">Diff</a> p, <a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p) ~ <a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p) ~ <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p)","name":"HasGradAffine","module":"Downhill.Grad","link":"Downhill-Grad.html#t:HasGradAffine"},{"display_html":"<a href=\"#v:lift1\">lift1</a> :: <span class=\"keyword\">forall</span> z r a. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift1","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift1"},{"display_html":"<a href=\"#v:lift2\">lift2</a> :: <span class=\"keyword\">forall</span> z r a b. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> b) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift2","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift2"},{"display_html":"<a href=\"#v:lift3\">lift3</a> :: <span class=\"keyword\">forall</span> z r a b c. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> b) -&gt; (z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> c) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r c -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift3","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift3"},{"display_html":"<a href=\"#v:lift1_dense\">lift1_dense</a> :: (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a) =&gt; (v -&gt; a) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r v","name":"lift1_dense","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift1_dense"},{"display_html":"<a href=\"#v:lift2_dense\">lift2_dense</a> :: (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> b) =&gt; (v -&gt; a) -&gt; (v -&gt; b) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r v","name":"lift2_dense","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift2_dense"},{"display_html":"<a href=\"#v:lift3_dense\">lift3_dense</a> :: (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> v, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> b, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> c) =&gt; (v -&gt; a) -&gt; (v -&gt; b) -&gt; (v -&gt; c) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r c -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r v","name":"lift3_dense","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift3_dense"},{"display_html":"<a href=\"#v:lift1_sparse\">lift1_sparse</a> :: <span class=\"keyword\">forall</span> r a z. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift1_sparse","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift1_sparse"},{"display_html":"<a href=\"#v:lift2_sparse\">lift2_sparse</a> :: <span class=\"keyword\">forall</span> r a b z. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> b) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift2_sparse","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift2_sparse"},{"display_html":"<a href=\"#v:lift3_sparse\">lift3_sparse</a> :: <span class=\"keyword\">forall</span> r a b c z. <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> z =&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> a) -&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> b) -&gt; (<a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> z -&gt; <a href=\"Downhill-Linear-Expr.html#t:VecBuilder\" title=\"Downhill.Linear.Expr\">VecBuilder</a> c) -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r c -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r z","name":"lift3_sparse","module":"Downhill.Linear.Lift","link":"Downhill-Linear-Lift.html#v:lift3_sparse"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T2\">T2</a> :: <span class=\"keyword\">forall</span> r a b. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> b) =&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r (a, b)","name":"T2","module":"Downhill.Linear.Prelude","link":"Downhill-Linear-Prelude.html#v:T2"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T3\">T3</a> :: <span class=\"keyword\">forall</span> r a b c. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> b, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> c) =&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r a -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r b -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r c -&gt; <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r (a, b, c)","name":"T3","module":"Downhill.Linear.Prelude","link":"Downhill-Linear-Prelude.html#v:T3"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:BVar\">BVar</a> r a = <a href=\"#v:BVar\">BVar</a> {<ul class=\"subs\"><li><a href=\"#v:bvarValue\">bvarValue</a> :: a</li><li><a href=\"#v:bvarGrad\">bvarGrad</a> :: <a href=\"Downhill-Linear-BackGrad.html#t:BackGrad\" title=\"Downhill.Linear.BackGrad\">BackGrad</a> r (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a)</li></ul>}","name":"BVar BVar bvarValue bvarGrad","module":"Downhill.BVar","link":"Downhill-BVar.html#t:BVar"},{"display_html":"<a href=\"#v:var\">var</a> :: a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a) a","name":"var","module":"Downhill.BVar","link":"Downhill-BVar.html#v:var"},{"display_html":"<a href=\"#v:constant\">constant</a> :: <span class=\"keyword\">forall</span> r a. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a), <a href=\"/package/vector-space-0.16/docs/Data-AdditiveGroup.html#t:AdditiveGroup\" title=\"Data.AdditiveGroup\">AdditiveGroup</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a)) =&gt; a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a","name":"constant","module":"Downhill.BVar","link":"Downhill-BVar.html#v:constant"},{"display_html":"<a href=\"#v:backprop\">backprop</a> :: <span class=\"keyword\">forall</span> r a. (<a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> r) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a -&gt; r","name":"backprop","module":"Downhill.BVar","link":"Downhill-BVar.html#v:backprop"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T2\">T2</a> :: <span class=\"keyword\">forall</span> r a b. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a), <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> b)) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r b -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r (a, b)","name":"T2","module":"Downhill.BVar","link":"Downhill-BVar.html#v:T2"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T3\">T3</a> :: <span class=\"keyword\">forall</span> r a b c. (<a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a), <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> b), <a href=\"Downhill-Linear-Expr.html#t:BasicVector\" title=\"Downhill.Linear.Expr\">BasicVector</a> (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> c)) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r b -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r c -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r (a, b, c)","name":"T3","module":"Downhill.BVar","link":"Downhill-BVar.html#v:T3"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T2\">T2</a> :: (<a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> b) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r b -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r (a, b)","name":"T2","module":"Downhill.BVar.Prelude","link":"Downhill-BVar-Prelude.html#v:T2"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:T3\">T3</a> :: (<a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> b, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> c) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r b -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r c -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r (a, b, c)","name":"T3","module":"Downhill.BVar.Prelude","link":"Downhill-BVar-Prelude.html#v:T3"},{"display_html":"<span class=\"keyword\">class</span> <a href=\"Downhill-Grad.html#t:Dual\" title=\"Downhill.Grad\">Dual</a> (<a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p) (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p) =&gt; <a href=\"#t:MetricTensor\">MetricTensor</a> p g <span class=\"keyword\">where</span><ul class=\"subs\"><li><a href=\"#v:evalMetric\">evalMetric</a> :: g -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; <a href=\"Downhill-Grad.html#t:Tang\" title=\"Downhill.Grad\">Tang</a> p</li><li><a href=\"#v:innerProduct\">innerProduct</a> :: g -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; <a href=\"Downhill-Grad.html#t:MScalar\" title=\"Downhill.Grad\">MScalar</a> p</li><li><a href=\"#v:sqrNorm\">sqrNorm</a> :: g -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; <a href=\"Downhill-Grad.html#t:MScalar\" title=\"Downhill.Grad\">MScalar</a> p</li></ul>","name":"MetricTensor evalMetric innerProduct sqrNorm","module":"Downhill.Metric","link":"Downhill-Metric.html#t:MetricTensor"},{"display_html":"<a href=\"#v:backpropTraversable\">backpropTraversable</a> :: <span class=\"keyword\">forall</span> f a b p. (<a href=\"/package/base-4.16.3.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> f, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (f a) ~ <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (<a href=\"Downhill-BVar-Traversable.html#t:TraversableVar\" title=\"Downhill.BVar.Traversable\">TraversableVar</a> f a), <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> p) =&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; (a -&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a -&gt; b) -&gt; (<span class=\"keyword\">forall</span> r. f (<a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a) -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r p) -&gt; f a -&gt; f b","name":"backpropTraversable","module":"Downhill.BVar.Traversable","link":"Downhill-BVar-Traversable.html#v:backpropTraversable"},{"display_html":"<a href=\"#v:backpropTraversable_GradOnly\">backpropTraversable_GradOnly</a> :: <span class=\"keyword\">forall</span> f a p. (<a href=\"/package/base-4.16.3.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> f, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (f a) ~ <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (<a href=\"Downhill-BVar-Traversable.html#t:TraversableVar\" title=\"Downhill.BVar.Traversable\">TraversableVar</a> f a), <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> p) =&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; (<span class=\"keyword\">forall</span> r. f (<a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a) -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r p) -&gt; f a -&gt; f (<a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a)","name":"backpropTraversable_GradOnly","module":"Downhill.BVar.Traversable","link":"Downhill-BVar-Traversable.html#v:backpropTraversable_GradOnly"},{"display_html":"<a href=\"#v:backpropTraversable_ValueAndGrad\">backpropTraversable_ValueAndGrad</a> :: <span class=\"keyword\">forall</span> f a p. (<a href=\"/package/base-4.16.3.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> f, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (f a) ~ <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (<a href=\"Downhill-BVar-Traversable.html#t:TraversableVar\" title=\"Downhill.BVar.Traversable\">TraversableVar</a> f a), <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a, <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> p) =&gt; <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> p -&gt; (<span class=\"keyword\">forall</span> r. f (<a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a) -&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r p) -&gt; f a -&gt; f (a, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> a)","name":"backpropTraversable_ValueAndGrad","module":"Downhill.BVar.Traversable","link":"Downhill-BVar-Traversable.html#v:backpropTraversable_ValueAndGrad"},{"display_html":"<a href=\"#v:splitTraversable\">splitTraversable</a> :: <span class=\"keyword\">forall</span> f r a. (<a href=\"/package/base-4.16.3.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> f, <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (f a) ~ <a href=\"Downhill-Grad.html#t:Grad\" title=\"Downhill.Grad\">Grad</a> (<a href=\"Downhill-BVar-Traversable.html#t:TraversableVar\" title=\"Downhill.BVar.Traversable\">TraversableVar</a> f a), <a href=\"Downhill-Grad.html#t:HasGrad\" title=\"Downhill.Grad\">HasGrad</a> a) =&gt; <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r (f a) -&gt; f (<a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> r a)","name":"splitTraversable","module":"Downhill.BVar.Traversable","link":"Downhill-BVar-Traversable.html#v:splitTraversable"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:TraversableVar\">TraversableVar</a> f a = <a href=\"#v:TraversableVar\">TraversableVar</a> {<ul class=\"subs\"><li><a href=\"#v:unTraversableVar\">unTraversableVar</a> :: f a</li></ul>}","name":"TraversableVar TraversableVar unTraversableVar","module":"Downhill.BVar.Traversable","link":"Downhill-BVar-Traversable.html#t:TraversableVar"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:AsNum\">AsNum</a> a = <a href=\"#v:AsNum\">AsNum</a> {<ul class=\"subs\"><li><a href=\"#v:unAsNum\">unAsNum</a> :: a</li></ul>}","name":"AsNum AsNum unAsNum","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#t:AsNum"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:NumBVar\">NumBVar</a> a = <a href=\"Downhill-BVar.html#t:BVar\" title=\"Downhill.BVar\">BVar</a> (<a href=\"Downhill-BVar-Num.html#t:AsNum\" title=\"Downhill.BVar.Num\">AsNum</a> a) (<a href=\"Downhill-BVar-Num.html#t:AsNum\" title=\"Downhill.BVar.Num\">AsNum</a> a)","name":"NumBVar","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#t:NumBVar"},{"display_html":"<a href=\"#v:numbvarValue\">numbvarValue</a> :: <a href=\"Downhill-BVar-Num.html#t:NumBVar\" title=\"Downhill.BVar.Num\">NumBVar</a> a -&gt; a","name":"numbvarValue","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#v:numbvarValue"},{"display_html":"<a href=\"#v:var\">var</a> :: <a href=\"/package/base-4.16.3.0/docs/Prelude.html#t:Num\" title=\"Prelude\">Num</a> a =&gt; a -&gt; <a href=\"Downhill-BVar-Num.html#t:NumBVar\" title=\"Downhill.BVar.Num\">NumBVar</a> a","name":"var","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#v:var"},{"display_html":"<a href=\"#v:constant\">constant</a> :: <span class=\"keyword\">forall</span> a. <a href=\"/package/base-4.16.3.0/docs/Prelude.html#t:Num\" title=\"Prelude\">Num</a> a =&gt; a -&gt; <a href=\"Downhill-BVar-Num.html#t:NumBVar\" title=\"Downhill.BVar.Num\">NumBVar</a> a","name":"constant","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#v:constant"},{"display_html":"<a href=\"#v:backpropNum\">backpropNum</a> :: <span class=\"keyword\">forall</span> a. <a href=\"/package/base-4.16.3.0/docs/Prelude.html#t:Num\" title=\"Prelude\">Num</a> a =&gt; <a href=\"Downhill-BVar-Num.html#t:NumBVar\" title=\"Downhill.BVar.Num\">NumBVar</a> a -&gt; a","name":"backpropNum","module":"Downhill.BVar.Num","link":"Downhill-BVar-Num.html#v:backpropNum"}]