在Magma中构造微分域Q(x, log x, log(log x))的问题求助
在Magma中构造嵌套对数微分域的问题
问题现象
想要构造微分域$\mathbb{Q}(x, \log x, \log(\log x))$,执行以下代码:
> F<x> := RationalDifferentialField(RationalField()); > G<ln> := LogarithmicFieldExtension(F, 1/x); > L<lln> := LogarithmicFieldExtension(G, G!(1/(x*ln)));
结果不符合预期:lln的导数被错误设置为与ln的导数一致,且二者被判定为相等:
> Derivative(lln); 1/x > lln eq ln; true
类似地,构造$\mathbb{Q}(x, \log(x+1), \log(x-1))$时,分步扩展的第二个生成器导数始终与首个扩展生成器的导数一致。
源码排查与部分可行尝试
查看Magma源码package/Ring/RngDiff/RngDiff.m后发现,LogarithmicFieldExtension底层调用的是DifferentialRingExtension。
构造$\mathbb{Q}(x, \log(x+1), \log(x-1))$时,一次性扩展两个生成器可以正常工作:
> P := PolynomialRing(F, 2); > G<ln1, ln2> := DifferentialRingExtension([P | 1/(x-1), 1/(x+1)]); > Derivative(ln1); Derivative(ln2); 1/(x - 1) 1/(x + 1)
但**分两次调用DifferentialRingExtension**时,依然会出现和LogarithmicFieldExtension相同的问题:
> G := DifferentialRingExtension([PolynomialRing(F, 1) | 1/(x+1)]); > L := DifferentialRingExtension([PolynomialRing(G, 1) | 1/(x-1)]); > BaseRing(L) eq G; true > L.1 eq G.1; true
核心限制
DifferentialRingExtension要求输入必须是*[RngMPolElt]*类型,这导致无法构造嵌套对数$\log(\log x)$——因为第二个对数的导数是$1/(x \cdot \log x)$,需要引用已有扩展域中的生成元ln,无法用基础域上的多元多项式元素来描述。
疑问
- 使用
DifferentialRingExtension进行分步构造时,是否存在操作错误? - 若这是Magma的bug,有没有可行的绕过方法来构造$\mathbb{Q}(x, \log x, \log(\log x))$?
内容的提问来源于stack exchange,提问作者Mitchell Holt
相关产品推荐
相关产品推荐

