Copyright | (c) Justus Sagemüller 2016 |
---|---|
License | GPL v3 |
Maintainer | (@) sagemueller $ geo.uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Several low-dimensional manifolds, represented in some simple way as Haskell
data types. All these are in the PseudoAffine
class.
- type ℝ⁰ = ZeroDim ℝ
- type ℝ = Double
- data S⁰
- otherHalfSphere :: S⁰ -> S⁰
- newtype S¹ = S¹Polar {}
- pattern S¹ :: Double -> S¹
- data S² = S²Polar {}
- pattern S² :: Double -> Double -> S²
- newtype D¹ = D¹ {}
- fromIntv0to1 :: ℝ -> D¹
- data D² = D²Polar {}
- pattern D² :: Double -> Double -> D²
- data ℝP⁰ = ℝPZero
- newtype ℝP¹ = HemisphereℝP¹Polar {}
- pattern ℝP¹ :: Double -> ℝP¹
- data ℝP² = HemisphereℝP²Polar {}
- pattern ℝP² :: Double -> Double -> ℝP²
- data Cℝay x = Cℝay {
- hParamCℝay :: !Double
- pParamCℝay :: !x
- data CD¹ x = CD¹ {}
Documentation
The zero-dimensional sphere is actually just two points. Implementation might
therefore change to ℝ⁰
: the disjoint sum of two
single-point spaces.+
ℝ⁰
otherHalfSphere :: S⁰ -> S⁰ Source #
The unit circle.
The ordinary unit sphere.
The “one-dimensional disk” – really just the line segment between the two points -1 and 1 of 'S⁰', i.e. this is simply a closed interval.
fromIntv0to1 :: ℝ -> D¹ Source #
The standard, closed unit disk. Homeomorphic to the cone over 'S¹', but not in the the obvious, “flat” way. (In is not homeomorphic, despite the almost identical ADT definition, to the projective space 'ℝP²'!)
pattern ℝP¹ :: Double -> ℝP¹ Source #
Deprecated: Use Math.Manifold.Core.Types.HemisphereℝP¹Polar (notice: different range)
The two-dimensional real projective space, implemented as a disk with opposing points on the rim glued together. Image this disk as the northern hemisphere of a unit sphere; 'ℝP²' is the space of all straight lines passing through the origin of 'ℝ³', and each of these lines is represented by the point at which it passes through the hemisphere.
pattern ℝP² :: Double -> Double -> ℝP² Source #
Deprecated: Use Math.Manifold.Core.Types.HemisphereℝP²Polar (notice: different range)
An open cone is homeomorphic to a closed cone without the “lid”,
i.e. without the “last copy” of x
, at the far end of the height
interval. Since that means the height does not include its supremum, it is actually
more natural to express it as the entire real ray, hence the name.
Cℝay | |
|
A (closed) cone over a space x
is the product of x
with the closed interval 'D¹'
of “heights”,
except on its “tip”: here, x
is smashed to a single point.
This construct becomes (homeomorphic-to-) an actual geometric cone (and to 'D²') in the
special case x = 'S¹'
.
Orphan instances
HasBasis () Source # | |
VectorSpace () Source # | |
InnerSpace () Source # | |