Skip to main content

2003 | Buch | 3. Auflage

Introduction to Maple

verfasst von: André Heck

Verlag: Springer New York

insite
SUCHEN

Über dieses Buch

The first two editions of this book have been very well received by the com­ munity, but so many revisions ofthe Maple system have occurred since then that simply reprinting the out-of-stock book would not do anymore. A ma­ jor revision of the book was inevitable, too. The wording "major revision" must be taken seriously because I not only corrected typographical errors, rephrased text fragments, and updated many examples, but I also rewrote complete chapters and added new material. In particular, the chapter on differential equations now discusses Liesymmetry methods, partial differen­ tial equations, and numerical methods. Linear algebra is based throughout the book on the packages LinearAlgebra and VectorCalculus, which re­ place the deprecated package linalg. Maple users are strongly advised to do their work with the new packages. The chapter on simplification has been updated and expanded; it discusses the use of assumptions in more detail now. Last, but not least, a new chapter on Grabner basis theory and the Groebner package in Maple has been added to the book. It includes many applications of Grabner basis theory. Many of the Maple sessions have been rewritten so that they comply with the most recent version of Maple. As a result of all this work, hardly any section in the book has been left untouched. vi Preface to the Third Edition From the Preface of the Second Edition The first edition ofthis book has been very wellreceived by the community.

Inhaltsverzeichnis

Frontmatter
1. Introduction to Computer Algebra
Abstract
The goal of this chapter is to briefly describe what computer algebra is about, present a little history of computer algebra systems, give some examples of computer algebra usage, and discuss some advantages and limitations of this technological tool. We end with a sketch of the design of the Maple system.
André Heck
2. The First Steps: Calculus on Numbers
Abstract
In this chapter we shall cover some of the basics needed to start using Maple, to access the on-line help, and to compute with numbers. A discussion at length of how to interact with Maple will follow in Chapter 4. During the overview of the number fields that are supported by Maple, we shall also introduce you gently to the way Maple stores data internally.
André Heck
3. Variables and Names
Abstract
A Maple session usually consists of a series of statements in which values are computed, assigned names, and are used in further computations. In this chapter, we shall discuss what are valid names in Maple, how to assign a value to a name, how to unassign a variable, how to protect or unprotect a variable, and how to associate an attribute or a property to a variable. Unlike in programming languages such as FORTRAN, Algol, and C, there is in Maple no need to declare the types of variables. Maple figures out the type of an expression on the basis of how it is internally represented and how it is used. In this chapter, we shall have a look at the basic data types. Moreover, we shall describe the way symbolic expressions are normally evaluated, viz., by full evaluation.
André Heck
4. Getting Around with Maple
Abstract
In this chapter we shall describe in detail how to get around with Maple: how Maple handles input and output, how to change Maple to your own taste (prompt, width of printout, labeling, etc.), how to edit inputs, how to read and write files, how to get more information about usage of computer resources, how to trace computations, and how to get user-information about chosen techniques or algorithms. Formatted I/O and code generation are examples of interaction between Maple and programming or typeset-ting languages. Moreover, the setup of the Maple library (standard library, packages, and share library of users’ contributions) is explained.
André Heck
5. Polynomials and Rational Functions
Abstract
Maple’s favorite mathematical structures are polynomials and rational functions. This chapter is an introduction to univariate and multivariate polynomials, to rational functions, and to conversions between distinct forms. Keywords are: greatest common divisor (gcd), factorization, expansion, sorting in lexicographic or degree ordering, normalization of rational functions, and partial fraction decomposition.
André Heck
6. Internal Data Representation and Substitution
Abstract
In this chapter we shall describe in detail the internal representation of polynomials and rational functions. This topic is not only of theoretical interest; it is also important to know about data representation when you want to fully understand conversion between distinct data structures and substitution.
André Heck
7. Manipulation of Polynomials and Rational Expressions
Abstract
In this chapter we shall systematically discuss manipulations of polynomials and rational expressions. The following manipulations pass under review: expansion, factorization, normalization, collection, and sorting of polynomials and rational expressions. We shall consider manipulation of expressions that are defined over the rational numbers as well as manipulation of expressions that are defined over other domains, like finite fields, algebraic numbers, and algebraic function fields. Furthermore, we shall give a short, theoretical introduction to canonical and normal form simplification.
André Heck
8. Functions
Abstract
In Maple, a functional relationship can be specified in three ways: as a formula, as an arrow operator (similar to common mathematical notation), and as a procedure. In this chapter we shall discuss all methods in detail. Special attention will be paid to recursively defined procedures and functions. The role of the remember option in defining efficient, recursive functions will be treated in detail.
André Heck
9. Differentiation
Abstract
In this chapter we shall explain the procedures diff and D for computing derivatives symbolically, give examples of implicit differentiation, and finally, briefly discuss Maple’s automatic differentiation facility.
André Heck
10. Integration and Summation
Abstract
Integration (both definite and indefinite), is one of the highlights in computer algebra. Maple uses non-classical algorithms such as the Risch algorithm for integrating elementary functions, instead of heuristic integration methods, which are described in most mathematics textbooks. We shall briefly discuss Maple’s strategy to compute integrals and give many examples so that you can get an idea of Maple’s capabilities and of ways to assist the system. Examples of integral transformations like Laplace, Fourier, Mellin, Hubert, and Hankel transforms will also be given. Their application in the field of differential equations will be treated in Chapter 17.
André Heck
11. Series, Approximation, and Limits
Abstract
Four topics from calculus will be examined in this chapter: truncated series, formal power series, approximation theory, and limits. Prom the examples it will be clear that various truncated series expansions such as Taylor series, Laurent series, Puisseux series, and Chebychev series are available in Maple. Padé and Chebychev-Padé are part of Maple’s numerical approximation package, which is called numapprox. When appropriate, series expansions are used in computing limits [94].
André Heck
12. Composite Data Types
Abstract
Active knowledge of Maple data types is quite often needed even when using Maple interactively as a symbolic calculator. Recall the elementary data types polynom and ratpoly, and the simplification and manipulation of such expressions. This chapter will introduce you to composite data types like sequence, set, list, Array, (r)table, Record, and function call, which are built from elementary data types and used for grouping objects together.
André Heck
13. The Assume Facility
Abstract
The assume facility allows you to specify properties of variables and expressions. This chapter is an introduction to this facility: the reasons behind it, the model, and the Maple implementation. See also [64] for a leisurely introduction to assume, and [9, 229, 230, 231] for more thorough discussions of the model on which the facility is based. Throughout this chapter we shall assume that a variable for which assumptions have been made is distinguished from ordinary variables by a trailing tilde in its name. This can be accomplished by the following interface setting.
André Heck
14. Simplification
Abstract
In Chapter 7 we discussed manipulation of polynomials and rational functions. Manipulations such as normalization, collection, sorting, factorization, and expansion were discussed. Characteristic of these manipulations is that they are carried out on expressions as a whole. However, in computations that involve mathematical functions, you frequently want to apply simplification rules that are known for these mathematical functions. For example, in computations that involve trigonometric functions you often want to apply the equality sin2 + cos2 = 1. This chapter describes how simplifications of expressions containing mathematical functions can be performed, how valid the simplifications offered by Maple are, how simplification can be controlled, and how you can define your own simplification routines or overrule existing Maple routines.
André Heck
15. Graphics
Abstract
Two-dimensional graphics include
  • curves defined by functions of a single real variable,
  • curves defined by parametric equations,
  • implicit curves defined by an equation,
  • contour plots and density plots of functions in two real variables and of data,
  • plots of vector fields and gradient fields,
  • data plots and statistical plots,
  • plots of regions defined by linear inequalities,
  • geometrical plots (such as polygons, circles, ellipses, etc.), and
  • animation of two-dimensional graphics objects.
