Singular是一个针对多项式系统的计算机代数系统, 特别强调交换代数, 非交换代数, 代数几何和奇异值理论. 在windows系统上需要借助于cygwin运行. 软件运行速度不错, 使用起来也很方便. 这里简要给出如何在Scite中编辑并运行Singular程序.
(2) 打开SciTE, 模仿着SciTE支持的其它文件格式, 制作一个支持Singular的属性文件(网上有很多类似的说明)
(3) 为了能够在SciTE下按F5执行Singular程序自动退出, 关键是自动退出Singular环境, 否则要手动加上 "exit;", 为此编写如下C++代码
#include<fstream>
#include<cstring>
#include<cstdlib>
using namespace std;
int main(int argc,char** args)
{
ofstream file("exitSingular",ios::out);
file<<"exit;"<<endl;
string cmd(args[1],0,strlen(args[1]));
cmd="singular.bat "+cmd+" exitSingular";
system(cmd.c_str());
return 0;
}
把编译的可行性文件记为sing.exe
(4) 制止批处理文件singular.bat, 内容如下:
bash singular "%1" "%2"
(5) 把上面两个文件sing.exe和singular.bat拷贝至系统路径所在的某个目录下,比如D:\cygwin\bin
(6) 在SciTE的属性文件中有一行内容如下:
command.go.$(file.patterns.sing)=sing.exe $(FileName).$(FileExt)