Sage作为一个计算机代数系统包含的东西实在是太多了,有时人们可能不想使用其中的全部功能,比如当你只想做一些普通的符号代数运算,那些专门针对群论、代数几何的组件就没有必要了,只要使用Maxima组件就足可应付。在Sage中如何只使用Maxima的功能呢?其实有很多种不同的方法,下面就一一列举出来。
第一种,也是最常见的一种使用方法就是在Sage Notebook里面调用Maxima。这种方法又分为两种不同的方式:在普通的Sage Notebook里面将Maxima命令用一个maxima函数包裹起来,如下图:
Sage中Maxima组件的几种使用方法 - instanton - instanton 的博客
或者先将Sage Notebook设置成Maxima模式,就像下面这张截图这样:
Sage中Maxima组件的几种使用方法 - instanton - instanton 的博客
注意第二张图中上面的选单按钮上显示的是maxima,下面输入的命令也是纯粹的maxima命令。不过,这种方式下输出的结果好像不能激活mathjax功能,即使2勾选了上面的Typeset也不起作用,不知道这算不算一个bug。
第二种使用Sage中的Maxima组件的办法是在终端中激活Maxima模式。具体地说,就是在一个终端中输入命令(假定sage在系统搜索的路径中)
sage -maxima
这样就启动了一个纯粹的Maxima进程,在其中Sage的其他命令是不能使用的。这种方式就像是开启了一个单独的Maxima软件一样。由于Sage中的Maxima组件甚至比Maxima官方网站上最新的编译版本还新(对Mac系统,目前官方的预编译版本是5.28,Sage中的版本是5.29.1),所以我已经卸载了原来作为独立的软件安装的Maxima,转而使用这种命令行的模式来使用独立的Maxima。为了与以往使用Maxima的习惯一致,还可以写一个简单的脚本文件保存,文件名就叫maxima,内容是就两行:
#!/bin/sh
/Applications/Sage.app/Contents/Resources/sage/sage -maxima $@
将这个文件存盘,设置成可执行的,再移动到某个系统搜索路径中去。我是这么做的:
chmod agu+x maxima
sudo mv maxima /usr/local/bin
这样,以后就可以直接敲maxima来启动Maxima进程了。
在第二种使用方法的基础上,还可以适当地修改GNU Emacs的配置,使得Emacs的imaxima模式重新生效。我的.emacs文件中原来已经配置好了imaxima模式,因为卸载了独立的Maxima软件,这个配置已经失效了。不过镜简单修改,imaxima模式重新又可以用了。修改后的imaxima配置是这样的:
;; imaxima mode
(push "~/.emacs.d/imaxima" load-path)
;(add-to-list 'load-path (expand-file-name "~/.emacs.d/imaxima"))
(push "/Applications/Sage.app/Contents/Resources/sage" exec-path) ;;sage is installed here
(push "/usr/local/bin" exec-path) ;; because we put the maxima script in /usr/local/bin
(push "/Applications/Gnuplot.app/Contents/Resources/bin" exec-path)
(autoload 'imaxima "imaxima" "Image support for maxima" t)
(autoload 'maxima-mode "maxima" "Maxima mode" t)
(autoload 'maxima "maxima" "Maxima interaction" t)
(autoload 'imath-mode "imath" "Imath mode for math formula input" t)
; (setq imaxima-use-maxima-mode-flag t)
光有这些配置还不够,因为新的Maxima版本修改了与Emacs的界面。我们需要将Sage中带来的Maxima版本里面的一些文件拷贝到Emacs的配置文件所在目录。具体地说,就是将/Applications/Sage.app/Contents/Resources/sage/local/share/maxima/5.29.1/emacs这个目录里面所有的文件拷贝到~/.emacs.d/imaxima中去。如果目标目录原来有同名的文件,直接覆盖掉,因为那些是老版本的Maxima带来的配置文件。经过这些步骤,在GNU Emacs中就可以直接启动imaxima模式了,使用效果与单独安装的Maxima在Emacs中的表现完全一致。
如果你原来安装了GNU TeXmacs,你会发现当你写完脚本maxima并移动到/usr/local/bin目录中以后,在GNU TeXmacs中也已经可以直接发现和调用Maxima了。
从上述配置过程可见,Sage中的Maxima其实就是一个功能完整的Maxima系统,只不过在Sage默认的使用方式中是用python语言把它包裹起来了。顺便说一句,Sage中若干其他组件也可以用类似的方式来单独使用,例如,如果你想单独使用Sage里面的R系统,就可以直接用下面的命令:
sage -r
或者你也可以写一个类似于上面的Maxima脚本的R脚本,然后可以同样地在Emacs或者TeXmacs里面调用R。
同问。。。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....