André Heck
16. Solving Equations
Abstract
In this chapter we shall discuss several methods implemented in Maple to solve (systems of) equations and inequalities of various types. Special attention is paid to systems of polynomial equations; the use of the Gröbner basis package is discussed briefly. A recurrence relation is another type of equation that will be discussed in detail. We shall consider exact methods (over various domains) as well as approximate numerical methods. Examples in this chapter come from application areas such as electronic circuit design, chemical kinetics, neural networks, geodesy, and dimensional analysis.
André Heck
17. Differential Equations
Abstract
Maple can solve many ordinary differential equations analytically in explicit and implicit form. Traditional techniques such as the method of Laplace transformations, integrating factors, etc., as well as more advanced techniques like the method of Lie symmetries are available through the ordinary differential equation solver dsolve. Lie symmetries enable to generate new solutions from a particular solution of a differential equation; they form a systematic way of solving differential equations, in particular nonlinear differential equations. The procedure pdsolve provides classical methods to solve partial differential equations such as the method of characteristics and techniques for uncoupling systems of equations. Lie symmetry methods are also available for partial differential equations, viz., in the liesymm package. Approximate methods such as Taylor series and power series methods have been implemented for ordinary differential equations. And if all fails, one can still use the numerical solver based on the Runge-Kutta method or other numerical methods. The DEtools package contains procedures for graphical presentation of solutions of differential equations, and utilities such as change of variables (dependent as well as independent variables) or computation of Lie symmetries of ordinary differential equations. The PDEtools package play a similar role for partial differential equations. Moreover, Maple provides all the tools to apply perturbation methods, like the Poincaré-Lindstedt method and the method of multiple scales up to high order. In this chapter, we shall discuss the tools available in Maple for studying differential equations. Many examples come from applied mathematics.
André Heck
18. The LinearAlgebra Package
Abstract
In this chapter, we shall look at Maple’s basic facilities for computing with matrices. Not only elementary matrix operations like addition and multiplication, but also high-level computations like determinants, inverses, eigenvalues, eigenvectors, and standard forms will pass in review. We shall give a survey of facilities that the linear algebra package, called LinearAlgebra, provides.
André Heck
19. Linear Algebra: Applications
Abstract
This chapter illustrates matrix computations with five practical examples. They are:
  • Kinematics of the Stanford manipulator.
  • A 3-compartment model of cadmium transfer through the human body.
  • Molecular-orbital Hückel theory.
  • Vector calculus.
  • Moore-Penrose inverse.
André Heck
20. A Bird’s-Eye View of Gröbner Bases
Abstract
In this expository chapter we give a short introduction to Gröbner basis theory and its main applications. It is a long write-up of the overview paper [127]. Quite a few books [3, 16, 37, 66, 85, 91, 98, 156] and overview articles [5, 35, 36, 61, 105, 175] on Gröbner basis theory already exist. This one differs in style and in choice of examples. The style is concrete: examples illustrate the main techniques and the use of a computer algebra system, in our case Maple, is not shunned. Most examples are taken from the science literature and illustrate the Gröbner basis techniques on real applications.
André Heck
Backmatter
Metadaten
Titel
Introduction to Maple
verfasst von
André Heck
Copyright-Jahr
2003
Verlag
Springer New York
Electronic ISBN
978-1-4613-0023-6
Print ISBN
978-1-4612-6505-4
DOI
https://doi.org/10.1007/978-1-4613-0023-6