Ticket #12544: trac_12544_fix_doctests.patch

File trac_12544_fix_doctests.patch, 25.3 KB (added by novoselt, 9 years ago)
  • sage/geometry/cone.py

    # HG changeset patch
    # User Andrey Novoseltsev <novoselt@gmail.com>
    # Date 1331088101 25200
    # Node ID 6e25398b70096af4aa33f02ab17eec033067bb77
    # Parent  f71249f0b399aa5f252d063b70c13a6dc4bf95a5
    Adjust doctests to new cone.rays() output.
    
    diff --git a/sage/geometry/cone.py b/sage/geometry/cone.py
    a b  
    5050Once you have a cone, you can perform numerous operations on it. The most
    5151important ones are, probably, ray accessing methods::
    5252
    53     sage: halfspace.rays()
    54     (N(0, 0, 1), N(0, 1, 0), N(0, -1, 0), N(1, 0, 0), N(-1, 0, 0))
    55     sage: halfspace.ray(3)
    56     N(1, 0, 0)
    57     sage: halfspace.ray_matrix()
     53    sage: rays = halfspace.rays()
     54    sage: rays
    5855    [ 0  0  0  1 -1]
    5956    [ 0  1 -1  0  0]
    6057    [ 1  0  0  0  0]
    61     sage: halfspace.ray_set()
     58    in 3-d lattice N
     59    sage: rays.set()
    6260    frozenset([N(1, 0, 0), N(-1, 0, 0), N(0, 1, 0), N(0, 0, 1), N(0, -1, 0)])
     61    sage: rays.matrix()
     62    [ 0  0  0  1 -1]
     63    [ 0  1 -1  0  0]
     64    [ 1  0  0  0  0]
     65    sage: rays(3)
     66    [1]
     67    [0]
     68    [0]
     69    in 3-d lattice N
     70    sage: rays[3]
     71    N(1, 0, 0)
     72    sage: halfspace.ray(3)
     73    N(1, 0, 0)
     74
     75Note that while we output rays by default as a matrix, the method
     76:meth:`~ConvexRationalPolyhedralCone.rays` returns a
     77:class:`~sage.geometry.point_collection.PointCollection` with `i`-th element
     78being the `i`-th point, i.e. the `i`-th column of the shown matrix, while after
     79explicit conversion to a matrix indexing refers to rows. In the above example
     80requesting the third row will lead to an error::
     81
     82    sage: halfspace.rays().matrix()[3]
     83    Traceback (most recent call last):
     84    ...
     85    IndexError: matrix index out of range
    6386
    6487If you want to do something with each ray of a cone, you can write ::
    6588
     
    111134    sage: face
    112135    2-d face of 3-d cone in 3-d lattice N
    113136    sage: face.rays()
    114     (N(1, 1, 1), N(1, -1, 1))
     137    [ 1  1]
     138    [ 1 -1]
     139    [ 1  1]
     140    in 3-d lattice N
    115141    sage: face.ambient_ray_indices()
    116142    (0, 1)
    117143    sage: four_rays.rays(face.ambient_ray_indices())
     
    124150    [1, 4, 4, 1]
    125151    sage: face = L.level_sets()[2][0]
    126152    sage: face.element.rays()
    127     (N(1, 1, 1), N(1, -1, 1))
     153    [ 1  1]
     154    [ 1 -1]
     155    [ 1  1]
     156    in 3-d lattice N
    128157    sage: L.hasse_diagram().neighbors_in(face)
    129158    [1-d face of 3-d cone in 3-d lattice N,
    130159     1-d face of 3-d cone in 3-d lattice N]
     
    265294        sage: quadrant
    266295        2-d cone in 2-d lattice N
    267296        sage: quadrant.rays()
    268         (N(1, 0), N(0, 1))
     297        [1 0]
     298        [0 1]
     299        in 2-d lattice N
    269300
    270301    You may prefer to use :meth:`~IntegralRayCollection.ray_matrix` when you
    271302    want to take a look at rays, they will be given as columns::
     
    277308    If you give more rays than necessary, the extra ones will be discarded::
    278309
    279310        sage: Cone([(1,0), (0,1), (1,1), (0,1)]).rays()
    280         (N(0, 1), N(1, 0))
     311        [0 1]
     312        [1 0]
     313        in 2-d lattice N
    281314
    282315    However, this work is not done with ``check=False`` option, so use it
    283316    carefully! ::
    284317
    285318        sage: Cone([(1,0), (0,1), (1,1), (0,1)], check=False).rays()
    286         (N(1, 0), N(0, 1), N(1, 1), N(0, 1))
     319        [1 0 1 0]
     320        [0 1 1 1]
     321        in 2-d lattice N
    287322
    288323    Even worse things can happen with ``normalize=False`` option::
    289324
     
    300335        1
    301336        sage: half_plane = Cone([(1,0), (0,1), (-1,0)])
    302337        sage: half_plane.rays()
    303         (N(0, 1), N(1, 0), N(-1, 0))
     338        [ 0  1 -1]
     339        [ 1  0  0]
     340        in 2-d lattice N
    304341        sage: half_plane.is_strictly_convex()
    305342        False
    306343        sage: origin = Cone([(0,0)])
    307344        sage: origin.rays()
    308         ()
     345        []
     346        in 2-d lattice N
    309347        sage: origin.dim()
    310348        0
    311349        sage: origin.lattice_dim()
     
    331369        sage: L = ToricLattice(3, "L")
    332370        sage: c1 = Cone([(1,0,0),(1,1,1)], lattice=L)
    333371        sage: c1.rays()
    334         (L(1, 0, 0), L(1, 1, 1))
     372        [1 1]
     373        [0 1]
     374        [0 1]
     375        in 3-d lattice L
    335376
    336377    Or you can construct cones from rays of a particular lattice::
    337378
     
    339380        sage: ray2 = L(1,1,1)
    340381        sage: c2 = Cone([ray1, ray2])
    341382        sage: c2.rays()
    342         (L(1, 0, 0), L(1, 1, 1))
     383        [1 1]
     384        [0 1]
     385        [0 1]
     386        in 3-d lattice L
    343387        sage: c1 == c2
    344388        True
    345389
     
    443487    TESTS::
    444488   
    445489        sage: Cone([(1,0), (0,1), (1,1), (0,1)]).rays()   # indirect doctest
    446         (N(0, 1), N(1, 0))
     490        [0 1]
     491        [1 0]
     492        in 2-d lattice N
    447493    """
    448494    rays = []
    449495    lines = []
     
    589635            Ambient free module of rank 2
    590636            over the principal ideal domain Integer Ring
    591637            sage: c.rays()
    592             ((1, 0),)
     638            [1]
     639            [0]
     640            in Ambient free module of rank 2 over the principal ideal domain Integer Ring
    593641            sage: TestSuite(c).run()
    594642        """
    595643        self._rays = PointCollection(rays, lattice)
     
    751799            sage: c.cartesian_product(c)    # indirect doctest
    752800            2-d cone in 2-d lattice N+N
    753801            sage: _.rays()
    754             (N+N(1, 0), N+N(0, 1))
     802            [1 0]
     803            [0 1]
     804            in 2-d lattice N+N
    755805        """
    756806        assert isinstance(other, IntegralRayCollection)
    757807        if lattice is None:
     
    9971047
    9981048            sage: c = Cone([(1,0), (0,1), (-1, 0)])
    9991049            sage: c.rays()
    1000             (N(0, 1), N(1, 0), N(-1, 0))
     1050            [ 0  1 -1]
     1051            [ 1  0  0]
     1052            in 2-d lattice N
    10011053            sage: c.rays([0, 2])
    10021054            (N(0, 1), N(-1, 0))
    10031055        """
     
    11391191            Ambient free module of rank 2
    11401192            over the principal ideal domain Integer Ring
    11411193            sage: ac.rays()
    1142             ((1, 0), (0, 1))
     1194            [1 0]
     1195            [0 1]
     1196            in Ambient free module of rank 2 over the principal ideal domain Integer Ring
    11431197            sage: ac.ambient() is ac
    11441198            True
    11451199            sage: TestSuite(ac).run()
    11461200            sage: sc = ConvexRationalPolyhedralCone(ambient=ac,
    11471201            ...                         ambient_ray_indices=[1])
    11481202            sage: sc.rays()
    1149             ((0, 1),)
     1203            [0]
     1204            [1]
     1205            in Ambient free module of rank 2 over the principal ideal domain Integer Ring
    11501206            sage: sc.ambient() is ac
    11511207            True
    11521208            sage: TestSuite(sc).run()
     
    14181474            sage: c.cartesian_product(c)
    14191475            2-d cone in 2-d lattice N+N
    14201476            sage: _.rays()
    1421             (N+N(1, 0), N+N(0, 1))
     1477            [1 0]
     1478            [0 1]
     1479            in 2-d lattice N+N
    14221480        """
    14231481        assert is_Cone(other)
    14241482        rc = super(ConvexRationalPolyhedralCone, self).cartesian_product(
     
    17321790       
    17331791            sage: cone = Cone([(1,0), (-1,3)])
    17341792            sage: cone.dual().rays()
    1735             (M(3, 1), M(0, 1))
     1793            [3 0]
     1794            [1 1]
     1795            in 2-d lattice M
    17361796           
    17371797        Now let's look at a more complicated case::
    17381798       
     
    17421802            sage: cone.dim()
    17431803            3
    17441804            sage: cone.dual().rays()
    1745             (M(7, -18, -2), M(1, -4, 0))
     1805            [  7   1]
     1806            [-18  -4]
     1807            [ -2   0]
     1808            in 3-d lattice M
    17461809            sage: cone.dual().dual() is cone
    17471810            True
    17481811
     
    17501813       
    17511814            sage: N = ToricLattice(2)
    17521815            sage: Cone([], lattice=N).dual().rays()  # empty cone
    1753             (M(1, 0), M(-1, 0), M(0, 1), M(0, -1))
     1816            [ 1 -1  0  0]
     1817            [ 0  0  1 -1]
     1818            in 2-d lattice M
    17541819            sage: Cone([(1,0)], lattice=N).dual().rays()  # ray in 2d
    1755             (M(1, 0), M(0, 1), M(0, -1))
     1820            [ 1  0  0]
     1821            [ 0  1 -1]
     1822            in 2-d lattice M
    17561823            sage: Cone([(1,0),(-1,0)], lattice=N).dual().rays()  # line in 2d
    1757             (M(0, 1), M(0, -1))
     1824            [ 0  0]
     1825            [ 1 -1]
     1826            in 2-d lattice M
    17581827            sage: Cone([(1,0),(0,1)], lattice=N).dual().rays()  # strictly convex cone
    1759             (M(1, 0), M(0, 1))
     1828            [1 0]
     1829            [0 1]
     1830            in 2-d lattice M
    17601831            sage: Cone([(1,0),(-1,0),(0,1)], lattice=N).dual().rays()  # half space
    1761             (M(0, 1),)
     1832            [0]
     1833            [1]
     1834            in 2-d lattice M
    17621835            sage: Cone([(1,0),(0,1),(-1,-1)], lattice=N).dual().rays()  # whole space
    1763             ()
     1836            []
     1837            in 2-d lattice M
    17641838        """
    17651839        if "_dual" not in self.__dict__:
    17661840            rays = list(self.facet_normals())
     
    18281902            sage: e_ray
    18291903            1-d face of 3-d cone in 3-d lattice N
    18301904            sage: e_ray.rays()
    1831             (N(0, -1, 1),)
     1905            [ 0]
     1906            [-1]
     1907            [ 1]
     1908            in 3-d lattice N
    18321909            sage: e_ray is ray
    18331910            False
    18341911            sage: e_ray.is_equivalent(ray)
     
    19232000        Now you can look at the actual rays of this face... ::
    19242001
    19252002            sage: face.rays()
    1926             (N(1, 0),)
     2003            [1]
     2004            [0]
     2005            in 2-d lattice N
    19272006
    19282007        ... or you can see indices of the rays of the orginal cone that
    19292008        correspond to the above ray::
     
    19552034            sage: face
    19562035            1-d face of 2-d cone in 2-d lattice N
    19572036            sage: face.rays()
    1958             (N(1, 0),)
     2037            [1]
     2038            [0]
     2039            in 2-d lattice N
    19592040            sage: face.facets()
    19602041            (0-d face of 2-d cone in 2-d lattice N,)
    19612042            sage: face.facet_of()
     
    19632044            sage: face.adjacent()
    19642045            (1-d face of 2-d cone in 2-d lattice N,)
    19652046            sage: face.adjacent()[0].rays()
    1966             (N(0, 1),)
     2047            [0]
     2048            [1]
     2049            in 2-d lattice N
    19672050
    19682051        Note that if ``cone`` is a face of ``supercone``, then the face
    19692052        lattice of ``cone`` consists of (appropriate) faces of ``supercone``::
     
    21422225        Now you can look at the actual rays of this face... ::
    21432226
    21442227            sage: face.rays()
    2145             (N(1, 0),)
     2228            [1]
     2229            [0]
     2230            in 2-d lattice N
    21462231
    21472232        ... or you can see indices of the rays of the orginal cone that
    21482233        correspond to the above ray::
     
    21912276             (3-d cone in 4-d lattice N,))
    21922277             
    21932278        We also ensure that a call to this function does not break
    2194         :meth:`facets` method (see Trac #9780)::
     2279        :meth:`facets` method (see :trac:`9780`)::
    21952280       
    21962281            sage: cone = toric_varieties.dP8().fan().generating_cone(0)
    21972282            sage: cone
    21982283            2-d cone of Rational polyhedral fan in 2-d lattice N
    2199             sage: [f.rays() for f in cone.facets()]
    2200             [(N(1, 1),), (N(0, 1),)]
     2284            sage: for f in cone.facets(): print f.rays()
     2285            [1]
     2286            [1]
     2287            in 2-d lattice N
     2288            [0]
     2289            [1]
     2290            in 2-d lattice N
    22012291            sage: len(cone.faces())
    22022292            3
    2203             sage: [f.rays() for f in cone.facets()]
    2204             [(N(1, 1),), (N(0, 1),)]       
     2293            sage: for f in cone.facets(): print f.rays()
     2294            [1]
     2295            [1]
     2296            in 2-d lattice N
     2297            [0]
     2298            [1]
     2299            in 2-d lattice N
    22052300        """
    22062301        if dim is not None and codim is not None:
    22072302            raise ValueError(
     
    23852480            sage: cone1 = Cone([(1,0), (-1, 3)])
    23862481            sage: cone2 = Cone([(-1,0), (2, 5)])
    23872482            sage: cone1.intersection(cone2).rays()
    2388             (N(-1, 3), N(2, 5))
     2483            [-1  2]
     2484            [ 3  5]
     2485            in 2-d lattice N
    23892486           
    23902487        It is OK to intersect cones living in sublattices of the same ambient
    23912488        lattice::
     
    23952492            sage: cone3 = Cone([(1,1)], lattice=Ns)
    23962493            sage: I = cone1.intersection(cone3)
    23972494            sage: I.rays()
    2398             (N(1, 1),)
     2495            [1]
     2496            [1]
     2497            in Sublattice <N(1, 1)>
    23992498            sage: I.lattice()
    24002499            Sublattice <N(1, 1)>
    24012500       
     
    24082507            ValueError: 2-d lattice N and 2-d lattice M
    24092508            have different ambient lattices!
    24102509            sage: cone1.intersection(Cone(cone1.dual().rays(), N)).rays()
    2411             (N(3, 1), N(0, 1))
     2510            [3 0]
     2511            [1 1]
     2512            in 2-d lattice N
    24122513        """
    24132514        if self._ambient is other._ambient:
    24142515            # Cones of the same ambient cone or fan intersect nicely/quickly.
     
    24542555            sage: cone1 = Cone([(1,0), (-1, 3)])
    24552556            sage: cone2 = Cone([(-1,3), (1, 0)])
    24562557            sage: cone1.rays()
    2457             (N(1, 0), N(-1, 3))
     2558            [ 1 -1]
     2559            [ 0  3]
     2560            in 2-d lattice N
    24582561            sage: cone2.rays()
    2459             (N(-1, 3), N(1, 0))
     2562            [-1  1]
     2563            [ 3  0]
     2564            in 2-d lattice N
    24602565            sage: cone1 == cone2
    24612566            False
    24622567            sage: cone1.is_equivalent(cone2)
     
    27822887
    27832888            sage: halfplane = Cone([(1,0), (0,1), (-1,0)])
    27842889            sage: halfplane.lines()
    2785             (N(1, 0),)
     2890            [1]
     2891            [0]
     2892            in 2-d lattice N
    27862893            sage: fullplane = Cone([(1,0), (0,1), (-1,-1)])
    27872894            sage: fullplane.lines()
    2788             (N(0, 1), N(1, 0))
     2895            [0 1]
     2896            [1 0]
     2897            in 2-d lattice N
    27892898        """
    27902899        lines = []
    27912900        for g in self._PPL_cone().minimized_generators():
     
    28983007            sage: ssc
    28993008            1-d cone in 1-d lattice N
    29003009            sage: ssc.rays()
    2901             (N(1),)
     3010            [1]
     3011            in 1-d lattice N
    29023012            sage: line = Cone([(1,0), (-1,0)])
    29033013            sage: ssc = line.strict_quotient()
    29043014            sage: ssc
    29053015            0-d cone in 1-d lattice N
    29063016            sage: ssc.rays()
    2907             ()
     3017            []
     3018            in 1-d lattice N
    29083019        """
    29093020        if "_strict_quotient" not in self.__dict__:
    29103021            if self.is_strictly_convex():
     
    30543165            sage: c
    30553166            2-d cone in 3-d lattice N
    30563167            sage: c.rays()
    3057             (N(1, 2, 3), N(4, -5, 1))
     3168            [ 1  4]
     3169            [ 2 -5]
     3170            [ 3  1]
     3171            in 3-d lattice N
    30583172            sage: c.sublattice()
    30593173            Sublattice <N(1, 2, 3), N(0, 13, 11)>
    30603174            sage: c.sublattice(5, -3, 4)
     
    36623776       
    36633777            sage: cone = Cone([(1,0),(0,1)])
    36643778            sage: cone.rays()
    3665             (N(1, 0), N(0, 1))
     3779            [1 0]
     3780            [0 1]
     3781            in 2-d lattice N
    36663782            sage: cone.Hilbert_coefficients([3,2])
    36673783            (3, 2)
    36683784
  • sage/geometry/fan.py

    diff --git a/sage/geometry/fan.py b/sage/geometry/fan.py
    a b  
    4747Given such "automatic" fans, you may wonder what are their rays and cones::
    4848
    4949    sage: fan1.rays()
    50     (N(1, 0, 0), N(0, 1, 0), N(0, 0, 1),
    51      N(-1, 0, 0), N(0, -1, 0), N(0, 0, -1))
     50    [ 1  0  0 -1  0  0]
     51    [ 0  1  0  0 -1  0]
     52    [ 0  0  1  0  0 -1]
     53    in 3-d lattice N
    5254    sage: fan1.ray_matrix()
    5355    [ 1  0  0 -1  0  0]
    5456    [ 0  1  0  0 -1  0]
     
    6668The last output is not very illuminating. Let's try to improve it::
    6769
    6870    sage: for cone in fan1: print cone.rays()
    69     (N(1, 0, 0), N(0, 1, 0), N(0, 0, -1))
    70     (N(0, 1, 0), N(-1, 0, 0), N(0, 0, -1))
    71     (N(1, 0, 0), N(0, -1, 0), N(0, 0, -1))
    72     (N(-1, 0, 0), N(0, -1, 0), N(0, 0, -1))
    73     (N(1, 0, 0), N(0, 1, 0), N(0, 0, 1))
    74     (N(0, 1, 0), N(0, 0, 1), N(-1, 0, 0))
    75     (N(1, 0, 0), N(0, 0, 1), N(0, -1, 0))
    76     (N(0, 0, 1), N(-1, 0, 0), N(0, -1, 0))
     71    [ 1  0  0]
     72    [ 0  1  0]
     73    [ 0  0 -1]
     74    in 3-d lattice N
     75    [ 0 -1  0]
     76    [ 1  0  0]
     77    [ 0  0 -1]
     78    in 3-d lattice N
     79    [ 1  0  0]
     80    [ 0 -1  0]
     81    [ 0  0 -1]
     82    in 3-d lattice N
     83    [-1  0  0]
     84    [ 0 -1  0]
     85    [ 0  0 -1]
     86    in 3-d lattice N
     87    [1 0 0]
     88    [0 1 0]
     89    [0 0 1]
     90    in 3-d lattice N
     91    [ 0  0 -1]
     92    [ 1  0  0]
     93    [ 0  1  0]
     94    in 3-d lattice N
     95    [ 1  0  0]
     96    [ 0  0 -1]
     97    [ 0  1  0]
     98    in 3-d lattice N
     99    [ 0 -1  0]
     100    [ 0  0 -1]
     101    [ 1  0  0]
     102    in 3-d lattice N
    77103
    78104You can also do ::
    79105
     
    138164
    139165    sage: cone = cone.element
    140166    sage: cone.rays()
    141     (N(1, 0, 0), N(0, 1, 0))
     167    [1 0]
     168    [0 1]
     169    [0 0]
     170    in 3-d lattice N
    142171
    143172You can check how "good" a fan is::
    144173
     
    574603        [ 1  0 -1  0]
    575604        [ 0  1  0 -1]
    576605        sage: for cone in P1xP1: print cone.rays()
    577         (N(1, 0), N(0, -1))
    578         (N(-1, 0), N(0, -1))
    579         (N(1, 0), N(0, 1))
    580         (N(0, 1), N(-1, 0))
     606        [ 1  0]
     607        [ 0 -1]
     608        in 2-d lattice N
     609        [-1  0]
     610        [ 0 -1]
     611        in 2-d lattice N
     612        [1 0]
     613        [0 1]
     614        in 2-d lattice N
     615        [ 0 -1]
     616        [ 1  0]
     617        in 2-d lattice N
    581618    """
    582619    if any(d <= 0 for d in polytope.distances([0]*polytope.dim())):
    583620        raise ValueError("face fans are defined only for polytopes containing"
     
    620657        [ 1  0 -1  0]
    621658        [ 0  1  0 -1]
    622659        sage: for cone in P1xP1: print cone.rays()
    623         (N(1, 0), N(0, -1))
    624         (N(-1, 0), N(0, -1))
    625         (N(1, 0), N(0, 1))
    626         (N(0, 1), N(-1, 0))
     660        [ 1  0]
     661        [ 0 -1]
     662        in 2-d lattice N
     663        [-1  0]
     664        [ 0 -1]
     665        in 2-d lattice N
     666        [1 0]
     667        [0 1]
     668        in 2-d lattice N
     669        [ 0 -1]
     670        [ 1  0]
     671        in 2-d lattice N
    627672    """
    628673    rays = (polytope.facet_normal(i) for i in range(polytope.nfacets()))
    629674    cones = (vertex.facets() for vertex in polytope.faces(dim=0))
     
    834879            sage: f = sage.geometry.fan.RationalPolyhedralFan(
    835880            ...                         [(0,)], [v], None)
    836881            sage: f.rays()
    837             ((0, 1),)
     882            [0]
     883            [1]
     884            in Ambient free module of rank 2
     885            over the principal ideal domain Integer Ring
    838886            sage: TestSuite(f).run()
    839887            sage: f = Fan([(0,)], [(0,1)])
    840888            sage: TestSuite(f).run()
     
    9801028            ...           rays=[(1,0), (0,1), (-1, 0)],
    9811029            ...           check=False)
    9821030            sage: for cone in f: print cone.rays()
    983             (N(1, 0), N(0, 1))
    984             (N(0, 1), N(-1, 0))
     1031            [1 0]
     1032            [0 1]
     1033            in 2-d lattice N
     1034            [ 0 -1]
     1035            [ 1  0]
     1036            in 2-d lattice N
    9851037         """
    9861038        return iter(self.generating_cones())
    9871039
     
    15041556            sage: cone2 = Cone([(1,0), (0,1)])
    15051557            sage: f = Fan([cone1, cone2])
    15061558            sage: f.rays()
    1507             (N(0, 1), N(0, -1), N(1, 0))
     1559            [ 0  0  1]
     1560            [ 1 -1  0]
     1561            in 2-d lattice N
    15081562            sage: f.cone_containing(0)  # ray index
    15091563            1-d cone of Rational polyhedral fan in 2-d lattice N
    15101564            sage: f.cone_containing(0, 1) # ray indices
     
    15391593            sage: fan = Fan(cones=[(0,1,2,3), (0,1,4)],
    15401594            ...       rays=[(1,1,1), (1,-1,1), (1,-1,-1), (1,1,-1), (0,0,1)])
    15411595            sage: fan.cone_containing(0).rays()
    1542             (N(1, 1, 1),)
     1596            [1]
     1597            [1]
     1598            [1]
     1599            in 3-d lattice N
    15431600        """
    15441601        if not points:
    15451602            return self.cones(dim=0)[0]
     
    19201977            sage: e_ray
    19211978            1-d cone of Rational polyhedral fan in 3-d lattice N
    19221979            sage: e_ray.rays()
    1923             (N(0, -1, 1),)
     1980            [ 0]
     1981            [-1]
     1982            [ 1]
     1983            in 3-d lattice N
    19241984            sage: e_ray is ray
    19251985            False
    19261986            sage: e_ray.is_equivalent(ray)
     
    22572317            sage: fan.is_smooth(codim=1)
    22582318            True
    22592319            sage: fan.generating_cone(0).rays()
    2260             (N(-1, 1), N(-1, -1))
     2320            [-1 -1]
     2321            [ 1 -1]
     2322            in 2-d lattice N
    22612323            sage: fan.generating_cone(0).ray_matrix().det()
    22622324            2
    22632325        """
  • sage/geometry/triangulation/element.py

    diff --git a/sage/geometry/triangulation/element.py b/sage/geometry/triangulation/element.py
    a b  
    559559            sage: fan
    560560            Rational polyhedral fan in 3-d lattice N
    561561            sage: fan.rays()
    562             (N(1, 1, 0), N(1, 3, 1), N(1, 2, 3), N(1, 0, 2),
    563              N(1, 1, 1), N(1, 1, 2), N(1, 2, 1), N(1, 2, 2))
     562            [1 1 1 1 1 1 1 1]
     563            [1 3 2 0 1 1 2 2]
     564            [0 1 3 2 1 2 1 2]
     565            in 3-d lattice N
    564566        """
    565567        from sage.geometry.fan import Fan
    566568        if origin is None:
     
    727729            sage: N = triangulation.normal_cone();  N
    728730            4-d cone in 4-d lattice
    729731            sage: N.rays()
    730             ((-1, 0, 0, 0), (1, 0, 1, 0), (-1, 0, -1, 0), (1, 0, 0, -1),
    731              (-1, 0, 0, 1), (1, 1, 0, 0), (-1, -1, 0, 0))
     732            [-1  1 -1  1 -1  1 -1]
     733            [ 0  0  0  0  0  1 -1]
     734            [ 0  1 -1  0  0  0  0]
     735            [ 0  0  0 -1  1  0  0]
     736            in Ambient free module of rank 4
     737            over the principal ideal domain Integer Ring
    732738            sage: N.dual().rays()
    733             ((-1, 1, 1, -1),)
     739            [-1]
     740            [ 1]
     741            [ 1]
     742            [-1]
     743            in Ambient free module of rank 4
     744            over the principal ideal domain Integer Ring
    734745
    735746        TESTS::
    736747       
  • sage/schemes/generic/fano_toric_variety.py

    diff --git a/sage/schemes/generic/fano_toric_variety.py b/sage/schemes/generic/fano_toric_variety.py
    a b  
    11821182            sage: P1xP2 = P1.cartesian_product(P2); P1xP2
    11831183            3-d CPR-Fano toric variety covered by 6 affine patches
    11841184            sage: P1xP2.fan().rays()
    1185             (N+N(1, 0, 0), N+N(-1, 0, 0),
    1186              N+N(0, 1, 0), N+N(0, 0, 1), N+N(0, -1, -1))
     1185            [ 1 -1  0  0  0]
     1186            [ 0  0  1  0 -1]
     1187            [ 0  0  0  1 -1]
     1188            in 3-d lattice N+N
    11871189            sage: P1xP2.Delta_polar()
    11881190            A lattice polytope: 3-dimensional, 5 vertices.
    11891191        """
  • sage/schemes/generic/toric_divisor.py

    diff --git a/sage/schemes/generic/toric_divisor.py b/sage/schemes/generic/toric_divisor.py
    a b  
    105105    sage: Kc = dP6.Kaehler_cone(); Kc
    106106    4-d cone in 4-d lattice
    107107    sage: Kc.rays()
    108     (Divisor class [0, 1, 1, 0],
    109      Divisor class [0, 0, 1, 1],
    110      Divisor class [1, 1, 0, 0],
    111      Divisor class [1, 1, 1, 0],
    112      Divisor class [0, 1, 1, 1])
     108    [0 0 1 1 0]
     109    [1 0 1 1 1]
     110    [1 1 0 1 1]
     111    [0 1 0 0 1]
     112    in The toric rational divisor class group
     113    of a 2-d CPR-Fano toric variety covered by 6 affine patches
    113114    sage: Kc.ray(1).lift()
    114115    V(y) + V(v)
    115116
     
    11801181            sage: X.rational_class_group().dimension()
    11811182            4
    11821183            sage: X.Kaehler_cone().rays()
    1183             (Divisor class [1, 0, 0, 0],)
     1184            [1]
     1185            [0]
     1186            [0]
     1187            [0]
     1188            in The toric rational divisor class group
     1189            of a 3-d toric variety covered by 7 affine patches
    11841190            sage: antiK = -X.K()
    11851191            sage: antiK.divisor_class()
    11861192            Divisor class [2, 0, 0, 0]
  • sage/schemes/generic/toric_morphism.py

    diff --git a/sage/schemes/generic/toric_morphism.py b/sage/schemes/generic/toric_morphism.py
    a b  
    123123           
    124124    sage: A2_Z2 = toric_varieties.A2_Z2()
    125125    sage: A2_Z2.fan().rays()
    126     (N(1, 0), N(1, 2))
     126    [1 1]
     127    [0 2]
     128    in 2-d lattice N
    127129    sage: O2_P1 = A2_Z2.resolve(new_rays=[(1,1)])
    128130    sage: blowup = O2_P1.hom(identity_matrix(2), A2_Z2)
    129131    sage: blowup.as_polynomial_map()
  • sage/schemes/generic/toric_variety.py

    diff --git a/sage/schemes/generic/toric_variety.py b/sage/schemes/generic/toric_variety.py
    a b  
    14291429            sage: Kc
    14301430            2-d cone in 2-d lattice
    14311431            sage: Kc.rays()
    1432             (Divisor class [0, 1], Divisor class [1, 0])
     1432            [0 1]
     1433            [1 0]
     1434            in The toric rational divisor class group
     1435            of a 2-d toric variety covered by 4 affine patches
    14331436            sage: [ divisor_class.lift() for divisor_class in Kc.rays() ]
    14341437            [V(z1), V(z0)]
    14351438            sage: Kc.lattice()
     
    14831486            sage: P4_11169.Mori_cone()
    14841487            2-d cone in 7-d lattice
    14851488            sage: P4_11169.Mori_cone().rays()
    1486             ((0, 0, 1, 1, 1, -3, 0), (3, 2, 0, 0, 0, 1, -6))
     1489            [ 0  3]
     1490            [ 0  2]
     1491            [ 1  0]
     1492            [ 1  0]
     1493            [ 1  0]
     1494            [-3  1]
     1495            [ 0 -6]
     1496            in Ambient free module of rank 7
     1497            over the principal ideal domain Integer Ring
    14871498        """
    14881499        if "_Mori_cone" not in self.__dict__:
    14891500            # Ideally, self.Kaehler_cone().dual() should be it, but
     
    16151626            sage: P1xP1 = P1.cartesian_product(P1); P1xP1
    16161627            2-d toric variety covered by 4 affine patches
    16171628            sage: P1xP1.fan().rays()
    1618             (N+N(-1, 0), N+N(1, 0), N+N(0, -1), N+N(0, 1))
     1629            [-1  1  0  0]
     1630            [ 0  0 -1  1]
     1631            in 2-d lattice N+N
    16191632        """
    16201633        return ToricVariety(self.fan().cartesian_product(other.fan()),
    16211634                            coordinate_names, coordinate_indices,