交换代数计算实验室

SIGSAM Bull. Pub Date : 2004-03-01 DOI:10.1145/980175.980182
J. Abbott
{"title":"交换代数计算实验室","authors":"J. Abbott","doi":"10.1145/980175.980182","DOIUrl":null,"url":null,"abstract":"The CoCoA program together with Singular and Macaulay 2 form an elite group of highly specialized systems having as their main forte the capability to calculate Gröbner bases. Although a number of general purpose symbolic computation systems (e.g. REDUCE and Maple) do offer the possibility to compute Gröbner bases, their non-specialist nature implies a number of severe compromises which make them far less suitable to act as a laboratory---most notably: relatively poor execution speed and limited control over the algorithm parameters. In contrast, CoCoA does not offer facilities for calculus, floating point computation, or any other area not closely related to commutative polynomial algebra.Development in CoCoA is often spurred on by symbiosis with those using it, not only in algebraic geometry research but also in other fields such as mathematical analysis, and statistics. In fact, CoCoA has become widely used in many countries both for research and teaching, and its didactic role means that ease of use is a high priority. Indeed, the mathematically natural way of instructing CoCoA to do computations enhances the worth of its technical skills.CoCoA 5 represents an important new phase in the project: the software is being completely rewritten in C++. CoCoA 5 will be available as an interactive system, as a C++ library, and as a server (using an OpenMath-like interface). We have already achieved significant improvements in flexibility and speed, and note that ease of use remains a high priority while also offering the skilled practitioner a high degree of control. Ultimately CoCoA 5 will extend the range of specialization of the current public release.A big challenge in the design of CoCoA 5 was to reconcile two traditionally conflicting goals: flexibility and efficiency. The inheritance mechanism of C++ plays a crucial role here. Our use of inheritance is exemplified by the way in which rings and their elements are implemented, inspired by the tenet to allow arbitrary (commutative) rings wherever possible. The run-time penalty for this additional abstraction is virtually negligible.In a few cases, to meet the run-time performance targets, the CoCoA library foundations do use \"quick and dirty hackery\". Here credit is due to the design of C++ which allows such desperate code to be written where necessary, and which also permits it to fit seamlessly into a well-structured program.Undoubtedly the principal feature of CoCoA 5 is its code for computing Gröbner bases. In the case of Buchberger's algorithm there is an unusually wide gulf between the neat elegance of the theory and the complex engineering within a refined implementation. In CoCoA 5 a carefully structured design, which comprises clearly separated components with well defined roles, will facilitate the inclusion of future improvements in an implementation already including many modern ideas: e.g. binary divisibility mask, geobuckets, fraction free representation, sophisticated reducer selection strategy, automatic homogenization, and additional reducers.So far most effort has been invested in the new library which is now in alpha testing. To help development, a rudimentary prototype server has been built which communicates with CoCoA 4.3 (pre-release); this server will evolve in parallel with the library. The interactive system is planned as a separate user interface issuing requests to the CoCoA server.","PeriodicalId":314801,"journal":{"name":"SIGSAM Bull.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"CoCoA: a laboratory for computations in commutative algebra\",\"authors\":\"J. Abbott\",\"doi\":\"10.1145/980175.980182\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The CoCoA program together with Singular and Macaulay 2 form an elite group of highly specialized systems having as their main forte the capability to calculate Gröbner bases. Although a number of general purpose symbolic computation systems (e.g. REDUCE and Maple) do offer the possibility to compute Gröbner bases, their non-specialist nature implies a number of severe compromises which make them far less suitable to act as a laboratory---most notably: relatively poor execution speed and limited control over the algorithm parameters. In contrast, CoCoA does not offer facilities for calculus, floating point computation, or any other area not closely related to commutative polynomial algebra.Development in CoCoA is often spurred on by symbiosis with those using it, not only in algebraic geometry research but also in other fields such as mathematical analysis, and statistics. In fact, CoCoA has become widely used in many countries both for research and teaching, and its didactic role means that ease of use is a high priority. Indeed, the mathematically natural way of instructing CoCoA to do computations enhances the worth of its technical skills.CoCoA 5 represents an important new phase in the project: the software is being completely rewritten in C++. CoCoA 5 will be available as an interactive system, as a C++ library, and as a server (using an OpenMath-like interface). We have already achieved significant improvements in flexibility and speed, and note that ease of use remains a high priority while also offering the skilled practitioner a high degree of control. Ultimately CoCoA 5 will extend the range of specialization of the current public release.A big challenge in the design of CoCoA 5 was to reconcile two traditionally conflicting goals: flexibility and efficiency. The inheritance mechanism of C++ plays a crucial role here. Our use of inheritance is exemplified by the way in which rings and their elements are implemented, inspired by the tenet to allow arbitrary (commutative) rings wherever possible. The run-time penalty for this additional abstraction is virtually negligible.In a few cases, to meet the run-time performance targets, the CoCoA library foundations do use \\\"quick and dirty hackery\\\". Here credit is due to the design of C++ which allows such desperate code to be written where necessary, and which also permits it to fit seamlessly into a well-structured program.Undoubtedly the principal feature of CoCoA 5 is its code for computing Gröbner bases. In the case of Buchberger's algorithm there is an unusually wide gulf between the neat elegance of the theory and the complex engineering within a refined implementation. In CoCoA 5 a carefully structured design, which comprises clearly separated components with well defined roles, will facilitate the inclusion of future improvements in an implementation already including many modern ideas: e.g. binary divisibility mask, geobuckets, fraction free representation, sophisticated reducer selection strategy, automatic homogenization, and additional reducers.So far most effort has been invested in the new library which is now in alpha testing. To help development, a rudimentary prototype server has been built which communicates with CoCoA 4.3 (pre-release); this server will evolve in parallel with the library. The interactive system is planned as a separate user interface issuing requests to the CoCoA server.\",\"PeriodicalId\":314801,\"journal\":{\"name\":\"SIGSAM Bull.\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SIGSAM Bull.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/980175.980182\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGSAM Bull.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/980175.980182","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

CoCoA程序与Singular和Macaulay 2组成了一个高度专业化系统的精英团体,它们的主要优势是计算Gröbner碱基的能力。尽管许多通用符号计算系统(例如REDUCE和Maple)确实提供了计算Gröbner基的可能性,但它们的非专业性质意味着许多严重的妥协,这使得它们远不适合作为实验室——最明显的是:相对较差的执行速度和对算法参数的有限控制。相反,CoCoA不提供微积分、浮点计算或与交换多项式代数不密切相关的任何其他领域的工具。CoCoA的发展通常是由与使用它的人的共生关系推动的,不仅在代数几何研究中,而且在数学分析和统计等其他领域。事实上,CoCoA已经在许多国家广泛用于研究和教学,它的教学作用意味着易用性是一个高度优先考虑的问题。实际上,指导CoCoA进行计算的数学上的自然方式提高了它的技术技能的价值。CoCoA 5代表了项目中一个重要的新阶段:该软件正在用c++完全重写。CoCoA 5将作为交互系统、c++库和服务器(使用类似openmath的接口)提供。我们已经在灵活性和速度方面取得了显著的改进,并且注意易用性仍然是一个高度优先考虑的问题,同时也为熟练的从业者提供了高度的控制。最终,CoCoA 5将扩展当前公开发行版的专门化范围。CoCoA 5设计中的一大挑战是调和两个传统上相互冲突的目标:灵活性和效率。c++的继承机制在这里起着至关重要的作用。环及其元素的实现方式体现了我们对继承的使用,其灵感来自于尽可能允许任意(交换)环的原则。这种额外抽象的运行时代价几乎可以忽略不计。在少数情况下,为了满足运行时性能目标,CoCoA库基础确实使用了“快速而肮脏的hack”。这要归功于c++的设计,它允许在必要的地方编写这种绝望的代码,并且还允许它无缝地适应结构良好的程序。毫无疑问,CoCoA 5的主要特性是它用于计算Gröbner基的代码。在Buchberger算法的例子中,在理论的简洁优雅和精细实现中的复杂工程之间存在着异常巨大的鸿沟。在CoCoA 5中,一个结构严谨的设计,包含了具有明确定义的角色的清晰分离的组件,将有助于在一个已经包含了许多现代思想的实现中包含未来的改进:例如,二进制可分性掩模、geobuckets、分数无表示、复杂的减速机选择策略、自动均质化和额外的减速机。到目前为止,大部分的努力都投入到了新库中,目前正在进行alpha测试。为了帮助开发,已经构建了一个基本的原型服务器,它可以与CoCoA 4.3(预发布)通信;该服务器将与库并行发展。交互系统被规划为一个单独的用户界面,向CoCoA服务器发出请求。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
CoCoA: a laboratory for computations in commutative algebra
The CoCoA program together with Singular and Macaulay 2 form an elite group of highly specialized systems having as their main forte the capability to calculate Gröbner bases. Although a number of general purpose symbolic computation systems (e.g. REDUCE and Maple) do offer the possibility to compute Gröbner bases, their non-specialist nature implies a number of severe compromises which make them far less suitable to act as a laboratory---most notably: relatively poor execution speed and limited control over the algorithm parameters. In contrast, CoCoA does not offer facilities for calculus, floating point computation, or any other area not closely related to commutative polynomial algebra.Development in CoCoA is often spurred on by symbiosis with those using it, not only in algebraic geometry research but also in other fields such as mathematical analysis, and statistics. In fact, CoCoA has become widely used in many countries both for research and teaching, and its didactic role means that ease of use is a high priority. Indeed, the mathematically natural way of instructing CoCoA to do computations enhances the worth of its technical skills.CoCoA 5 represents an important new phase in the project: the software is being completely rewritten in C++. CoCoA 5 will be available as an interactive system, as a C++ library, and as a server (using an OpenMath-like interface). We have already achieved significant improvements in flexibility and speed, and note that ease of use remains a high priority while also offering the skilled practitioner a high degree of control. Ultimately CoCoA 5 will extend the range of specialization of the current public release.A big challenge in the design of CoCoA 5 was to reconcile two traditionally conflicting goals: flexibility and efficiency. The inheritance mechanism of C++ plays a crucial role here. Our use of inheritance is exemplified by the way in which rings and their elements are implemented, inspired by the tenet to allow arbitrary (commutative) rings wherever possible. The run-time penalty for this additional abstraction is virtually negligible.In a few cases, to meet the run-time performance targets, the CoCoA library foundations do use "quick and dirty hackery". Here credit is due to the design of C++ which allows such desperate code to be written where necessary, and which also permits it to fit seamlessly into a well-structured program.Undoubtedly the principal feature of CoCoA 5 is its code for computing Gröbner bases. In the case of Buchberger's algorithm there is an unusually wide gulf between the neat elegance of the theory and the complex engineering within a refined implementation. In CoCoA 5 a carefully structured design, which comprises clearly separated components with well defined roles, will facilitate the inclusion of future improvements in an implementation already including many modern ideas: e.g. binary divisibility mask, geobuckets, fraction free representation, sophisticated reducer selection strategy, automatic homogenization, and additional reducers.So far most effort has been invested in the new library which is now in alpha testing. To help development, a rudimentary prototype server has been built which communicates with CoCoA 4.3 (pre-release); this server will evolve in parallel with the library. The interactive system is planned as a separate user interface issuing requests to the CoCoA server.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信