| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Downhill.Grad
Synopsis
- class (Scalar v ~ Scalar dv, AdditiveGroup (Scalar v), VectorSpace v, VectorSpace dv) => Dual v dv where
- class (Dual (Tang p) (Grad p), BasicVector (Grad p), Scalar (Tang p) ~ Scalar (Grad p)) => HasGrad p where
- type MScalar p = Scalar (Tang p)
- type GradBuilder v = VecBuilder (Grad v)
- type HasGradAffine p = (AffineSpace p, HasGrad p, HasGrad (Tang p), Tang p ~ Diff p, Tang (Tang p) ~ Tang p, Grad (Tang p) ~ Grad p)
Documentation
class (Scalar v ~ Scalar dv, AdditiveGroup (Scalar v), VectorSpace v, VectorSpace dv) => Dual v dv where Source #
Dual of a vector v is a linear map v -> Scalar v.
Minimal complete definition
Nothing
Methods
Instances
| Dual Double Double Source # | |
| Dual Float Float Source # | |
| Dual Integer Integer Source # | |
| Num a => Dual (AsNum a) (AsNum a) Source # | |
| (Scalar a ~ Scalar b, Dual a da, Dual b db) => Dual (a, b) (da, db) Source # | |
Defined in Downhill.Grad | |
| (Scalar a ~ Scalar b, Scalar a ~ Scalar c, Dual a da, Dual b db, Dual c dc) => Dual (a, b, c) (da, db, dc) Source # | |
Defined in Downhill.Grad | |
class (Dual (Tang p) (Grad p), BasicVector (Grad p), Scalar (Tang p) ~ Scalar (Grad p)) => HasGrad p Source #
Differentiable functions don't need to be constrained to vector spaces, they can be defined on other smooth manifolds, too.
Associated Types
Tangent space.
Cotangent space.
Instances
| HasGrad Double Source # | |
| HasGrad Float Source # | |
| HasGrad Integer Source # | |
| Num a => HasGrad (AsNum a) Source # | |
| (HasGrad a, HasGrad b, MScalar b ~ MScalar a) => HasGrad (a, b) Source # | |
| HasGrad a => HasGrad (TraversableVar f a) Source # | |
Defined in Downhill.BVar.Traversable | |
| (HasGrad a, HasGrad b, HasGrad c, MScalar b ~ MScalar a, MScalar c ~ MScalar a) => HasGrad (a, b, c) Source # | |
type GradBuilder v = VecBuilder (Grad v) Source #