Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type Polygon = [Point2D]
- type Normals = [Point2D]
- mapTermPoint :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Point2D (Monomial ord n, k)
- computeIntersection :: Integral k => (Monomial ord n, k) -> (Monomial ord n, k) -> (Monomial ord n, k) -> Point2D
- findFanNVertex :: Integral k => Map Point2D (Monomial ord n, k) -> Polygon -> (Point2D, Normals)
- findPolygonNVertex :: Integral k => Map Point2D (Monomial ord n, k) -> Polygon -> (Polygon, Point2D)
- innerNormal :: Point2D -> Point2D -> Point2D -> Point2D
- innerNormals :: Point2D -> Point2D -> Point2D -> Normals
- verticesNormals :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Point2D Normals
- neighborTriangles :: [Polygon] -> Map Polygon [Polygon] -> Map Polygon [Polygon]
- pointsWithTriangles :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Polygon Point2D
- polygonCenter :: Map Polygon Point2D -> Polygon -> Point2D
- convertMap :: Map Polygon [Polygon] -> Map Polygon Point2D -> Map Point2D [Point2D]
- computeEdges :: Map Point2D [Point2D] -> Map Point2D Normals -> [(Point2D, Point2D)]
- isInverse :: Point2D -> Point2D -> Point2D -> Point2D -> Bool
- analizeNormals :: (Point2D, Normals) -> (Point2D, Normals) -> ((Point2D, Normals), (Point2D, Point2D))
- hypersurface :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> [(Point2D, Point2D)]
Documentation
type Polygon = [Point2D] Source #
The tropical hypersurface of a polynomial f is the n-1 skeleton of the Newton polyotpe of f with a regular subdivision induced by a vector w in R^n. The hypersurface will be stored as a set of points.
mapTermPoint :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Point2D (Monomial ord n, k) Source #
This function produces a key-value map of the terms of a polynomial with their corresponding coordinates for the Newton polytope
computeIntersection :: Integral k => (Monomial ord n, k) -> (Monomial ord n, k) -> (Monomial ord n, k) -> Point2D Source #
Finds the vertex of a tropical line which corresponds to the intersection of the polyhedral fan of a triangle. The output is the result of the systems of equations given by: ax + by +c = 0; dx + ey f = 0; gx + hy + i = 0.
findFanNVertex :: Integral k => Map Point2D (Monomial ord n, k) -> Polygon -> (Point2D, Normals) Source #
findPolygonNVertex :: Integral k => Map Point2D (Monomial ord n, k) -> Polygon -> (Polygon, Point2D) Source #
verticesNormals :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Point2D Normals Source #
pointsWithTriangles :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> Map Polygon Point2D Source #
analizeNormals :: (Point2D, Normals) -> (Point2D, Normals) -> ((Point2D, Normals), (Point2D, Point2D)) Source #
hypersurface :: (IsMonomialOrder ord, Ord k, Integral k) => Polynomial k ord n -> [(Point2D, Point2D)] Source #