问题标签 [computer-algebra-systems]
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.
matlab - Pretty MuPad:在一行中输出赋值、表达式和结果 - 如何创建该函数?
我试图让 Matlabs 的 MuPad 像 MathCad 一样漂亮和方便。
假设两个变量赋值:
我想要一个漂亮的(用Tex排版)输出,比如
我已经设法通过使用来做到这一点output::mathText(...)
:
看起来如所愿:
但这不是很方便且不可读。所以我试图把它包装成一个宏或一个函数:
我怎样才能做到这一点?
我尝试了什么:
我写了一个程序如下:
但我只是得到
我错过了什么?
关于horchler 的回答:他的第一个解决方案在某种程度上不起作用,而第二个解决方案则:
程序:
称呼:
输出:
python - 在更大的分数中收集分数表达式(sympy)
我正在使用 IPython(Anaconda 发行版)和 sympy 符号数学库。
我有以下表达式:
我想重新安排它以获取(h/l)
它(t/l)
:
这很容易手工完成;只需将分数的两边除以l
并重新排列即可。
到目前为止,我对 sympy 的内置函数并不满意。
我试过使用expand
后跟collect(expr,h/l)
,但它不会改变表达式。我怀疑这行不通,因为一开始就没有要h/l
收集的条款。
我怎样才能得到同情呢?
第一个表达式的 Python 代码可节省您的时间:
t*(h + l)/(l*(h + l*sin(theta))*cos(theta))
symbolic-math - 如何用枫分解这个三阶多项式
枫有一些行为,我不明白。假设我想分解多项式1-z-z^3
,所以我使用计算它的根
这给出了(只是为了完整性......)
现在,如果我尝试分解第一个根,
我明白了
这是什么意思?这是一个错误,还是表达式z0[1]
太复杂了?如果第二个是正确的,那么分解阶多项式(例如 3 到 4)的更好做法是什么?
geometry - Sympy几何代数:在协变和逆变形式之间切换
这个问题是关于使 sympy 的几何代数模块同时使用协变和逆变向量形式以使输出更加紧凑。到目前为止,我可以使用其中一种,但不能同时使用。可能是我对数学不够了解,答案毕竟在文档中。
一些背景:
我有一个方程组,我想在一个复杂的非正交坐标系中求解。这个坐标系的度量张量元素是已知的,但是它们的表达式很笨拙,所以我想将它们隐藏起来,并简单地使用 g ij、其行列式 J 的平方根和 g ij。以它们的逆变形式或协变形式描述向量V也很有用,
V = ∑V i e i = ∑V i e i ,
并在必要时在它们之间进行转换。
这里 e i = ∇u(i) 和 u(i) 是第 i个坐标,并且 e i = ∂R/∂u(i)。此符号与此宝贵文本中使用的符号相同,我不能再推荐更多了。具体来说,第 2 章将有助于解决这个问题。
我要解决的方程组中有许多卷曲和发散运算。前者最简单地用 a 向量的逆变形式表示,而后者用协变形式表示:
∇。V = 1/J ∑∂ u(i) JV i ,
∇ x V = ε ijk /J (∂ u(i) V i )e i ,
其中 ε ijk是 Levi-Cevitta 符号。如果我可以使用 sympy 的几何代数模块打印上述两个方程,我会考虑回答这个问题。
如何配置 sympy 的几何代数模块以这种方式表达计算,即使用协变和逆变向量表达式来隐藏坐标系的复杂性?
也许有一个替代工具箱可以做到这一点?
python - How to solve absolute value equations using sympy?
Given the equation |x - 5| + |y| = 5, how can one solve it using SymPy?
If I'm using a combination of solve() and Abs() it gives me this error
solving Abs(x - 5) when the argument is not real or imaginary
But, at the beginning of my session I wrote down that
What am I doing wrong?
Thanks!
math - 来自论文 M.Nießner 的系数 硬件镶嵌的有效后补丁剔除
http://research.microsoft.com/en-us/um/people/cloop/vmvbpc.pdf 在本文中,作者展示了在剪辑空间中背面剔除贝塞尔补丁的新方法。在第 5 节中,他们使用符号代数软件展开方程,他们发现矩阵 T(u,v) 的所有系数都是 cross4 的 wigth 和。他们生成了表格:
所以我正在尝试做同样的事情,但我从未使用过符号代数软件。我在 4 小时后所做的就是这个(Wolfram Mathematica):
擅长符号代数的人可以帮我生成这张表吗?
matlab - 支持可变大小矩阵的计算机代数系统
我熟悉 sympy、matlab 符号包、reduce,并尝试过其他一些计算机代数系统。然而,据我所知,他们似乎都不能在可变大小的矩阵上做代数——它们只能处理固定大小的矩阵。
有没有可以为可变大小的矩阵做代数?我知道会有相当多的总案例,但我觉得有很多是可行的,仅仅是因为可以轻松地使用 R^nxn 中的矩阵进行许多简化/代数。
可以在其中许多中仅使用非交际代数元素,因此涵盖了矩阵的加法和 Hadamard 乘积,这很有用并且是一个开始。然而,它涵盖了对矩阵的实际操作的一小部分(例如,转置、求逆、特征值分解、在 R^nxm 中使用矩阵等)。有没有更通用的软件?
symbolic-computation - 如何在 Magma 中构造多项式环的子环
这个问题是关于计算机代数系统 Magma(不是线性代数库),并且是从 scicomp.SE 交叉发布的。
如果这是题外话,请原谅;我是 StackExchange 网络的普通用户,但这是我在 StackOverflow 上的第一篇文章。我正在为这类问题寻找合适的家。(原则上在我看来它是scicomp.SE,但它在 4 天内没有得到答案,所以我想知道 StackOverflow 是否产生了不同的结果。)
假设有人在 Magma 的环 R 上构造了多项式代数 A。如何构造由 A 的给定元素列表生成的 A 的子 R 代数?
在我看来,这似乎是一个非常基本的操作,所以我不敢相信没有办法做到这一点,但到目前为止我还没有在手册中找到它。(我看到了构造矩阵代数和自同态环的子代数的功能,但不是多项式环。)
parsing - 我正在编写一个 CAS 程序,并且我一直将表达式存储为树结构,但是我遇到了链接比较运算符的问题
我正在为一个项目编写一个小型 CAS 框架,它将数学表达式存储为树,每个节点都是一个运算符,它的分支是参数。它不是二叉树,因为有些节点(例如否定或三角函数)只有一个参数,而其他节点(例如乘法或加法)几乎可以有任意数量的参数。
我的问题是我试图包含可链接的比较(==、<、>、<=、>=、!=)。只要链中的每个运算符都相同(0 < x < 5),这对我的系统来说是微不足道的,但对于某些应用程序,它们可能不是(0 < x <= 5)。到目前为止,我在使用我编写的框架处理这些案例时遇到了麻烦,我想知道是否有任何资源可以说明如何/应该解决这个问题。
之所以需要这些运算符,仅仅是为了允许分段表达式。声明我也实现了布尔运算符(和、或、异或、非)可能是相关的。我认为这可能很重要,因为 0 < x <= 5 与声明 0 < x 和 x <= 5 相同,但如果可能的话,我宁愿不要求这样做。感谢您提供的任何意见。
macos - 无法在正在运行的 emacs 上打开 Singular
我是单数的新手。我刚刚下载了 Singular4-0-2_64.dmg,安装了图像,右键单击,显示包内容,然后将内容文件夹移动到 Applications 目录。双击 Contents/MacOS/Singular(或 Esingular) 我在终端中运行 Singular(或通过终端中的 emacs)。但是当我在运行的 emacs 中尝试 Mx 单数时,它会说“无法打开加载文件:没有这样的文件或目录,单数”。
然后我将 .emacs-general 和 .emacs-singular 复制到主目录。将以下行添加到 .emacs
(setq load-path (cons "" load-path)) (autoload 'singular "singular" "使用默认值启动 Singular。" t) (autoload 'singular-other "singular" "请求参数并启动 Singular。" t )
将singular-emacs-home-directory 更改为/Applications/Singular.app/Contents/share/singular/emacs/ 它仍然不起作用。此外,当我用 .emacs-singular 替换 .emacs 时,替换上面的目录,它会给出错误:警告(初始化):加载 `/Users/Me/.emacs' 时发生错误:
符号作为变量的值是无效的:/Applications/Singular.app/Contents/share/singular/emacs
我没有找到正确的奇异 emacs-home-directroty 还是有任何其他问题?
我感谢您的帮助。
另外我必须提到,我是 Macaulay2 的 emacs 用户。为此,我更改了 .emacs 和 .emacs-Macaulay2 以教 emacs 在哪里寻找 M2。Singular 有什么类似的事情要做吗?我应该在某处有一个文件 .emacs-singular 吗?
谢谢你的帮助。