axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Axiom Design Question / Polymake feedback


From: Martin Rubey
Subject: [Axiom-developer] Axiom Design Question / Polymake feedback
Date: Wed, 24 Aug 2005 14:48:30 +0200

Dear all,

I got already nice feedback from Michael Joswig, one of the heads of
polymake. He said he liked the idea, but they are probably going for
Singular. A very clever choice indeed -- I didn't think of that one. It
probably would make sense to look at Singulars functionality and see how it
compares with axioms.

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

Apart from that I have the following design problem:

I have a domain which contains polytopes. 

)abbrev domain POLYTOPE Polytope
Polytope(): Exports == Implementation where
    Exports == with

-------------------------------------------------------------------------------
--               polytope constructions                                      --
-------------------------------------------------------------------------------

      cube: Integer -> %

      randSphere: (Integer, Integer) -> %

-------------------------------------------------------------------------------
--               polytope properties                                         --
-------------------------------------------------------------------------------

      hvector: % -> List Integer

      vertices: % -> Matrix ???

Now the problem is as follows: the type of the elements of the matrix depends
on the polytope. For some polytopes, they are Integers, for others rationals or
floats, or both.

Now one solution is simply to parametrize the domain:

)abbrev domain POLYTOPE Polytope
Polytope(R: Ring): Exports == Implementation where
    Exports == with

-------------------------------------------------------------------------------
--               polytope constructions                                      --
-------------------------------------------------------------------------------

      cube: Integer -> %

      if R is Float then randSphere: (Integer, Integer) -> %

      vertices: % -> Matrix R

However, I'm not convinced that this is the best solution. One reason being,
that I don't really want that the user has to specify the type of his polytope
all the time.

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

So here is the second idea:

have a package 

)abbrev domain POLYCON PolytopeConstructions
PolytopeConstructions(): Exports == Implementation where
    Exports == with

      cube: Integer -> Polytope Integer

      randSphere: (Integer, Integer) -> Polytope Float

and a parametrized domain as above. I'm not sure whether this is sensible,
either

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

Third idea:

Make all vertices have coordinates of type Fraction Integer. If they happen to
be integers, they can be converted afterwards anyway. It is highly unlikely
that there will be anything around that does not have rational vertices.

-------------------------------------------------------------------------------

So what do you think?

Martin






reply via email to

[Prev in Thread] Current Thread [Next in Thread]