]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/cone/nonnegative_orthant.py
README: rewrite it, it was rather out-of-date
[sage.d.git] / mjo / cone / nonnegative_orthant.py
diff --git a/mjo/cone/nonnegative_orthant.py b/mjo/cone/nonnegative_orthant.py
deleted file mode 100644 (file)
index 8c42838..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-"""
-The nonnegative orthant in `\mathbb{Z}^{n}`. I'm sick and tired of
-typing it.
-"""
-
-from sage.all import *
-
-def nonnegative_orthant(n, lattice=None):
-    r"""
-    The nonnegative orthant in ``n`` dimensions.
-
-    INPUT:
-
-      - ``n`` -- the dimension of the ambient space.
-
-      - ``lattice`` -- (default: ``None``) an ambient lattice of rank ``n``
-                       to be passed to the :func:`Cone` constructor.
-
-    OUTPUT:
-
-    The convex cone having ``n`` standard basis vectors as its
-    generators. Each generating ray will have the integer ring as its
-    base ring.
-
-    If a ``lattice`` was specified, then the resulting cone will live in
-    that lattice unless its rank is incompatible with the dimension
-    ``n`` (in which case a ``ValueError`` is raised).
-
-    SETUP::
-
-        sage: from mjo.cone.nonnegative_orthant import nonnegative_orthant
-
-    EXAMPLES::
-
-        sage: nonnegative_orthant(3).rays()
-        N(1, 0, 0),
-        N(0, 1, 0),
-        N(0, 0, 1)
-        in 3-d lattice N
-
-    TESTS:
-
-    We can construct the trivial cone as the nonnegative orthant in a
-    trivial vector space::
-
-        sage: nonnegative_orthant(0)
-        0-d cone in 0-d lattice N
-
-    The nonnegative orthant is a proper cone::
-
-        sage: set_random_seed()
-        sage: n = ZZ.random_element(10)
-        sage: K = nonnegative_orthant(n)
-        sage: K.is_proper()
-        True
-
-    If a ``lattice`` was given, it is actually used::
-
-        sage: L = ToricLattice(3, 'M')
-        sage: nonnegative_orthant(3, lattice=L)
-        3-d cone in 3-d lattice M
-
-    Unless the rank of the lattice disagrees with ``n``::
-
-        sage: L = ToricLattice(1, 'M')
-        sage: nonnegative_orthant(3, lattice=L)
-        Traceback (most recent call last):
-        ...
-        ValueError: lattice rank=1 and dimension n=3 are incompatible
-
-    """
-    if lattice is None:
-        lattice = ToricLattice(n)
-
-    if lattice.rank() != n:
-        raise ValueError('lattice rank=%d and dimension n=%d are incompatible'
-                         %
-                         (lattice.rank(), n))
-
-    I = identity_matrix(ZZ,n)
-    return Cone(I.rows(), lattice)