Opened 3 months ago

Last modified 7 days ago

#30400 needs_review enhancement

Add finite topological spaces

Reported by: gh-jcuevas-rozo Owned by: gh-jcuevas-rozo
Priority: major Milestone: sage-9.3
Component: algebraic topology Keywords: Finite topological spaces
Cc: jhpalmieri Merged in:
Authors: Julián Cuevas-Rozo Reviewers:
Report Upstream: N/A Work issues:
Branch: u/gh-jcuevas-rozo/add_finite_topological_spaces (Commits) Commit: 8a123d6cbc464d6cffc8a7202e003dbb640c22f5
Dependencies: Stopgaps:

Description (last modified by gh-jcuevas-rozo)

This ticket provides a class for finite topological spaces and methods dealing with properties in general topology. It is expected to create a second ticket to add algebraic topology properties (see ticket #30447).

Principal reference: Algebraic topology of finite topological spaces and applications by Jonathan Barmak.

Change History (30)

comment:1 Changed 3 months ago by gh-jcuevas-rozo

  • Branch set to u/gh-jcuevas-rozo/add_finite_topological_spaces

comment:2 Changed 3 months ago by gh-jcuevas-rozo

  • Commit set to f1045dbe82ab5effd639d8489536bff267d5fbf4

I have added the file finite_topological_spaces.py in ~/sage/src/sage/homology. I think this is a correct place to put it because different methods dealing with homotopy types and weak homotopy types will be added in next commits, but the discussion is open and I accept other suggestions in order to put it in the correct place.


New commits:

f1045dbFiniteTopologicalSpace class and methods in general topology added

comment:3 Changed 3 months ago by gh-jcuevas-rozo

  • Owner changed from (none) to gh-jcuevas-rozo

comment:4 Changed 3 months ago by git

  • Commit changed from f1045dbe82ab5effd639d8489536bff267d5fbf4 to 1cbdd3f968554b5f3bd7049b728c2cfa3950ca83

Branch pushed to git repo; I updated commit sha1. New commits:

1cbdd3fDocumentation added

comment:5 Changed 3 months ago by gh-jcuevas-rozo

  • Description modified (diff)
  • Status changed from new to needs_review

comment:6 Changed 3 months ago by gh-jcuevas-rozo

I have changed the status to needs_review. I have created a ticket #30447 where I will continue to working about the changes made in this ticket #30400, but... how can I import such changes to the new ticket? (how to link #30447 to #30400?)

comment:7 Changed 3 months ago by jhpalmieri

Add #30400 in the dependency field on #30447. (I've done that.)

comment:8 Changed 3 months ago by gh-jcuevas-rozo

Thank you so much, I've learned it for next tickets.

comment:9 Changed 3 months ago by git

  • Commit changed from 1cbdd3f968554b5f3bd7049b728c2cfa3950ca83 to e51800dfe3c0a5e36ea32c0073b3e40a61e5ba5c

Branch pushed to git repo; I updated commit sha1. New commits:

e51800dFailures in tests repaired

comment:10 follow-up: Changed 3 months ago by jhpalmieri

I'm getting some doctest failures. Also, it would be nice to add this to the reference manual. Here are changes to fix some of these:

  • src/doc/en/reference/homology/index.rst

    diff --git a/src/doc/en/reference/homology/index.rst b/src/doc/en/reference/homology/index.rst
    index bf98e0841f..148dc4bae0 100644
    a b cell complexes. 
    3535   sage/homology/algebraic_topological_model
    3636   sage/homology/homology_morphism
    3737   sage/homology/matrix_utils
     38   sage/homology/finite_topological_spaces
    3839   sage/interfaces/chomp
    3940
    4041.. include:: ../footer.txt
  • src/sage/homology/finite_topological_spaces.py

    diff --git a/src/sage/homology/finite_topological_spaces.py b/src/sage/homology/finite_topological_spaces.py
    index 3a43eabed4..430e2a84ad 100644
    a b from sage.combinat.posets.hasse_diagram import HasseDiagram 
    7272def dict_to_matrix(ordered_eltos, dictionary):
    7373    r"""
    7474    Return a matrix from the information given by ``dictionary``.   
     75
    7576    INPUT:
    7677
    7778    - ``ordered_eltos`` -- a list.
    def dict_to_matrix(ordered_eltos, dictionary): 
    7980    - ``dictionary`` -- a dict whose key list is ``ordered_eltos`` and its values
    8081      are sets of elements in ``ordered_eltos``.
    8182
    82     OUTPUT::
     83    OUTPUT:
    8384
    8485    - A binary matrix whose `(i,j)` entry is equal to 1 if and only if ``ordered_eltos[i]``
    8586      is in ``dictionary[ordered_eltos[j]]``.
    def FiniteSpace(data, elements=None, is_T0=False): 
    124125    - ``elements`` -- it is ignored when data is of type 1, 2 or 4. When ``data``
    125126      is a topogenous matrix, this parameter gives the underlying set of the space.
    126127
    127     EXAMPLES::
     128    EXAMPLES:
    128129
    129130    A dictionary as ``data``::
    130131
    def FiniteSpace(data, elements=None, is_T0=False): 
    135136        sage: type(T)
    136137        <class 'sage.homology.finite_topological_spaces.FiniteTopologicalSpace'>
    137138        sage: FiniteSpace({'a': {'a', 'b'}})
    138         Traceback (most recent call last)
     139        Traceback (most recent call last):
    139140        ...
    140141        ValueError: The data does not correspond to a valid dictionary
    141142        sage: FiniteSpace({'a': {'a', 'b'}, 'b': {'a', 'b'}, 'c': {'a', 'c'}})
    142         Traceback (most recent call last)
     143        Traceback (most recent call last):
    143144        ...
    144145        ValueError: The introduced data does not define a topology
    145146
    146147    When ``data`` is a tuple or a list, the elements are in ``range(n)`` where
    147     ``n`` is the lenght of ``data``::
     148    ``n`` is the length of ``data``::
    148149
    149150        sage: from sage.homology.finite_topological_spaces import FiniteSpace
    150151        sage: T = FiniteSpace([{0, 3}, {1, 3}, {2, 3}, {3}]) ; T
    def FiniteSpace(data, elements=None, is_T0=False): 
    155156        sage: T.elements()
    156157        [3, 0, 1, 2]
    157158        sage: FiniteSpace(({0, 2}, {0, 2}))
    158         Traceback (most recent call last)
     159        Traceback (most recent call last):
    159160        ...
    160161        ValueError: This kind of data assume the elements are in range(2)
    161162
    def FiniteSpace(data, elements=None, is_T0=False): 
    182183        sage: M.elements()
    183184        [5, 'e', 'h', 0, 'c']
    184185        sage: FiniteSpace(mat, elements=[5, 'e', 'h', 0, 0])
    185         Traceback (most recent call last)
     186        Traceback (most recent call last):
    186187        ...
    187188        AssertionError: Not valid list of elements
    188189
    class FiniteTopologicalSpace(Parent): 
    386387            sage: from sage.homology.finite_topological_spaces import FiniteSpace
    387388            sage: T = FiniteSpace(({0}, {1}, {2, 3}, {3}))
    388389            sage: T.underlying_set()
     390            {0, 1, 2, 3}
    389391           
    390392        """
    391393        return set(self._elements)
    class FiniteTopologicalSpace(Parent): 
    474476            sage: T.Ux(4)
    475477            {3, 4}
    476478            sage: T.Ux(5)
    477             Traceback (most recent call last)
     479            Traceback (most recent call last):
    478480            ...
    479481            ValueError: The point 5 is not an element of the space
    480482        """
    class FiniteTopologicalSpace(Parent): 
    787789            True
    788790            sage: T.boundary(T.boundary(Fr)) == T.boundary(Fr)
    789791            True
    790             sage: X == Fr.union(T.interior(E), T.exterior(E))|||
     792            sage: X == Fr.union(T.interior(E), T.exterior(E))
    791793            True
    792794        """
    793795        X = self.underlying_set()

I get sporadic doctest failures:

sage -t --warn-long 80.8 --random-seed=0 src/sage/homology/finite_topological_spaces.py
**********************************************************************
File "src/sage/homology/finite_topological_spaces.py", line 133, in sage.homology.finite_topological_spaces.FiniteSpace
Failed example:
    T = FiniteSpace({'a': {'a', 'c'}, 'b': {'b'}, 'c':{'a', 'c'}}) ; T
Expected:
    Finite topological space of 3 points with minimal basis
     {'a': {'c', 'a'}, 'b': {'b'}, 'c': {'c', 'a'}}
Got:
    Finite topological space of 3 points with minimal basis 
     {'a': {'a', 'c'}, 'b': {'b'}, 'c': {'a', 'c'}}
**********************************************************************
File "src/sage/homology/finite_topological_spaces.py", line 180, in sage.homology.finite_topological_spaces.FiniteSpace
Failed example:
    M = FiniteSpace(mat, elements=(5, 'e', 'h', 0, 'c')) ; M
Expected:
    Finite topological space of 5 points with minimal basis
     {5: {5}, 'e': {'h', 'e'}, 'h': {'h', 'e'}, 0: {0, 'c', 5}, 'c': {0, 'c', 5}}
Got:
    Finite topological space of 5 points with minimal basis 
     {5: {5}, 'e': {'e', 'h'}, 'h': {'e', 'h'}, 0: {0, 'c', 5}, 'c': {0, 'c', 5}}
**********************************************************************
File "src/sage/homology/finite_topological_spaces.py", line 319, in sage.homology.finite_topological_spaces.FiniteTopologicalSpace.__init__
Failed example:
    T = FiniteTopologicalSpace(elements, minimal_basis, matrix(mat_dict)) ; T
Expected:
    Finite topological space of 4 points with minimal basis
     {'a': {3, 'a'}, 3: {3, 'a'}, 2: {1, 2}, 1: {1}}
Got:
    Finite topological space of 4 points with minimal basis 
     {'a': {'a', 3}, 3: {'a', 3}, 2: {1, 2}, 1: {1}}
**********************************************************************
2 items had failures:
   2 of  24 in sage.homology.finite_topological_spaces.FiniteSpace
   1 of   7 in sage.homology.finite_topological_spaces.FiniteTopologicalSpace.__init__
    [231 tests, 3 failures, 0.13 s]
----------------------------------------------------------------------
sage -t --warn-long 80.8 --random-seed=0 src/sage/homology/finite_topological_spaces.py  # 3 doctests failed
----------------------------------------------------------------------

The issue is that these sets may print in different orders, and I think it's more or less random.

By the way, it's better to say if E is None instead of if E == None.


New commits:

e51800dFailures in tests repaired

comment:11 Changed 3 months ago by git

  • Commit changed from e51800dfe3c0a5e36ea32c0073b3e40a61e5ba5c to 7b777873dae08b042218aad1299c49479926823c

Branch pushed to git repo; I updated commit sha1. New commits:

7b77787Failure tests repaired

comment:12 Changed 3 months ago by git

  • Commit changed from 7b777873dae08b042218aad1299c49479926823c to 124dc44a4ae468033867502116ab71b4ab0b5e8b

Branch pushed to git repo; I updated commit sha1. New commits:

124dc44Repairing failures shown in comment 10 from jhpalmieri

comment:13 in reply to: ↑ 10 Changed 3 months ago by gh-jcuevas-rozo

Replying to jhpalmieri:

I'm getting some doctest failures. Also, it would be nice to add this to the reference manual. Here are changes to fix some of these:

Thanks for the suggestions, I have changed the files in order to include the improvements.

The issue is that these sets may print in different orders, and I think it's more or less random.

I see... I think it depends on the implementation of sets in SageMath, do I have to impose an specific order for printing or it is not necessary?

comment:14 Changed 3 months ago by jhpalmieri

Doctests have to pass, so something has to change. Here are suggestions, but if you can think of meaningful doctests that don't rely on the ordering (one example is the test T._minimal_basis['a'] == ... below), it's better than just marking everything # random.

  • src/sage/homology/finite_topological_spaces.py

    diff --git a/src/sage/homology/finite_topological_spaces.py b/src/sage/homology/finite_topological_spaces.py
    index 5c40fe26ce..548322f174 100644
    a b def FiniteSpace(data, elements=None, is_T0=False): 
    127127    A dictionary as ``data``::
    128128
    129129        sage: from sage.homology.finite_topological_spaces import FiniteSpace
    130         sage: T = FiniteSpace({'a': {'a', 'c'}, 'b': {'b'}, 'c':{'a', 'c'}}) ; T
     130        sage: T = FiniteSpace({'a': {'a', 'c'}, 'b': {'b'}, 'c':{'a', 'c'}})
     131        sage: T # random
    131132        Finite topological space of 3 points with minimal basis
    132133         {'a': {'c', 'a'}, 'b': {'b'}, 'c': {'c', 'a'}}
     134        sage: T._minimal_basis # random
     135         {'a': {'c', 'a'}, 'b': {'b'}, 'c': {'c', 'a'}}
     136        sage: T._minimal_basis['a'] == set(['a', 'c'])
     137        True
    133138        sage: type(T)
    134139        <class 'sage.homology.finite_topological_spaces.FiniteTopologicalSpace'>
    135140        sage: FiniteSpace({'a': {'a', 'b'}})
    def FiniteSpace(data, elements=None, is_T0=False): 
    174179         {0: {0}, 1: {1, 2}, 2: {1, 2}, 3: {0, 3, 4}, 4: {0, 3, 4}}
    175180        sage: T.elements()
    176181        [0, 1, 2, 3, 4]
    177         sage: M = FiniteSpace(mat, elements=(5, 'e', 'h', 0, 'c')) ; M
     182        sage: M = FiniteSpace(mat, elements=(5, 'e', 'h', 0, 'c'))
     183        sage: M # random
    178184        Finite topological space of 5 points with minimal basis
    179185         {5: {5}, 'e': {'h', 'e'}, 'h': {'h', 'e'}, 0: {0, 'c', 5}, 'c': {0, 'c', 5}}
    180186        sage: M.elements()
    class FiniteTopologicalSpace(Parent): 
    313319            sage: minimal_basis = {'a': {3, 'a'}, 3: {3, 'a'}, 2: {2, 1}, 1: {1}}
    314320            sage: mat_dict = {(0, 0): 1, (0, 1): 1, (1, 1): 1, (2, 2): 1, \
    315321            ....:             (2, 3): 1, (3, 2): 1, (3, 3): 1}
    316             sage: T = FiniteTopologicalSpace(elements, minimal_basis, matrix(mat_dict)) ; T
     322            sage: T = FiniteTopologicalSpace(elements, minimal_basis, matrix(mat_dict))
     323            sage: T # random
    317324            Finite topological space of 4 points with minimal basis
    318325             {'a': {3, 'a'}, 3: {3, 'a'}, 2: {1, 2}, 1: {1}}
    319326            sage: T.topogenous_matrix() == matrix(mat_dict)
    class FiniteTopologicalSpace(Parent): 
    325332        self._minimal_basis = minimal_basis
    326333        self._topogenous = topogenous
    327334
    328     def __repr__(self):
     335    def _repr_(self):
    329336        r"""
    330337        Print representation.
    331338
    class FiniteTopologicalSpace_T0(FiniteTopologicalSpace): 
    10121019        self._poset = poset
    10131020        self._T0 = True
    10141021
    1015     def __repr__(self):
     1022    def _repr_(self):
    10161023        r"""
    10171024        Print representation.
    10181025

By the way, for classes which inherit from SageObject, like Parent, it is better to define _repr_ rather than __repr__. See https://doc.sagemath.org/html/en/developer/coding_in_python.html#print-representation.

comment:15 Changed 3 months ago by jhpalmieri

More suggestions:

  • src/doc/en/reference/references/index.rst

    diff --git a/src/doc/en/reference/references/index.rst b/src/doc/en/reference/references/index.rst
    index c58f1acbb9..96157140c4 100644
    a b REFERENCES: 
    181181             of the Slovak Academy of Sciences. Mathematica Slovaca vol 30, n 4,
    182182             pages 405--417, 1980
    183183
     184.. [Ale1937] \P. Alexandroff, *Diskrete Raume*, Mat. Sb. (N.S.) 2, 501--518 (1937).
     185
    184186.. [Al1947] \A. A. Albert, *A Structure Theory for Jordan
    185187            Algebras*. Annals of Mathematics, Second Series, Vol. 48,
    186188            No. 3 (Jul., 1947), pp. 546--567.
    REFERENCES: 
    373375             Four Russians'. Cryptography E-Print Archive
    374376             (http://eprint.iacr.org/2006/251.pdf), 2006.
    375377
     378.. [Bar2011] \J. A. Barmak,
     379             *Algebraic topology of finite topological spaces and applications*.
     380             Lecture Notes in Mathematics Vol. 2032 (2011).
     381
    376382.. [Bat1991] \V. V. Batyrev, *On the classification of smooth projective
    377383             toric varieties*, Tohoku Math. J. **43** (1991), 569-585
    378384
    REFERENCES: 
    48804886              *Generation of random chordal graphs using subtrees of a tree*,
    48814887              :arxiv:`1810.13326v1`.
    48824888
     4889.. [Shi1968] \M. Shiraki, *On finite topological spaces*,
     4890             Rep. Fac. Sci. Kagoshima Univ.  1, 1--8 (1968).
     4891
    48834892.. [Shi2002] \M. Shimozono
    48844893             *Affine type A crystal structure on tensor products of rectangles,
    48854894             Demazure characters, and nilpotent varieties*,
  • src/sage/homology/finite_topological_spaces.py

    diff --git a/src/sage/homology/finite_topological_spaces.py b/src/sage/homology/finite_topological_spaces.py
    index 5c40fe26ce..c01c344ca2 100644
    a b A *finite topological space* is a topological space with finitely many points an 
    77a *finite preordered set* is a finite set with a transitive and reflexive relation.
    88Finite spaces and finite preordered sets are basically the same objects considered
    99from different perspectives. Given a finite topological space `X`, for every point
    10 `x\in X` the *minimal open set* `U_x` as the intersection of all the open sets
     10`x\in X`, define the *minimal open set* `U_x` as the intersection of all the open sets
    1111which contain `x` (it is an open set since arbitrary intersections of open sets
    1212in finite spaces are open). The minimal open sets constitute a basis for the topology
    1313of `X`. Indeed, any open set `U` of `X` is the union of the sets `U_x` with `x\in U`.
    14 This basis is called the *minimal basis of `X`*. A preorder on `X` by `x\leqslant y`
     14This basis is called the *minimal basis of* `X`. A preorder on `X` is given by `x\leqslant y`
    1515if `x\in U_y`.
    1616
    1717If `X` is now a finite preordered set, one can define a topology on `X` given by
    then `y` is contained in every basic set containing `x`, and therefore `y\in U_x 
    2020Conversely, if `y\in U_x`, then `y\in\lbrace z\in X\vert z\leqslant x\rbrace`.
    2121Therefore `y\leqslant x` if and only if `y\in U_x`. This shows that these two
    2222applications, relating topologies and preorders on a finite set, are mutually
    23 inverse. This simple remark, made in first place by Alexandroff [1], allows us to study
     23inverse. This simple remark, made in first place by Alexandroff [Ale1937]_, allows us to study
    2424finite spaces by combining Algebraic Topology with the combinatorics arising from
    2525their intrinsic preorder structures. The antisymmetry of a finite preorder
    2626corresponds exactly to the `T_0` separation axiom. Recall that a topological space
    27 `X` is said to be *`T_0`* if for any pair of points in `X` there exists an open
     27`X` is said to be `T_0` if for any pair of points in `X` there exists an open
    2828set containing one and only one of them. Therefore finite `T_0`-spaces are in
    29 correspondence with finite partially ordered sets (posets) [2].
     29correspondence with finite partially ordered sets (posets) [Bar2011]_.
    3030
    3131Now, if `X = \lbrace x_1, x_2, \ldots , x_n\rbrace` is a finite space and for
    3232each `i` the unique minimal open set containing `x_i` is denoted by `U_i`, a
    33 *topogenous matrix* of the space is a `n \times n` matrix `A = \left[a_{ij}\right]`
     33*topogenous matrix* of the space is the `n \times n` matrix `A = \left[a_{ij}\right]`
    3434defined by `a_{ij} = 1` if `x_i \in U_j` and `a_{ij} = 0` otherwise (this is the
    35 transposed matrix of the Definition 1 in [3]). A finite space `X` is `T_0` if and
     35transposed matrix of the Definition 1 in [Shi1968]_). A finite space `X` is `T_0` if and
    3636only if the topogenous matrix `A` defined above is similar (via a permutation matrix)
    37 to a certain upper triangular matrix [3]. This is the reason one can assume that
     37to a certain upper triangular matrix [Shi1968]_. This is the reason one can assume that
    3838the topogenous matrix of a finite `T_0`-space is upper triangular.
    3939
    4040
    AUTHOR:: 
    4444
    4545REFERENCES:
    4646
    47 - [1] Alexandroff P., *Diskrete Raume*, Mat. Sb. (N.S.) 2, 501--518 (1937).
    48 - [2] Barmak, J.A., *Algebraic topology of finite topological spaces and applications*.
    49       Lecture Notes in Mathematics Vol. 2032 (2011).
    50 - [3] Shiraki M., *On finite topological spaces*, Rep. Fac. Sci. Kagoshima Univ.
    51       1, 1--8 (1968).
     47- [Ale1937]_
     48- [Bar2011]_
     49- [Shi1968]_
    5250
    5351"""
    5452# ****************************************************************************
    class FiniteTopologicalSpace(Parent): 
    559564            ...
    560565            ValueError: Parameter 'points' is not a valid set of representatives
    561566        """
    562         if self._T0==True:
     567        if self._T0 is True:
    563568            return self
    564569        else:
    565570            if points is None:
    566571                points = [list(A)[0] for A in self._T0]
    567             elif check==True:
     572            elif check:
    568573                assert isinstance(points, (tuple, list, set)), \
    569574                       "Parameter 'points' must be of type tuple, list or set"
    570575                assert len(points)==len(self._T0), \

comment:16 Changed 3 months ago by git

  • Commit changed from 124dc44a4ae468033867502116ab71b4ab0b5e8b to 6efd9ed73aa50508bf28a3af876e7143357eeb7f

Branch pushed to git repo; I updated commit sha1. New commits:

6efd9edReparing failures shown in comments 14 and 15 ticket 30400

comment:17 Changed 3 months ago by gh-jcuevas-rozo

I have fixed some failures shown in comments 14 and 15. I have added a method space_sorting, which allows to sort the print representation of finite spaces (I have learned to run doctests and I had not got failures after defining such method).

comment:18 follow-up: Changed 3 months ago by chapoton

maybe you could get rid of dict_to_matrix, used only once

comment:19 Changed 2 months ago by git

  • Commit changed from 6efd9ed73aa50508bf28a3af876e7143357eeb7f to 38c2e84aebdc349988a8e59c91d3dcd832e18792

Branch pushed to git repo; I updated commit sha1. New commits:

38c2e84dict_to_matrix function removed

comment:20 in reply to: ↑ 18 Changed 2 months ago by gh-jcuevas-rozo

Replying to chapoton:

maybe you could get rid of dict_to_matrix, used only once

Thanks for the suggestion.

comment:21 follow-up: Changed 5 weeks ago by gh-jcuevas-rozo

What could be the reason why this ticket passed the tests on October 18 but not on October 22? It has not been modified in recent weeks...

comment:22 Changed 5 weeks ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:23 Changed 5 weeks ago by git

  • Commit changed from 38c2e84aebdc349988a8e59c91d3dcd832e18792 to db381f24619e001d0ca42b59ff6f599b318782c2

Branch pushed to git repo; I updated commit sha1. New commits:

f7ea792Merge branch 'master' of git://github.com/sagemath/sage into t/30400/add_finite_topological_spaces
db381f2Order complex and barycentric subdivision added

comment:24 in reply to: ↑ 21 Changed 5 weeks ago by chapoton

Replying to gh-jcuevas-rozo:

What could be the reason why this ticket passed the tests on October 18 but not on October 22? It has not been modified in recent weeks...

Because sage itself is moving, and the patchbots always use the latest develop branch, which sometimes does not pass all the tests.

By the way, you should pul your real full name in the "Authors" fields here above.

comment:25 Changed 5 weeks ago by gh-jcuevas-rozo

  • Authors changed from gh-jcuevas-rozo to Julián Cuevas-Rozo

comment:26 Changed 4 weeks ago by git

  • Commit changed from db381f24619e001d0ca42b59ff6f599b318782c2 to 538a6ab776feb0b53037aa3752b38a01a3adde2f

Branch pushed to git repo; I updated commit sha1. New commits:

538a6abbeat points and weak points added

comment:27 Changed 4 weeks ago by git

  • Commit changed from 538a6ab776feb0b53037aa3752b38a01a3adde2f to 3bbc6e20b897ea89fb3c86518cabd989795818bd

Branch pushed to git repo; I updated commit sha1. New commits:

3bbc6e2Fixing tests

comment:28 Changed 3 weeks ago by git

  • Commit changed from 3bbc6e20b897ea89fb3c86518cabd989795818bd to 6fc8b088789e7fbaf73a3a7a440c2643b7902b55

Branch pushed to git repo; I updated commit sha1. New commits:

5dfbe89Merge branch 'u/gh-jcuevas-rozo/add_finite_topological_spaces' of git://trac.sagemath.org/sage into t/30862/dvf_and_homology_of_h_regular_finite_topological_spaces
d860beehregular homology added (missing documentation)
6fc8b08kenzo.py restored and some methods added to finite_topological_spaces.py

comment:29 Changed 3 weeks ago by git

  • Commit changed from 6fc8b088789e7fbaf73a3a7a440c2643b7902b55 to a6face57b0e9c6a56c7ba9230e8066fddce1d54a

Branch pushed to git repo; I updated commit sha1. New commits:

a6face5Non-ascii character deleted

comment:30 Changed 7 days ago by git

  • Commit changed from a6face57b0e9c6a56c7ba9230e8066fddce1d54a to 8a123d6cbc464d6cffc8a7202e003dbb640c22f5

Branch pushed to git repo; I updated commit sha1. New commits:

8a123d6Fixing 'blocks' warnings
Note: See TracTickets for help on using tickets.