Questions in category: GAP (GAP)
软件 >> GAP
<[1] [2] [3] >

21. GAP 的行内编辑(Line Editing)

Posted by haifeng on 2011-08-06 22:31:02 last update 2011-08-06 23:33:52 | Answers (0) | 收藏


通过 gap 的选项 -f 和 -n 来激活与禁止行内编辑.


ctrl+A将光标移到行首
esc+B将光标移到前一个单词的开始处(即该单词的第一个字母处)
ctrl+B光标后退一个字符
ctrl+F光标前进一个字符
esc+F将光标移至后一个单词的末尾(紧接该单词最后一个字母后面)
ctrl+E光标移至行末

ctrl+H删除光标左边的一个字符, 等同于 Backspace
ctrl+D删除光标所在位置的字符
ctrl+K删除光标所在位置及直到行末的所有字符
esc+D从光标处往后删除直到下一个单词的所有字符
esc+del
ctrl+X删除整行
ctrl+Y插入(yank)刚删除的字符

ctrl+T删除光标左边的一个字符, 等同于 Backspace
esc+U将下个单词全部大写
esc+L将下个单词全部小写
esc+C将下个单词的第一个字符大写, 该单词的其余字符均小写

22. 从某个文件读入 GAP 代码

Posted by haifeng on 2011-08-06 16:00:57 last update 2011-08-06 16:05:40 | Answers (0) | 收藏


当 GAP 代码很长时, 保存在文件中是最合适的. 读取时使用 Read 函数:

gap>Read(\"../../GAPProgs/Example.g\");

可以是相对路径或绝对路径.

23. 如何记录 GAP 运行的日志

Posted by haifeng on 2011-08-06 15:55:09 last update 2011-08-06 15:56:55 | Answers (0) | 收藏


gap>LogTo(\"gap_logfile\");

这样日志文件就保存在文件 ~/gap_logfile 中了.

24. GAP 中的注释

Posted by haifeng on 2011-08-06 15:48:48 last update 2011-08-06 15:48:48 | Answers (0) | 收藏


GAP 使用 # 作为注释

25. GAP 碰到错误而中断运行后的处理

Posted by haifeng on 2011-08-06 15:34:54 last update 2011-08-06 15:45:23 | Answers (0) | 收藏


当 GAP 运行碰到错误或者是由用户自行中断(通常按 ctrl+C), 则 GAP 进入一个 break 循环, 这在大多方面类似于 read-eval-print 循环, 此时提示符变为 brk> 一般会提示你出错的原因及解决的办法. 注意进入的 brk> 是更低一级的循环.

解决的办法:

  • quit;
  • return [obj];
  • onBreak
  • onBreakMessage
  • Where([nr])

26. GAP 的输入规则

Posted by haifeng on 2011-07-01 16:32:39 last update 2011-08-06 15:06:26 | Answers (3) | 收藏


  • 提示符gap>下输入的语句指以分号结束的字符串。
  • 如果使计算结果不显示,只需在语句末连续加两个分号。
  • GAP对于输入的语句首先检查其语法正确性,然后再进行计算、输出。如果在一行中输入了两个语句,则第二个语句的语法检查只能等到第一句计算结束之后才能执行。
  • GAP对输入语句的语法检查通常会明确指出为何出错,在何处出错。
  • 在多语句执行后,可以用last,last2,last3分别指代倒数第一、二、三个语句的值。但是如last4、last5等就不支持了。例如r
    gap> 1;2;3;4;5;
    1
    2
    3
    4
    5
    gap> last+last2*2+last3*3+last4*4+last5*5;
    Variable: \'last4\' must have a value
    
    gap> last+last2*2+last3*3;                
    22
    gap> 
    

GAP 的其他特殊输入规则参见 answers.

27. GAP 启动及最基本的一些命令

Posted by haifeng on 2011-07-01 16:07:50 last update 2011-08-16 08:38:05 | Answers (0) | 收藏


在终端输入 gap 启动GAP后, 会出现 gap> 提示您GAP正等待您的输入

    
            #########           ######         ###########           ###  
         #############          ######         ############         ####  
        ##############         ########        #############       #####  
       ###############         ########        #####   ######      #####  
      ######         #         #########       #####    #####     ######  
     ######                   ##########       #####    #####    #######  
     #####                    ##### ####       #####   ######   ########  
     ####                    #####  #####      #############   ###  ####  
     #####     #######       ####    ####      ###########    ####  ####  
     #####     #######      #####    #####     ######        ####   ####  
     #####     #######      #####    #####     #####         #############
      #####      #####     ################    #####         #############
      ######     #####     ################    #####         #############
      ################    ##################   #####                ####  
       ###############    #####        #####   #####                ####  
         #############    #####        #####   #####                ####  
          #########      #####          #####  #####                ####  
                                                                          
     Information at:  http://www.gap-system.org
     Try \'?help\' for help. See also  \'?copyright\' and  \'?authors\'
    
   Loading the library. Please be patient, this may take a while.
GAP4, Version: 4.4.12 of 17-Dec-2008, i486-pc-linux-gnu-i486-linux-gnu-gcc
Components:  small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, 
             small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, 
             id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, 
             trans 1.0, prim 2.1  loaded.
Packages:    CTblLib 1.1.3, TomLib 1.1.4  loaded.
gap>

此时GAP正在执行所谓的 read-eval-print 循环, 也即对于你的输入,GAP首先读入,然后计算(evaluates), 最后输出. (这里的 print 指在终端输出, 不同于GAP的Print函数.)

当输入结束, 记住要加分号\';\', 然后按回车键;如果需要输入的字符比较多, 也可以分行输入, 只需在需要分行的地方直接回车即可, GAP 会显示半提示符>提醒你它正在接受余下的输入,最后别忘了;与回车.

如果不想让GAP4的横幅及一些 Packages 的信息在启动时出现, 则可以使用 gap -b

28. GAP简介

Posted by haifeng on 2011-06-14 19:09:46 last update 2012-03-03 11:26:19 | Answers (0) | 收藏


GAP 代表了 Groups, Algorithms and Programming. GAP 这个命名的选取反映了该系统的目标, 其范围不单限于群, 对于其他代数结构如半群、代数等也涉及. http://www.gap-system.org/

GAP 是计算离散代数领域内的一个优秀系统, 主要专注于计算群论的计算. GAP最初的研发是1986年在德国亚琛工业大学数学系(Lehrstuhl D für Mathematik, RWTH Aachen)开始的. GAP 提供了一个编程语言, 也称为 GAP. 还提供了上千个由 GAP 语言写成的用于算法补充方面的函数库, 以及已经计算好的庞大的代数对象数据库. GAP 用于群及其表示、环、向量空间、代数、组合结构等的研究, 很多教师也用它来进行教学. GAP 是一个开放的自由软件, 按照 GPL 协议发布, 任何人都可以根据自己的需要对 GAP 进行修改或补充, 然后重新发布. 当然发布时必须说明修改或补充了什么东西. GAP 的很多宏包即是由广大使用者开发的. GAP 最新的版本是 4.4.12, 可以安装在 Linux, Windows, Mac 等系统上. GAP 在终端下的界面是文本式的, 对于输入的命令交互式执行. 但也可以加载一个用 GAP 语言写的程序文件, 然后执行. 终端界面的 GAP 命令操作需要使用者有一定的经验. 特别是 GAP 的有些宏包要发挥它的特性, 目前必须运行在 Linux 系统下, 其安装和使用都是需要一定知识的. 2004-2008, Yevgen Munty 开发了GAP的图形用户界面程序 GGAP.

<[1] [2] [3] >