201
201
by taking an `n`-skeleton for an appropriate `n`, either implicitly or
202
202
explicitly::
203
203
204
- sage: G = groups.misc.MultiplicativeAbelian([3]) # needs sage.groups
205
- sage: B3 = simplicial_sets.ClassifyingSpace(G) # needs sage.groups
206
- sage: B3.disjoint_union(B3).n_skeleton(3) # needs sage.groups
204
+ sage: # needs sage.groups
205
+ sage: G = groups.misc.MultiplicativeAbelian([3])
206
+ sage: B3 = simplicial_sets.ClassifyingSpace(G)
207
+ sage: B3.disjoint_union(B3).n_skeleton(3)
207
208
Disjoint union: (Simplicial set with 15 non-degenerate simplices
208
209
u Simplicial set with 15 non-degenerate simplices)
209
210
sage: S1 = simplicial_sets.Sphere(1)
210
- sage: B3.product(S1).homology(range(4)) # needs sage.groups sage. modules
211
+ sage: B3.product(S1).homology(range(4)) # needs sage.modules
211
212
{0: 0, 1: Z x C3, 2: C3, 3: C3}
212
213
213
214
Without the ``range`` argument, this would raise an error, since
@@ -1927,12 +1928,12 @@ def chain_complex(self, dimensions=None, base_ring=ZZ, augmented=False,
1927
1928
1928
1929
sage: C3 = groups.misc.MultiplicativeAbelian([3]) # needs sage.groups
1929
1930
sage: BC3 = simplicial_sets.ClassifyingSpace(C3) # needs sage.groups
1930
- sage: BC3.chain_complex(range(4), base_ring=GF(3)) # needs sage.groups sage.modules sage.rings.finite_rings
1931
+ sage: BC3.chain_complex(range(4), base_ring=GF(3)) # needs sage.groups sage.modules
1931
1932
Chain complex with at most 4 nonzero terms over Finite Field of size 3
1932
1933
1933
1934
TESTS::
1934
1935
1935
- sage: BC3.chain_complex() # needs sage.groups sage.rings.finite_rings
1936
+ sage: BC3.chain_complex() # needs sage.groups
1936
1937
Traceback (most recent call last):
1937
1938
...
1938
1939
NotImplementedError: this simplicial set may be infinite, so specify dimensions when computing its chain complex
@@ -1983,7 +1984,7 @@ def homology(self, dim=None, **kwds):
1983
1984
1984
1985
sage: C3 = groups.misc.MultiplicativeAbelian([3]) # needs sage.groups
1985
1986
sage: BC3 = simplicial_sets.ClassifyingSpace(C3) # needs sage.groups
1986
- sage: BC3.homology(range(4), base_ring=GF(3)) # needs sage.groups sage.modules sage.rings.finite_rings
1987
+ sage: BC3.homology(range(4), base_ring=GF(3)) # needs sage.groups sage.modules
1987
1988
{0: Vector space of dimension 0 over Finite Field of size 3,
1988
1989
1: Vector space of dimension 1 over Finite Field of size 3,
1989
1990
2: Vector space of dimension 1 over Finite Field of size 3,
@@ -2155,11 +2156,13 @@ def n_chains(self, n, base_ring=ZZ, cochains=False):
2155
2156
sage: C = S3.n_chains(3, cochains=True) # needs sage.modules
2156
2157
sage: list(C.basis()) # needs sage.modules
2157
2158
[\chi_sigma_3]
2158
- sage: Sigma3 = groups.permutation.Symmetric(3) # needs sage.groups
2159
- sage: BSigma3 = simplicial_sets.ClassifyingSpace(Sigma3) # needs sage.groups
2160
- sage: list(BSigma3.n_chains(1).basis()) # needs sage.groups sage.modules
2159
+
2160
+ sage: # needs sage.groups
2161
+ sage: Sigma3 = groups.permutation.Symmetric(3)
2162
+ sage: BSigma3 = simplicial_sets.ClassifyingSpace(Sigma3)
2163
+ sage: list(BSigma3.n_chains(1).basis()) # needs sage.modules
2161
2164
[(1,2), (1,2,3), (1,3), (1,3,2), (2,3)]
2162
- sage: list(BSigma3.n_chains(1, cochains=True).basis()) # needs sage.groups sage. modules
2165
+ sage: list(BSigma3.n_chains(1, cochains=True).basis()) # needs sage.modules
2163
2166
[\chi_(1,2), \chi_(1,2,3), \chi_(1,3), \chi_(1,3,2), \chi_(2,3)]
2164
2167
"""
2165
2168
if self .is_finite ():
@@ -2230,19 +2233,18 @@ def quotient(self, subcomplex, vertex_name='*'):
2230
2233
sage: RP5 = simplicial_sets.RealProjectiveSpace(5)
2231
2234
sage: RP2 = RP5.n_skeleton(2)
2232
2235
sage: RP5_2 = RP5.quotient(RP2)
2233
- sage: RP5_2.homology(base_ring=GF(2)) # needs sage.modules sage.rings.finite_rings
2236
+ sage: RP5_2.homology(base_ring=GF(2)) # needs sage.modules
2234
2237
{0: Vector space of dimension 0 over Finite Field of size 2,
2235
2238
1: Vector space of dimension 0 over Finite Field of size 2,
2236
2239
2: Vector space of dimension 0 over Finite Field of size 2,
2237
2240
3: Vector space of dimension 1 over Finite Field of size 2,
2238
2241
4: Vector space of dimension 1 over Finite Field of size 2,
2239
2242
5: Vector space of dimension 1 over Finite Field of size 2}
2240
-
2241
- sage: RP5_2.ambient() # needs sage.groups
2243
+ sage: RP5_2.ambient()
2242
2244
RP^5
2243
- sage: RP5_2.subcomplex() # needs sage.groups
2245
+ sage: RP5_2.subcomplex()
2244
2246
Simplicial set with 3 non-degenerate simplices
2245
- sage: RP5_2.quotient_map() # needs sage.groups
2247
+ sage: RP5_2.quotient_map()
2246
2248
Simplicial set morphism:
2247
2249
From: RP^5
2248
2250
To: Quotient: (RP^5/Simplicial set with 3 non-degenerate simplices)
@@ -3641,16 +3643,17 @@ def chain_complex(self, dimensions=None, base_ring=ZZ, augmented=False,
3641
3643
3642
3644
EXAMPLES::
3643
3645
3646
+ sage: # needs sage.modules
3644
3647
sage: from sage.topology.simplicial_set import AbstractSimplex, SimplicialSet
3645
3648
sage: v = AbstractSimplex(0)
3646
3649
sage: degen = v.apply_degeneracies(1, 0) # s_1 s_0 applied to v
3647
3650
sage: sigma = AbstractSimplex(3)
3648
- sage: S3 = SimplicialSet({sigma: (degen, degen, degen, degen)}) # the 3-sphere
3649
- sage: S3.chain_complex().homology() # needs sage.modules
3651
+ sage: S3 = SimplicialSet({sigma: (degen, degen, degen, degen)}) # the 3-sphere
3652
+ sage: S3.chain_complex().homology()
3650
3653
{0: Z, 3: Z}
3651
- sage: S3.chain_complex(augmented=True).homology() # needs sage.modules
3654
+ sage: S3.chain_complex(augmented=True).homology()
3652
3655
{-1: 0, 0: 0, 3: Z}
3653
- sage: S3.chain_complex(dimensions=range(3), base_ring=QQ).homology() # needs sage.modules
3656
+ sage: S3.chain_complex(dimensions=range(3), base_ring=QQ).homology()
3654
3657
{0: Vector space of dimension 1 over Rational Field}
3655
3658
3656
3659
sage: RP5 = simplicial_sets.RealProjectiveSpace(5) # needs sage.groups
@@ -3663,14 +3666,15 @@ def chain_complex(self, dimensions=None, base_ring=ZZ, augmented=False,
3663
3666
Convert some simplicial complexes and `\Delta`-complexes to
3664
3667
simplicial sets, and compare homology calculations::
3665
3668
3669
+ sage: # needs sage.modules
3666
3670
sage: T = simplicial_complexes.Torus()
3667
- sage: T.homology() == SimplicialSet(T).homology() # needs sage.modules
3671
+ sage: T.homology() == SimplicialSet(T).homology()
3668
3672
True
3669
3673
sage: RP2 = delta_complexes.RealProjectivePlane()
3670
- sage: RP2.homology() == SimplicialSet(RP2).homology() # needs sage.modules
3674
+ sage: RP2.homology() == SimplicialSet(RP2).homology()
3671
3675
True
3672
- sage: cohoRP2 = RP2.cohomology(base_ring=GF(2)) # needs sage.modules
3673
- sage: cohoRP2 == SimplicialSet(RP2).cohomology(base_ring=GF(2)) # needs sage.modules
3676
+ sage: cohoRP2 = RP2.cohomology(base_ring=GF(2))
3677
+ sage: cohoRP2 == SimplicialSet(RP2).cohomology(base_ring=GF(2))
3674
3678
True
3675
3679
"""
3676
3680
from sage .homology .chain_complex import ChainComplex
@@ -3811,11 +3815,12 @@ def algebraic_topological_model(self, base_ring=None):
3811
3815
EXAMPLES::
3812
3816
3813
3817
sage: RP2 = simplicial_sets.RealProjectiveSpace(2) # needs sage.groups
3814
- sage: phi, M = RP2.algebraic_topological_model(GF(2)) # needs sage.groups sage.rings.finite_rings
3815
- sage: M.homology() # needs sage.groups sage.modules sage.rings.finite_rings
3818
+ sage: phi, M = RP2.algebraic_topological_model(GF(2)) # needs sage.groups
3819
+ sage: M.homology() # needs sage.groups sage.modules
3816
3820
{0: Vector space of dimension 1 over Finite Field of size 2,
3817
3821
1: Vector space of dimension 1 over Finite Field of size 2,
3818
3822
2: Vector space of dimension 1 over Finite Field of size 2}
3823
+
3819
3824
sage: T = simplicial_sets.Torus()
3820
3825
sage: phi, M = T.algebraic_topological_model(QQ) # needs sage.modules
3821
3826
sage: M.homology() # needs sage.modules
0 commit comments