gpt4 book ai didi

latex - 在 SageMath 中以相反的顺序显示多项式

转载 作者:行者123 更新时间:2023-12-01 09:51:38 27 4
gpt4 key购买 nike

所以我想用一个参数( s )在一个变量( a )中打印多项式,比如说
a·s^3 − s^2 - a^2·s − a + 1 .

Sage 总是以递减的程度显示它,我想得到类似的东西
1 - a - a^2·s - s^2 + a·s^3
将其导出到 LaTeX .我不知道如何做到这一点......提前致谢。

最佳答案

这并不容易,因为排序顺序是在 Pynac 中定义的,Pynac 是 Ginac 的一个分支,Sage 使用它进行基本的符号操作。但是,根据您的需要,可以通过编程方式:

sage: F = 1 + x + x^2
sage: "+".join(map(str,sorted([f for f in F.operands()],key=lambda exp:exp.degree(x))))
'1+x+x^2'

不过,我不知道这种东西是否足以满足您的需求。您可能需要大量遍历“表达式树”,但至少您的示例似乎有效。
sage: F = a + a^2*x + x^2 - a*x^2
sage: "+".join(map(str,sorted([f for f in F.operands()],key=lambda exp:exp.degree(x))))
'a+a^2*x+-a*x^2+x^2'

在简短的语句中执行此操作需要许多类似这样的 Python 技巧,如果您打算大量使用 Sage(或 Numpy、或 Pandas 或...),这些技巧非常值得学习。

关于latex - 在 SageMath 中以相反的顺序显示多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com