77
77
78
78
Obtain specializations in positive characteristic::
79
79
80
+ sage: # needs sage.libs.pari sage.modules
80
81
sage: Fp = GF(17)
81
- sage: f = L.hom((3,5,7,11), codomain=Fp); f # needs sage.libs.pari
82
+ sage: f = L.hom((3,5,7,11), codomain=Fp); f
82
83
Ring morphism:
83
84
From: Multivariate Polynomial Ring in u0, u1, u2, q over Integer Ring localized at
84
85
(q, q + 1, u2, u1, u1 - u2, u0, u0 - u2, u0 - u1, u2*q - u1, u2*q - u0,
88
89
u1 |--> 5
89
90
u2 |--> 7
90
91
q |--> 11
91
- sage: mFp1 = matrix({k: f(v) for k, v in m1.dict().items()}); mFp1 # needs sage.libs.pari sage.modules
92
+ sage: mFp1 = matrix({k: f(v) for k, v in m1.dict().items()}); mFp1
92
93
[5 0 0]
93
94
[0 3 0]
94
95
[0 0 3]
95
- sage: mFp1.base_ring() # needs sage.libs.pari sage.modules
96
+ sage: mFp1.base_ring()
96
97
Finite Field of size 17
97
- sage: mFp2 = matrix({k: f(v) for k, v in m2.dict().items()}); mFp2 # needs sage.libs.pari sage.modules
98
+ sage: mFp2 = matrix({k: f(v) for k, v in m2.dict().items()}); mFp2
98
99
[ 2 3 0]
99
100
[ 9 8 0]
100
101
[ 0 0 16]
101
- sage: mFp3 = matrix({k: f(v) for k, v in m3.dict().items()}); mFp3 # needs sage.libs.pari sage.modules
102
+ sage: mFp3 = matrix({k: f(v) for k, v in m3.dict().items()}); mFp3
102
103
[16 0 0]
103
104
[ 0 4 5]
104
105
[ 0 7 6]
116
117
u1 |--> 5
117
118
u2 |--> 7
118
119
q |--> 11
119
- sage: mQ1 = matrix({k: fQ(v) for k, v in m1.dict().items()}); mQ1 # needs sage.modules sage.rings.finite_rings
120
+
121
+ sage: # needs sage.libs.pari sage.modules sage.rings.finite_rings
122
+ sage: mQ1 = matrix({k: fQ(v) for k, v in m1.dict().items()}); mQ1
120
123
[5 0 0]
121
124
[0 3 0]
122
125
[0 0 3]
123
- sage: mQ1.base_ring() # needs sage.modules sage.rings.finite_rings
126
+ sage: mQ1.base_ring()
124
127
Rational Field
125
- sage: mQ2 = matrix({k: fQ(v) for k, v in m2.dict().items()}); mQ2 # needs sage.modules sage.rings.finite_rings
128
+ sage: mQ2 = matrix({k: fQ(v) for k, v in m2.dict().items()}); mQ2
126
129
[-15 -14 0]
127
130
[ 26 25 0]
128
131
[ 0 0 -1]
129
- sage: mQ3 = matrix({k: fQ(v) for k, v in m3.dict().items()}); mQ3 # needs sage.modules sage.rings.finite_rings
132
+ sage: mQ3 = matrix({k: fQ(v) for k, v in m3.dict().items()}); mQ3
130
133
[ -1 0 0]
131
134
[ 0 -15/26 11/26]
132
135
[ 0 301/26 275/26]
133
136
137
+ sage: # needs sage.libs.pari sage.libs.singular
134
138
sage: S.<x, y, z, t> = QQ[]
135
139
sage: T = S.quo(x + y + z)
136
- sage: F = T.fraction_field() # needs sage.libs.pari sage.libs.singular
137
- sage: fF = L.hom((x, y, z, t), codomain=F); fF # needs sage.libs.pari sage.libs.singular
140
+ sage: F = T.fraction_field()
141
+ sage: fF = L.hom((x, y, z, t), codomain=F); fF
138
142
Ring morphism:
139
143
From: Multivariate Polynomial Ring in u0, u1, u2, q over Integer Ring
140
144
localized at (q, q + 1, u2, u1, u1 - u2, u0, u0 - u2, u0 - u1,
145
149
u1 |--> ybar
146
150
u2 |--> zbar
147
151
q |--> tbar
148
- sage: mF1 = matrix({k: fF(v) for k, v in m1.dict().items()}); mF1 # needs sage.libs.pari sage.libs.singular sage. modules
152
+ sage: mF1 = matrix({k: fF(v) for k, v in m1.dict().items()}); mF1 # needs sage.modules
149
153
[ ybar 0 0]
150
154
[ 0 -ybar - zbar 0]
151
155
[ 0 0 -ybar - zbar]
152
- sage: mF1.base_ring() == F # needs sage.libs.pari sage.libs.singular sage. modules
156
+ sage: mF1.base_ring() == F # needs sage.modules
153
157
True
154
158
155
159
TESTS::
@@ -211,15 +215,16 @@ def normalize_extra_units(base_ring, add_units, warning=True):
211
215
....: [3*x, z*y**2, 2*z, 18*(x*y*z)**2, x*z, 6*x*z, 5])
212
216
[z, y, x]
213
217
218
+ sage: # needs sage.libs.singular
214
219
sage: R.<x, y> = ZZ[]
215
- sage: Q.<a, b> = R.quo(x**2 - 5) # needs sage.libs.singular
216
- sage: p = b**2 - 5 # needs sage.libs.singular
217
- sage: p == (b-a)*(b+a) # needs sage.libs.singular
220
+ sage: Q.<a, b> = R.quo(x**2 - 5)
221
+ sage: p = b**2 - 5
222
+ sage: p == (b-a)*(b+a)
218
223
True
219
- sage: normalize_extra_units(Q, [p]) # needs sage.libs.pari sage.libs.singular
224
+ sage: normalize_extra_units(Q, [p]) # needs sage.libs.pari
220
225
doctest:...: UserWarning: Localization may not be represented uniquely
221
226
[b^2 - 5]
222
- sage: normalize_extra_units(Q, [p], warning=False) # needs sage.libs.pari sage.libs.singular
227
+ sage: normalize_extra_units(Q, [p], warning=False) # needs sage.libs.pari
223
228
[b^2 - 5]
224
229
"""
225
230
# convert to base ring
@@ -256,7 +261,7 @@ class LocalizationElement(IntegralDomainElement):
256
261
257
262
EXAMPLES::
258
263
259
- sage: # needs sage.rings.finite_rings
264
+ sage: # needs sage.libs.pari
260
265
sage: from sage.rings.localization import LocalizationElement
261
266
sage: P.<x,y,z> = GF(5)[]
262
267
sage: L = P.localization((x, y*z - x))
@@ -716,7 +721,7 @@ def _repr_(self):
716
721
EXAMPLES::
717
722
718
723
sage: R.<a> = GF(3)[]
719
- sage: Localization(R, a**2 - 1) # needs sage.rings.finite_rings
724
+ sage: Localization(R, a**2 - 1) # needs sage.libs.pari
720
725
Univariate Polynomial Ring in a over Finite Field of size 3
721
726
localized at (a + 1, a + 2)
722
727
"""
@@ -967,7 +972,7 @@ def fraction_field(self):
967
972
968
973
EXAMPLES::
969
974
970
- sage: # needs sage.rings.finite_rings
975
+ sage: # needs sage.libs.pari
971
976
sage: R.<a> = GF(5)[]
972
977
sage: L = Localization(R, (a**2 - 3, a))
973
978
sage: L.fraction_field()
@@ -983,9 +988,10 @@ def characteristic(self):
983
988
984
989
EXAMPLES::
985
990
991
+ sage: # needs sage.libs.pari
986
992
sage: R.<a> = GF(5)[]
987
- sage: L = R.localization((a**2 - 3, a)) # needs sage.rings.finite_rings
988
- sage: L.characteristic() # needs sage.rings.finite_rings
993
+ sage: L = R.localization((a**2 - 3, a))
994
+ sage: L.characteristic()
989
995
5
990
996
"""
991
997
return self .base_ring ().characteristic ()
0 commit comments