首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何告诉Maxima使用更多的内存?

我如何告诉Maxima使用更多的内存?
EN

Stack Overflow用户
提问于 2019-12-12 10:59:26
回答 1查看 209关注 0票数 1

我正在使用Maxima进行一些符号计算,但我遇到了错误Heap exausted,我认为这意味着Maxima占用了太多内存(超过1GB)。我如何告诉Maxima使用更多的内存?

我在32 Gb内存的机器上使用了最新的CentOS。

编辑这里是我正在使用的代码

代码语言:javascript
运行
复制
load("ctensor");
ct_coordsys(kerr_newman);
rho(r,theta):=r^2+a^2*cos(theta);
delta(r):=r^2-2*m*r+a^2;
lg:matrix([-(1-2*m*r/rho(r,theta)),0,0,-2*a^2*m*r*sin(theta)^2/rho(r,theta)],[0,rho(r,theta)/delta(r),0,0],[0,0,rho(r,theta),0],[-2*a^2*m*r*sin(theta)^2/rho(r,theta),0,0,sin(theta)^2*(r^2+a^2+2*a^2*m*r*sin(theta)^2/rho(r,theta))]);
lriemann(true);
uriemann(true);
rinvariant();

代码在计算uriemann(true);时停止。

EN

回答 1

Stack Overflow用户

发布于 2019-12-12 20:35:54

“累加”通常意味着某种操作(例如,分解、简化有理表达式或包含自由基的表达式等)导致越来越大的表达式的产生。增加内存分配很少能解决这样的问题--通常情况是,它只运行更长时间,然后最终又耗尽内存。

几件事要试一试。(1) Maxima使用什么Lisp实现编译?您可以看到,通过build_info(); GCL (GCL)使用内存的效率低于其他Lisp实现,因此您可以尝试使用SBCL构建Maxima。在典型的Linux发行版上重建Maxima非常简单。如果你想走那条路,我会给出更多的细节。

(2)你到底想做什么?你能把你给出的导致记忆错误的输入发出来吗?也许我们可以重新组织事物,或者尝试一些不同的操作,以防止巨大的表达式在一开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59303081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档