-
Notifications
You must be signed in to change notification settings - Fork 3
/
AffineClosed.gd
138 lines (113 loc) · 4.69 KB
/
AffineClosed.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# SPDX-License-Identifier: GPL-2.0-or-later
# ZariskiFrames: (Co)frames/Locales of Zariski closed/open subsets of affine, projective, or toric varieties
#
# Declarations
#
#! @Chapter The coframe of Zariski closed subsets in an affine variety
#! @Section GAP Categories
#! @Description
#! The ⪆ category of Zariski coframes of an affine variety.
#! @Arguments object
DeclareCategory( "IsZariskiCoframeOfAnAffineVariety",
IsZariskiCoframe );
#! @Description
#! The ⪆ category of objects in a Zariski coframe of an affine variety.
#! @Arguments object
DeclareCategory( "IsObjectInZariskiCoframeOfAnAffineVariety",
IsObjectInZariskiCoframe and
IsObjectInZariskiFrameOrCoframeOfAnAffineVariety );
#! @Description
#! The ⪆ category of morphisms in a Zariski coframe of an affine variety.
#! @Arguments morphism
DeclareCategory( "IsMorphismInZariskiCoframeOfAnAffineVariety",
IsMorphismInZariskiCoframe and
IsMorphismInZariskiFrameOrCoframeOfAnAffineVariety );
#! @Section Constructors
#! @Description
#! Construct the Zariski coframe of closed sets in an affine variety defined as the
#! vanishing loci of (radical) ideals of a &homalg; ring <A>R</A>.
#! @Arguments R
#! @Returns a &CAP; category
DeclareAttribute( "ZariskiCoframeOfAffineSpectrumUsingCategoryOfRows",
IsHomalgRing );
#! @Description
#! Construct a Zariski closed subset (as an object in the Zariski coframe
#! of closed subsets in an affine variety) from a morphism
#! <A>I</A>=<C>AsMorphismInCategoryOfRows</C>( <A>mat</A> ) in the category of rows.
#! The result is the support of the module-theoretic cokernel <M>M</M>
#! of the morphism <A>I</A> in the associated Freyd category,
#! i.e., the result is the vanishing locus of the annihilator of <M>M</M>.
#! @Arguments I
#! @Returns a &CAP; object
#! @Group ClosedSubsetOfSpec
DeclareOperation( "ClosedSubsetOfSpec",
[ IsCapCategoryMorphism ] );
#! @Arguments mat
#! @Group ClosedSubsetOfSpec
DeclareOperation( "ClosedSubsetOfSpec",
[ IsHomalgMatrix ] );
#! @Arguments str, R
#! @Group ClosedSubsetOfSpec
DeclareOperation( "ClosedSubsetOfSpec",
[ IsString, IsHomalgRing ] );
#! @Arguments r
#! @Group ClosedSubsetOfSpec
DeclareOperation( "ClosedSubsetOfSpec",
[ IsHomalgRingElement ] );
#! @InsertChunk ClosedSubsetOfSpecZ
#! @Description
#! <C>ClosedSubsetOfSpecByReducedMorphism</C> assumes that the image is a radical ideal.
#! @Arguments I
#! @Group ClosedSubsetOfSpecByReducedMorphism
DeclareOperation( "ClosedSubsetOfSpecByReducedMorphism",
[ IsCapCategoryMorphism ] );
#! @Arguments mat
#! @Group ClosedSubsetOfSpecByReducedMorphism
DeclareOperation( "ClosedSubsetOfSpecByReducedMorphism",
[ IsHomalgMatrix ] );
#! @Arguments str, R
#! @Group ClosedSubsetOfSpecByReducedMorphism
DeclareOperation( "ClosedSubsetOfSpecByReducedMorphism",
[ IsString, IsHomalgRing ] );
#! @Arguments r
#! @Group ClosedSubsetOfSpecByReducedMorphism
DeclareOperation( "ClosedSubsetOfSpecByReducedMorphism",
[ IsHomalgRingElement ] );
#! @Arguments L
DeclareOperation( "ClosedSubsetOfSpecByListOfMorphismsOfRank1Range",
[ IsList ] );
#! @Arguments L
DeclareOperation( "ClosedSubsetOfSpecByListOfReducedMorphisms",
[ IsList ] );
#! @Description
#! <C>ClosedSubsetOfSpecByStandardMorphism</C> assumes that the image is a radical ideal given by some sort of a <Q>standard</Q> basis.
#! @Arguments I
#! @Group ClosedSubsetOfSpecByStandardMorphism
DeclareOperation( "ClosedSubsetOfSpecByStandardMorphism",
[ IsCapCategoryMorphism ] );
#! @Arguments mat
#! @Group ClosedSubsetOfSpecByStandardMorphism
DeclareOperation( "ClosedSubsetOfSpecByStandardMorphism",
[ IsHomalgMatrix ] );
#! @Arguments str, R
#! @Group ClosedSubsetOfSpecByStandardMorphism
DeclareOperation( "ClosedSubsetOfSpecByStandardMorphism",
[ IsString, IsHomalgRing ] );
#! @Arguments r
#! @Group ClosedSubsetOfSpecByStandardMorphism
DeclareOperation( "ClosedSubsetOfSpecByStandardMorphism",
[ IsHomalgRingElement ] );
#! @Description
#! Compute the tangent space of <A>V</A> at the closed point <A>p</A>
#! as an affine subspace of the ambient space of <A>V</A> intersecting <A>p</A>.
#! @Arguments V, p
#! @Returns an object in a Zariski coframe
DeclareOperation( "TangentSpaceAtPoint",
[ IsObjectInZariskiCoframeOfAnAffineVariety, IsHomalgMatrix ] );
#! @Arguments V, p
DeclareOperation( "TangentSpaceAtPoint",
[ IsObjectInZariskiCoframeOfAnAffineVariety, IsList ] );
DeclareOperation( "ComplementOfTangentSpaceAtPoint",
[ IsObjectInZariskiCoframeOfAnAffineVariety, IsHomalgMatrix ] );
DeclareOperation( "ComplementOfTangentSpaceAtPoint",
[ IsObjectInZariskiCoframeOfAnAffineVariety, IsList ] );