问题标签 [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.

0 投票
1 回答
345 浏览

common-lisp - Common Lisp - 符号多项式计算

我想对 lisp 执行一些符号计算。我找到了有用的导数函数,我想知道如何编写简单的递归函数来添加/减去/等。多项式。

输入(例如):(addpolynomial '(+ (^ (* 2 x) 5) 3) '(+ (^ (* 3 x) 5) (^ (* 3 x) 2)))

输出:(+ (^ (* 5 x) 5) (^ (* 3 x) 2)) 3)

你知道怎么做吗?或者,也许您知道其他符号计算示例?

0 投票
1 回答
58 浏览

matlab - 使用 MATLAB 创建通用符号数组

我想生成1 x M带有变量的数组或矩阵,例如(请注意 sum 从i=1m-1): 在此处输入图像描述

因为我想Obj稍后将其用作通用数组取决于给定M的某些优化目的。我在 MATLAB 中尝试了以下代码,但该符号L不支持:

但是,当我单独运行时看到以下内容时:

有人可以帮我解决这个问题吗?

0 投票
1 回答
96 浏览

matlab - 支持可变大小矩阵的计算机代数系统

我熟悉 sympy、matlab 符号包、reduce,并尝试过其他一些计算机代数系统。然而,据我所知,他们似乎都不能在可变大小的矩阵上做代数——它们只能处理固定大小的矩阵。

有没有可以为可变大小的矩阵做代数?我知道会有相当多的总案例,但我觉得有很多是可行的,仅仅是因为可以轻松地使用 R^nxn 中的矩阵进行许多简化/代数。

可以在其中许多中仅使用非交际代数元素,因此涵盖了矩阵的加法和 Hadamard 乘积,这很有用并且是一个开始。然而,它涵盖了对矩阵的实际操作的一小部分(例如,转置、求逆、特征值分解、在 R^nxm 中使用矩阵等)。有没有更通用的软件?

0 投票
1 回答
105 浏览

matlab - Matlab符号表达式创建溢出

我正在使用 Matlab 符号工具箱来创建一个高度复杂的函数。然后将此函数写入 .m 文件(使用matlabFunction)。出于某种原因,在简化函数后,函数以看起来像的形式返回fun = (A*1.329834759483753e310 + B*5.873798798237459e305 + ...)*7.577619127319697e-320,其中AB是我的变量的函数(太复杂,无法在此重复)。也就是说,括号内的所有项的顺序大约为 1e280 到 1e300。当指数大于大约 1.79e308 时就会出现问题,因为这会导致双精度溢出(调用生成的 .m 函数时)。函数的实际大小远不会造成溢出,但这种表达函数的方式确实如此。如果简化函数将 1e-320 乘以括号,这将得到解决,但由于某种原因它没有。

知道为什么符号工具箱选择以这种方式表示我的功能吗?

我发现我可以调用 callexpand(fun)将 1e-320 乘以括号。生成的表达式然后具有预期大小的指数(在 -1 到 -30 范围内),但我更希望首先知道表达式看起来像这样的原因,以及是否有比调用更好的选项expand来避免问题。此外,调用expand似乎创建了一个比我拥有的更复杂的函数,我试图在这里获得一个计算速度非常快的函数。

0 投票
0 回答
126 浏览

symbolic-computation - 如何在 Magma 中构造多项式环的子环

这个问题是关于计算机代数系统 Magma不是线性代数库),并且是从 scicomp.SE 交叉发布的

如果这是题外话,请原谅;我是 StackExchange 网络的普通用户,但这是我在 StackOverflow 上的第一篇文章。我正在为这类问题寻找合适的家。(原则上在我看来它是scicomp.SE,但它在 4 天内没有得到答案,所以我想知道 StackOverflow 是否产生了不同的结果。)

假设有人在 Magma 的环 R 上构造了多项式代数 A。如何构造由 A 的给定元素列表生成的 A 的子 R 代数?

在我看来,这似乎是一个非常基本的操作,所以我不敢相信没有办法做到这一点,但到目前为止我还没有在手册中找到它。(我看到了构造矩阵代数和自同态环的子代数的功能,但不是多项式环。)

0 投票
1 回答
634 浏览

debugging - 符号执行工具KLEE可以并行运行吗?

根据他们的论文 (OSDI'08),符号执行工具 KLEE 需要大约 1 小时来为单个 COREUTIL 应用程序生成测试用例。我想知道它是否可以并行运行?(例如,多核甚至 GPU 上的多线程)?

0 投票
1 回答
409 浏览

python - SymPy 符号积分返回错误

我正在尝试使用 Sympy 的符号积分来找到定积分的封闭形式。特别是,我跑

不幸的是,在 Python 2.7.11 中,我的 Jupyter 运行、运行、运行。也许它有助于加强假设

但我不知道该怎么做。

备注 我还使用了 Mathematica 的符号积分功能来做到这一点,它提出了一个高斯超几何函数。不幸的是,评估该函数会返回一个复数,这在评估真正的积分时并没有真正意义。因此,我希望 SymPy 可能会有所帮助。

0 投票
2 回答
504 浏览

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.

0 投票
2 回答
520 浏览

matlab - 用微分算子乘以符号函数来创建导数

我有一个矩阵,A

我还有一个运算符矩阵D

我希望能够相乘D*A并得到一个如下所示的矩阵:

显然我不能用 diff() 函数做到这一点,因为该函数不是可以乘以函数的运算符。那么如何使用符号运算符来解决这个问题呢?实际上,我的矩阵很大,因此在没有运算符乘法的情况下执行是不可取的。

另外,假设我找到了一种生成上述B矩阵的方法,如下所示:

B例如,我如何评估x=2, y=1;

我的尝试:

但这显然是sym.subs函数的不正确参数

我也试过:

这也不起作用,所以我的另一个问题是如何在矩阵中替换x和替换。yB

0 投票
1 回答
76 浏览

graph - 从图形中切分以找到将系统分解为不相交集的排列?

假设一个无向系统,您想要在其排列中找出元素的图形,这些元素使系统不相交,使得每个集合都是最小的。该图有两个特殊节点:不能在元素中的 sink 和 source。

给定一些图 G=(V,E),你如何在计算上找到最小割?