问题标签 [symbolic-computation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
common-lisp - Common Lisp - 符号多项式计算
我想对 lisp 执行一些符号计算。我找到了有用的导数函数,我想知道如何编写简单的递归函数来添加/减去/等。多项式。
输入(例如):(addpolynomial '(+ (^ (* 2 x) 5) 3) '(+ (^ (* 3 x) 5) (^ (* 3 x) 2)))
输出:(+ (^ (* 5 x) 5) (^ (* 3 x) 2)) 3)
你知道怎么做吗?或者,也许您知道其他符号计算示例?
matlab - 支持可变大小矩阵的计算机代数系统
我熟悉 sympy、matlab 符号包、reduce,并尝试过其他一些计算机代数系统。然而,据我所知,他们似乎都不能在可变大小的矩阵上做代数——它们只能处理固定大小的矩阵。
有没有可以为可变大小的矩阵做代数?我知道会有相当多的总案例,但我觉得有很多是可行的,仅仅是因为可以轻松地使用 R^nxn 中的矩阵进行许多简化/代数。
可以在其中许多中仅使用非交际代数元素,因此涵盖了矩阵的加法和 Hadamard 乘积,这很有用并且是一个开始。然而,它涵盖了对矩阵的实际操作的一小部分(例如,转置、求逆、特征值分解、在 R^nxm 中使用矩阵等)。有没有更通用的软件?
matlab - Matlab符号表达式创建溢出
我正在使用 Matlab 符号工具箱来创建一个高度复杂的函数。然后将此函数写入 .m 文件(使用matlabFunction
)。出于某种原因,在简化函数后,函数以看起来像的形式返回fun = (A*1.329834759483753e310 + B*5.873798798237459e305 + ...)*7.577619127319697e-320
,其中A
和B
是我的变量的函数(太复杂,无法在此重复)。也就是说,括号内的所有项的顺序大约为 1e280 到 1e300。当指数大于大约 1.79e308 时就会出现问题,因为这会导致双精度溢出(调用生成的 .m 函数时)。函数的实际大小远不会造成溢出,但这种表达函数的方式确实如此。如果简化函数将 1e-320 乘以括号,这将得到解决,但由于某种原因它没有。
知道为什么符号工具箱选择以这种方式表示我的功能吗?
我发现我可以调用 callexpand(fun)
将 1e-320 乘以括号。生成的表达式然后具有预期大小的指数(在 -1 到 -30 范围内),但我更希望首先知道表达式看起来像这样的原因,以及是否有比调用更好的选项expand
来避免问题。此外,调用expand
似乎创建了一个比我拥有的更复杂的函数,我试图在这里获得一个计算速度非常快的函数。
symbolic-computation - 如何在 Magma 中构造多项式环的子环
这个问题是关于计算机代数系统 Magma(不是线性代数库),并且是从 scicomp.SE 交叉发布的。
如果这是题外话,请原谅;我是 StackExchange 网络的普通用户,但这是我在 StackOverflow 上的第一篇文章。我正在为这类问题寻找合适的家。(原则上在我看来它是scicomp.SE,但它在 4 天内没有得到答案,所以我想知道 StackOverflow 是否产生了不同的结果。)
假设有人在 Magma 的环 R 上构造了多项式代数 A。如何构造由 A 的给定元素列表生成的 A 的子 R 代数?
在我看来,这似乎是一个非常基本的操作,所以我不敢相信没有办法做到这一点,但到目前为止我还没有在手册中找到它。(我看到了构造矩阵代数和自同态环的子代数的功能,但不是多项式环。)
debugging - 符号执行工具KLEE可以并行运行吗?
根据他们的论文 (OSDI'08),符号执行工具 KLEE 需要大约 1 小时来为单个 COREUTIL 应用程序生成测试用例。我想知道它是否可以并行运行?(例如,多核甚至 GPU 上的多线程)?
python - SymPy 符号积分返回错误
我正在尝试使用 Sympy 的符号积分来找到定积分的封闭形式。特别是,我跑
不幸的是,在 Python 2.7.11 中,我的 Jupyter 运行、运行、运行。也许它有助于加强假设
但我不知道该怎么做。
备注 我还使用了 Mathematica 的符号积分功能来做到这一点,它提出了一个高斯超几何函数。不幸的是,评估该函数会返回一个复数,这在评估真正的积分时并没有真正意义。因此,我希望 SymPy 可能会有所帮助。
python - Theano 中的 5D 张量
我想知道如何在 Theano 中制作 5D 张量。
具体来说,我尝试了dtensor = T.TensorType('float32', (False,)*5)
. 但是,唯一的问题是dtensor.shape
返回:AttributeError: 'TensorType' object has no attribute 'shape'
dtensor = T.tensor3('float32')
而如果我使用标准张量类型dtensor.shape.
如
matlab - 用微分算子乘以符号函数来创建导数
我有一个矩阵,A
:
我还有一个运算符矩阵D
:
我希望能够相乘D*A
并得到一个如下所示的矩阵:
显然我不能用 diff() 函数做到这一点,因为该函数不是可以乘以函数的运算符。那么如何使用符号运算符来解决这个问题呢?实际上,我的矩阵很大,因此在没有运算符乘法的情况下执行是不可取的。
另外,假设我找到了一种生成上述B
矩阵的方法,如下所示:
B
例如,我如何评估x=2, y=1
;
我的尝试:
但这显然是sym.subs
函数的不正确参数
我也试过:
这也不起作用,所以我的另一个问题是如何在矩阵中替换x
和替换。y
B
graph - 从图形中切分以找到将系统分解为不相交集的排列?
假设一个无向系统,您想要在其排列中找出元素的图形,这些元素使系统不相交,使得每个集合都是最小的。该图有两个特殊节点:不能在元素中的 sink 和 source。
给定一些图 G=(V,E),你如何在计算上找到最小割?