离散估值与离散伪估值

高级接口

赋值可以很方便地定义在某些Sage环上,例如p-adi环和函数域。

P-进位估值

如果数字字段的赋值唯一地扩展了有理素数的赋值,则可以很容易地指定它们:

sage: v = QQ.valuation(2)
sage: v(1024)
10

它们被规范化,使得有理素数的估值为1::

sage: K.<a> = NumberField(x^2 + x + 1)
sage: v = K.valuation(2)
sage: v(1024)
10

如果素数上有多个估值,则可以通过从较小的环扩展估值来获得它们:

sage: K.<a> = NumberField(x^2 + x + 1)
sage: K.valuation(7)
Traceback (most recent call last):
...
ValueError: The valuation Gauss valuation induced by 7-adic valuation does not approximate a unique extension of 7-adic valuation with respect to x^2 + x + 1
sage: w,ww = QQ.valuation(7).extensions(K)
sage: w(a + 3), ww(a + 3)
(1, 0)
sage: w(a + 5), ww(a + 5)
(0, 1)

关于函数域的赋值

同样,可以在以下功能字段上定义估值:

sage: K.<x> = FunctionField(QQ)
sage: v = K.valuation(x)
sage: v(1/x)
-1

sage: v = K.valuation(1/x)
sage: v(1/x)
1

在函数字段的扩展上,当扩展是唯一的时,可以通过在底层有理函数字段上提供素数来创建估值:

sage: K.<x> = FunctionField(QQ)
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x)
sage: v = L.valuation(x)
sage: v(x)
1

估值也可以从较小的功能字段扩展:

sage: K.<x> = FunctionField(QQ)
sage: v = K.valuation(x - 4)
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x)
sage: v.extensions(L)
[[ (x - 4)-adic valuation, v(y + 2) = 1 ]-adic valuation,
 [ (x - 4)-adic valuation, v(y - 2) = 1 ]-adic valuation]

低级接口

Mac Lane的估值

在内部,上述所有功能都由中描述的算法支持 [Mac1936I][Mac1936II]. 让我们来考虑一下 K.valuation(x - 4) 到田里去 L 上面概述了这是如何在内部运作的。

First, the valuation on K is induced by a valuation on QQ[x]. To construct this valuation, we start from the trivial valuation on \Q and consider its induced Gauss valuation on \Q[x], i.e., the valuation that assigns to a polynomial the minimum of the coefficient valuations:

sage: R.<x> = QQ[]
sage: v = GaussValuation(R, valuations.TrivialValuation(QQ))

可以通过指定以下内容来增加高斯估值 x - 4 估值为1::

sage: v = v.augmentation(x - 4, 1); v
[ Gauss valuation induced by Trivial valuation on Rational Field, v(x - 4) = 1 ]

然后,该估值唯一地扩展到分数字段::

sage: K.<x> = FunctionField(QQ)
sage: v = v.extension(K); v
(x - 4)-adic valuation

在函数域上,我们重复上述过程,即定义由它诱导的Gauss赋值,并将其扩充为近似于 L **

sage: R.<y> = K[]
sage: w = GaussValuation(R, v)
sage: w = w.augmentation(y - 2, 1); w
[ Gauss valuation induced by (x - 4)-adic valuation, v(y - 2) = 1 ]
sage: L.<y> = K.extension(y^2 - x)
sage: ww = w.extension(L); ww
[ (x - 4)-adic valuation, v(y - 2) = 1 ]-adic valuation

限制估值

在前面的示例中,最终估值 ww 不仅仅是通过评估 w 在拳台上 K[y] **

sage: ww(y^2 - x)
+Infinity
sage: y = R.gen()
sage: w(y^2 - x)
1

取而代之的是 ww 是由一个极限给出的,即估值的无限递增序列:

sage: ww._base_valuation
[ Gauss valuation induced by (x - 4)-adic valuation, v(y - 2) = 1 , … ]

此无限序列的项是按需计算的:

sage: ww._base_valuation._approximation
[ Gauss valuation induced by (x - 4)-adic valuation, v(y - 2) = 1 ]
sage: ww(y - 1/4*x - 1)
2
sage: ww._base_valuation._approximation
[ Gauss valuation induced by (x - 4)-adic valuation, v(y + 1/64*x^2 - 3/8*x - 3/4) = 3 ]

非经典估值

使用低层界面,我们不限于对应于相应投影曲线上的点的函数域上的经典赋值。相反,我们可以从常量领域的非平凡赋值开始:

sage: v = QQ.valuation(2)
sage: R.<x> = QQ[]
sage: w = GaussValuation(R, v) # v is not trivial
sage: K.<x> = FunctionField(QQ)
sage: w = w.extension(K)
sage: w.residue_field()
Rational function field in x over Finite Field of size 2

MAC车道近似值

此包背后的主要工具是Mac Lane的算法,该算法从多项式环和一元无平方多项式G上的高斯估值开始,计算将G推向无穷大的极限估值的近似:

sage: v = QQ.valuation(2)
sage: R.<x> = QQ[]
sage: f = x^5 + 3*x^4 + 5*x^3 + 8*x^2 + 6*x + 12
sage: v.mac_lane_approximants(f) # random output (order may vary)
[[ Gauss valuation induced by 2-adic valuation, v(x^2 + x + 1) = 3 ],
 [ Gauss valuation induced by 2-adic valuation, v(x) = 1/2 ],
 [ Gauss valuation induced by 2-adic valuation, v(x) = 1 ]]

从这些近似中,我们已经可以看到相应扩张的剩余度和分支指数。可以将近似式推到任意精度,对应于 f **

sage: v.mac_lane_approximants(f, required_precision=10) # random output
[[ Gauss valuation induced by 2-adic valuation, v(x^2 + 193*x + 13/21) = 10 ],
 [ Gauss valuation induced by 2-adic valuation, v(x + 86) = 10 ],
 [ Gauss valuation induced by 2-adic valuation, v(x) = 1/2, v(x^2 + 36/11*x + 2/17) = 11 ]]

参考文献

这一理论最初是在 [Mac1936I][Mac1936II]. 摘要和一些算法细节也可以在第4章中找到 [Rüt2014].

更多细节

索引和表格