747 research outputs found

    A computer algebra user interface manifesto

    Full text link
    Many computer algebra systems have more than 1000 built-in functions, making expertise difficult. Using mock dialog boxes, this article describes a proposed interactive general-purpose wizard for organizing optional transformations and allowing easy fine grain control over the form of the result even by amateurs. This wizard integrates ideas including: * flexible subexpression selection; * complete control over the ordering of variables and commutative operands, with well-chosen defaults; * interleaving the choice of successively less main variables with applicable function choices to provide detailed control without incurring a combinatorial number of applicable alternatives at any one level; * quick applicability tests to reduce the listing of inapplicable transformations; * using an organizing principle to order the alternatives in a helpful manner; * labeling quickly-computed alternatives in dialog boxes with a preview of their results, * using ellipsis elisions if necessary or helpful; * allowing the user to retreat from a sequence of choices to explore other branches of the tree of alternatives or to return quickly to branches already visited; * allowing the user to accumulate more than one of the alternative forms; * integrating direct manipulation into the wizard; and * supporting not only the usual input-result pair mode, but also the useful alternative derivational and in situ replacement modes in a unified window.Comment: 38 pages, 12 figures, to be published in Communications in Computer Algebr

    Structure and Interpretation of Computer Programs

    Get PDF
    Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard

    Data structures for algebraic manipulation

    Get PDF
    Imperial Users onl

    Interfacing algebraic and numeric computation

    Get PDF

    Programming in Maple V Release 5

    Get PDF
    This is a tutorial on programming in Maple version V Release 5. It is based on the script of M.Monagan, "Programming in Maple: The Basics." , written for Maple V Release 3. Here, there are involved and adapted new or other Maple commands and further examples. The aim is to show, how you can write simple programs in Maple for doing numerical calculations, linear algebra, and programs for simplifying or transforming symbolic expressions, polynomials or mathematical formulas. It is assumed, that the reader is familiar with using Maple interactively

    The design and implementation of a tutorial program to perform symbolic mathematics

    Get PDF
    The purpose of this thesis is to design and implement a program that could be used for a drill in symbolic mathematics. The scope of the program with respect to the range of problems that it solves is limited to selected types from elementary algebra, trigonometry, differential calculus, and integral calculus. The program is designed, not only to give solutions (answers), but also to provide several of the intermediate steps leading to the final result. FORMAC73 and PL/1 are used to implement the program. FORMAC73 is a system and a language for manipulating mathematical expressions, symbolically. The facilities of PL/1 are available for program structure, loop control, testing, input and output operations, and manipulating the strings so as to get the intermediate steps. The program is designed to provide supplementary assistance to give students drill, practice, and review several specific topics in the stated areas. The program may also be used by instructors to check or to provide answers to particular problems, say for an examination or homework. The program does not attempt to diagnose the student‘s difficulties. The main accomplishments of this paper will be to show the potential of using FORMAC73 with the existing facilities at Virginia Commonwealth University (VCU) to develop an extensive tutorial drill; particularly in arithmetic and algebra. The paper will also show that it is possible to develop a comprehensive CAI package in symbolic mathematics by using existing symbolic mathematics systems

    Routines and Applications of Symbolic Algebra Software

    Get PDF
    Computing has become an essential resource in modern research and has found application across a wide range of scientific disciplines. Developments in symbolic algebra tools have been particularly valuable in physics where calculations in fields such as general relativity, quantum field theory and physics beyond the standard model are becoming increasing complex and unpractical to work with by hand. The computer algebra system Cadabra is a tensor-first approach to symbolic algebra based on the programming language Python which has been used extensively in research in these fields while also having a shallow learning curve making it an excellent way to introduce students to methods in computer algebra. The work in this thesis has been concentrated on developing Cadabra, which has involved looking at two different elements which make up a computer algebra program. Firstly, the implementation of algebraic routines is discussed. This has primarily been focused on the introduction of an algorithm for detecting the equivalence of tensorial expressions related by index permutation symmetries. The method employed differs considerably from traditional canonicalisation routines which are commonly used for this purpose by using Young projection operators to make such symmetries manifest. The other element of writing a computer algebra program which is covered is the infrastruc- ture and environment. The importance of this aspect of software design is often overlooked by funding committees and academic software users resulting in an anti-pattern of code not being shared and contributed to in the way in which research itself is published and promulgated. The focus in this area has been on implementing a packaging system for Cadabra which allows the writing of generic libraries which can be shared by the community, and interfacing with other scientific computing packages to increase the capabilities of Cadabra

    Proceedings of the 1968 Summer Institute on Symbolic Mathematical Computation

    Get PDF
    Investigating symbolic mathematical computation using PL/1 FORMAC batch system and Scope FORMAC interactive syste
    • …
    corecore