Functional programming concepts and straight-line programs in computer algebra

被引:3
|
作者
Bruno, N
Heintz, J
Matera, G
Wachenchauzer, R
机构
[1] Univ Nacl Gen Sarmiento, Inst Desarrollo Humano, RA-1613 Buenos Aires, DF, Argentina
[2] Univ Nacl Cordoba, Dept Computac, Fac Matemat Astron & Fis, Haya Torre & Med Allende, RA-5000 Cordoba, Argentina
[3] Univ Buenos Aires, Fac Ciencias Exactas & Nat, Dept Matemat, RA-1428 Buenos Aires, DF, Argentina
[4] Consejo Nacl Invest Cient & Tecn, RA-1033 Buenos Aires, DF, Argentina
[5] Univ Cantabria, Fac Ciencias, Dept Matemat Estadist & Computac, E-39071 Santander, Spain
[6] Univ Buenos Aires, Fac Ingn, Dept Computac, RA-1063 Buenos Aires, DF, Argentina
关键词
symbolic computation; polynomial equation solver; abstract machine;
D O I
10.1016/S0378-4754(02)00035-6
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
In this paper we present MILONGA, a language based on functional programming concepts, which was designed for the implementation of a new generation of nonterm-rewriting elimination algorithms for multivariate polynomial solving [J. Pure Appl. Alg. 124 (1998) 101-146; J. Pure Appl. Alg. 117/118 (1997) 277-317; Appl. Alg. Eng. Commun. Comput. 11 (4) (2001) 239-296; J. Complex. 17 (1) (2001) 154-211]. These new algorithms profit from an alternative representation of multivariate polynomials by means of straight-line programs [Algebraic complexity theory, in: Handbook of Theoretical Computer Science, Elsevier, Amsterdam, 1990, pp. 634-671 (Chapter 11); Algebraic complexity theory, in: Grundlehren der mathematischen Wissenschaften, Vol. 315, Springer, Berlin, 1997] allowing an exponential improvement of theoretical complexity-with respect to computing time and memory space-upon traditional, term-rewriting procedures. There is a strong analogy between the way how these algorithms employ straight-line programs and the way how functional programming languages treat functions as first-class citizens. Taking advantage of this circumstance, the MILONGA language enables us to analyze the relevance of the functional programming paradigm for the particular kind of task of polynomial equation solving. The paper contains an exhaustive do-it-yourself description of the programming philosophy of M I LONGA, of the development of its compiler, of the operational semantics of its run-time system and of the implementation of a couple of fundamental computer algebra procedures in this language.
引用
收藏
页码:423 / 473
页数:51
相关论文
共 50 条
  • [31] Faster sparse multivariate polynomial interpolation of straight-line programs
    Arnold, Andrew
    Giesbrecht, Mark
    Roche, Daniel S.
    JOURNAL OF SYMBOLIC COMPUTATION, 2016, 75 : 4 - 24
  • [32] A STRAIGHT-LINE INTO THE TEXTBOOKS
    SIMPSON, MJ
    NEW SCIENTIST, 1990, 128 (1747) : 59 - 60
  • [33] STRAIGHT-LINE CITY
    不详
    NATURE, 1991, 353 (6342) : 286 - 286
  • [34] Straight-line access
    Rybicki, RM
    Heuer, MA
    JOURNAL OF THE AMERICAN DENTAL ASSOCIATION, 1999, 130 (04): : 470 - 470
  • [35] Straight-line stabilization
    Mao, JM
    Liu, ZR
    Ling, Y
    PHYSICAL REVIEW E, 2000, 62 (04): : 4846 - 4849
  • [36] STRAIGHT-LINE HYDRAULICS
    SUTTON, RD
    FIRE ENGINEERING, 1984, 137 (04) : 30 - &
  • [37] A STRAIGHT-LINE TO SUCCESS
    REGALADO, A
    SCIENCE, 1994, 266 (5188) : 1180 - 1180
  • [38] AVERAGE DIMENSIONALITY AND WIDTHS OF FUNCTIONAL CLASSES ON STRAIGHT-LINE
    MAGARILILYAYEV, GG
    DOKLADY AKADEMII NAUK SSSR, 1991, 318 (01): : 35 - 38
  • [39] Aliased register allocation for straight-line programs is NP-complete
    Lee, Jonathan K.
    Palsberg, Jens
    Pereira, Fernando Magno Quintao
    THEORETICAL COMPUTER SCIENCE, 2008, 407 (1-3) : 258 - 273
  • [40] Straight-line programs for fast sparse matrix-vector multiplication
    Neves, Samuel
    Araujo, Filipe
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2015, 27 (13): : 3245 - 3261