Vous êtes sur la page 1sur 31

Language and System Changes in Maple 9.

5
Maple 9.5 includes the following language and system changes. Polymorphism Using overload Option More Overloadable Operators New Polynomial Data Structure Object Constructors Package Management

Polymorphism Using overload Option


For a given function or operator, Maple can now be set up to call the appropriate implementation based on the types of arguments being passed. For example, you can define a new implementation of `+` that works only on set arguments. Your function is not invoked for addition of other data-structures, like integers, or polynomials. Instead, the system default, or other overload function handles that case. For details, see ? overload .

More Overloadable Operators


The list of overloadable operators has been extended to include list construction [], set construction , function application ?(), and index application ?[]. Binding a module that exports a function named `[]` (possibly via the with command) overrides the system default behavior of list construction. Instead of creating a list, your procedure is called with the arguments given between the square brackets. Any object can be returned. When used in conjunction with option overload , operators can be selectively overloaded depending on the argument types. For details, see ? use .

New Polynomial Data Structure


A new polynomial data structure optimized for operations on sparse distributed multivariate polynomials can be created and manipulated by using the SDMPolynom command. This data structure provides more efficient basic polynomial arithmetic than the generic sum. For details, see ? SDMPolynom .

Object Constructors
Module exports with the name ModuleApply , ModulePrint , ModuleLoad , and ModuleUnload now have special meaning. Modules are now "applyable" in that the command M(a,b,c) invokes M:-ModuleApply(a,b,c) if M is a module and has a local or export named ModuleApply . Modules can now control the way they are displayed. If a module has an export or local named ModulePrint , the result of the ModulePrint() command is displayed instead of the module. If a ModuleLoad local or export is present, then this procedure is called when the module is read from the Maple repository in which it is found. If a ModuleUnload local or export is present, then this procedure is called when the module is destroyed (when it is no longer accessible and is garbage collected, or when Maple exits).

Manajemen Paket
The unwith command allows you to reverse the effects of the with command. Because of the side effects caused by using table- or procedure-based packages, it is effective only in a Maple session that uses module-based packages exclusively. > with( StringTools ): > Reverse( "abcde" );

> unwith( StringTools ); Reverse( "abcde" );

> with( StringTools ): > with( context ): unwith( StringTools ); Error, (in unwith) the procedure `unwith' is currently disabled due to the presence of table-based packages

Lihat Juga

Indeks New Maple 9.5 Fitur

NUMERIC

Numerics Updates in Maple 9.5


Elliptic Function Computation
Significant improvements have been made in the efficiency and accuracy of the routines that calculate elliptic and Jacobi functions.

Optimasi
The new Optimization package provides commands for numerically solving optimization problems. For a summary of the package's main features, see New Packages in Maple 9.5 .

Numerical Methods for Differential Equations


For information on the improvements to the numeric solution of differential equations, see Updates to Differential Equation Solvers in Maple 9.5

RootFinding
The RootFinding package enhances Maple's ability to compute and locate roots numerically. For more information, see New Packages in Maple 9.5

Lihat Juga
Indeks New Maple 9.5 Fitur

Paket Ikhtisar

New and Enhanced Packages in Maple 9.5


Maple 9.5 contains many new packages and enhancements to existing packages. For information on new Maple 9.5 packages, see New Packages in Maple 9.5 . For information on enhanced Maple 9.5 packages, see Enhanced Packages in Maple 9.5 .

Baru

New Packages in Maple 9.5


Maple 9.5 contains many new packages. For information on enhancements and improvements to existing packages, see Enhanced Packages in Maple 9.5 . This help page describes the following new packages. Cache ContextMenu Logika MmaTranslator OpenMaple Optimasi RootFinding Student[MultivariateCalculus]

Cache Package
The Cache package is a set of functions for manipulating the new Cache data structure. A Cache can be used like a table ; however, a Cache stores two types of elements, permanent and temporary. Permanent elements are like those of a table, once inserted they remain in the table until removed. Temporary elements are stored as long as the Cache has space to store them. When a new temporary element is inserted, an older one may be removed. Caches are primarily intended to be used as remember tables. Elements that are added automatically are added as temporary. This restricts the remember table to store only recently accessed elements. Important remember table entries can be stored as permanent entries, assuring that they are not automatically removed.

ContextMenu Package
The ContextMenu package provides tools to control and customize Maple context-sensitive menus. It supersedes the context package. A context-sensitive menu is generated when a user right-clicks (Control-click on Macintosh platforms) a Maple expression.

The information necessary to build context-sensitive menus is encapsulated in context menu modules. The module corresponding to the built-in context menu is available as ContextMenu[CurrentContext]. To build a new context menu module, which replaces the default, see ContextMenu[New] . Within a context menu module, you can add new entries to the context menu or alter the criteria under which entries are displayed in a menu. For more information, see ContextMenu[CurrentContext] .

Logic Package
The Logic package is a collection of commands for manipulating and transforming expressions using two-valued Boolean logic. With the Logic package, you can simplify logical expressions, test two expressions for equivalence, convert logical expressions to algebraic expressions modulo 2, and perform a variety of other logical operations. In the following example, the dual of a logical expression is computed using the Logic[Dual] command. > with(Logic): Dual( (x &and y) &implies z );

MmaTranslator Package
The MmaTranslator package converts Mathematica commands and notebooks to Maple commands and worksheets. You can use the FromMma and FromMmaNotebook commands or the Mathematica to Maple Translator Maplet application for the translation. For more information, see MmaTranslator .

OpenMaple Package
The OpenMaple package contains two new subpackages, Java and VisualBasic. For more information, see Enhanced Packages in Maple 9.5 .

Optimization Package
The Optimization package is a collection of commands for numerically solving optimization problems, which involve minimization or maximization of an objective function possibly subject to constraints. The package takes advantage of built-in library routines provided by the Numerical Algorithms Group (NAG). Key features are described as follows.

The package provides the ability to solve linear programs, quadratic programs, nonlinear programs, and both linear and nonlinear least-squares problems. For non-convex problems, local solutions are computed. Both unconstrained and constrained problems are accepted. An Interactive Maplet application provides and easy-to-use interface to all of the computation routines in the Optimization package, including the Minimize and Maximize commands. Alternatively, users can take full advantage of the solvers' capabilities by calling the specialized routines: LPSolve for linear programs, QPSolve for quadratic programs, NLPSolve for nonlinear programs, and LSSolve for least-squares problems. The following examples demonstrate the Minimize and QPSolve commands. The solution consists of the final objective function value followed by a point at which this value is attained.

> with(Optimization);

> Minimize(sin(x)/x, x=1..10);

> QPSolve(2*x+5*y+3*x^2+3*x*y+2*y^2, {xy>=2});

The Optimization package commands allow a simple and natural way to express the objective function and the constraints using algebraic expressions. Alternative forms of input using procedures, Vectors, and Matrices are available, which provide greater flexibility and efficiency. For a summary of the various ways in which the optimization problem can be expressed, see Optimization[ InputForms ] . In addition, the package features the Optimization[ ImportMPS ] command for importing linear programs in MPS format. Computations can be performed using hardware floating-point data or arbitrary-precision software floating-point data. The Optimization commands automatically select the most appropriate floating-point computation environment and attempt to solve the problem as efficiently as possible. For details concerning numeric computation in the Optimization package, see the Optimization[ Computation] help page. For a brief introduction to the Optimization package, see the examples[ Optimization] worksheet.

RootFinding Package
The RootFinding package enhances Maple's ability to compute and locate roots numerically. The package contains four commands. The RootFinding[Analytic] and RootFinding[AnalyticZerosFound] commands compute the zeros of an analytic univariate function. The RootFinding[BivariatePolynomial] command computes the solutions of two or

more bivariate polynomials. The RootFinding[Homotopy] command finds numerical approximations to roots of systems of polynomial equations.

Student[MultivariateCalculus] Package
A new package for multivariate calculus is available in the Student package. The Student[MultivariateCalculus] package assists with the teaching and learning of the calculus of functions from R^n to R. Interactive tutors are provided covering the basic concepts, and a range of commands are included that allow exploration of these and other concepts in greater depth. For more information, see Student[MultivariateCalculus] .

Enchanced Enhanced Packages in Maple 9.5


For information on new Maple 9.5 packages, see New Packages in Maple 9.5 . Enhanced Packages in Maple 9.5 contains information for the following packages.

CodeGeneration The Differential Equation packages: DEtools, PDEtools, and diffalg Groebner Bases for Toric Ideals OpenMaple LREtools PolynomialTools QDifferenceEquations SolveTools StringTools Mahasiswa SumTools ToInert Options

CodeGeneration

The new CodeGeneration[Save] command allows user-contributed language definitions to be saved in a Maple archive without requiring that you save a copy of the CodeGeneration module.

DEtools and PDEtools


In connection with important enhancements in the differential equation solvers dsolve and pdsolve (see Updates to Differential Equations (DE) Solvers in Maple 9.5 ), seven new commands with varied purposes - some of them based on original algorithms - are available in DEtools and PDEtools for this release. For a description of these new commands, see Updates to Differential Equations (DE) Solvers in Maple 9.5 (PDEtools) .

Groebner Bases for Toric Ideals


The new command Groebner[ToricIdealBasis] implements two algorithms to compute the reduced Groebner basis of a toric ideal.

OpenMaple
The OpenMaple API has been extended so that Java and Visual Basic programs can access the Maple math engine. For an overview, see Programming Facilities Changes in Maple 9.5 .

LREtools
Three new functions have been added to the LREtools package: AnalyticityConditions, dAlembertiansols, and IsDesingularizable.

LREtools[AnalyticityConditions]
This command determines necessary conditions for the solution of a linear recurrence equation to be analytic, in terms of the initial values. Contoh: > LREtools[AnalyticityConditions](n*E-1,E,f(n));

LREtools[dAlembertiansols]
This command finds all d'Alembertian solutions of a linear recurrence equation, that is, solutions annihilated by a product of first order operators. Contoh: > rec := (-n-1)*a(n)+(3+2*n)*a(n+1)+(-n-2)*a(n+2)=1/(n+2):

> LREtools[hypergeomsols](rec, a(n), {}, output=basis); > LREtools[dAlembertiansols](rec, a(n), {}, output=basis);

LREtools[IsDesingularizable]
This command finds a multiple M of a given linear recurrence operator L, if possible, such that the leading or trailing coefficient of M has no integer roots. Contoh: > LREtools[IsDesingularizable]((n-1)*E+n,E,n,trailing,output=operator);

PolynomialTools
Four new functions have been added to the PolynomialTools package: GcdFreeBasis, GreatestFactorialFactorization, ShiftEquivalent, and ShiftlessDecomposition.

PolynomialTools[GcdFreeBasis]
This command factors a given set of polynomials as far as possible by using only gcds. This can be used, for example, to refine several partial factorizations of the same polynomial. Contoh: The following is a way to compute the factors in the squarefree decomposition of a polynomial. > f := x^9-x^7-x^5+x^3;

> PolynomialTools[GcdFreeBasis]([f, gcd(f,diff(f,x))]);

> sqrfree(f);

PolynomialTools[GreatestFactorialFactorization]

This command factors a univariate polynomial into a product of falling factorials in a unique way similar to the squarefree factorization. Contoh: > f := x^9-x^7-x^5+x^3;

> PolynomialTools[GreatestFactorialFactorization](f,x);

PolynomialTools[ShiftEquivalent]
This command determines whether a univariate polynomial is a Taylor shift of another polynomial, and if so, returns the shift distance. Contoh: > PolynomialTools[ShiftEquivalent](2*x+1,2*x+2,x);

> PolynomialTools[ShiftEquivalent](2*x+1,2*x+2,x,'integer');

> PolynomialTools[ShiftEquivalent](2*x+1,2*x+5,x,'integer');

> PolynomialTools[ShiftEquivalent](x^2-1,x^2+1,x);

PolynomialTools[ShiftlessDecomposition]
This command computes the coarsest factorization of a univariate polynomial separating the irreducible factors both by their multiplicities and their shift equivalence classes. Contoh: > f := x^9-x^7-x^5+x^3;

> PolynomialTools[ShiftlessDecomposition](f,x);

QDifferenceEquations
This package has been extended by four new functions.

QDifferenceEquations [ AccurateQSummation ] implements the method of accurate qsummation QDifferenceEquations [ ExtendSeries ] computes series solutions of a linear q-difference equation QDifferenceEquations [ QHypergeometricSolution ] finds all q-hypergeometric solutions of a given linear q-difference equation QDifferenceEquations [ SeriesSolution ] computes series solutions of a linear qdifference equation

New SolveTools Inequality Submodule


The SolveTools[Inequality] submodule is intended for solving systems of inequalities. It exports three new procedures.

SolveTools [Inequality][ LinearUnivariate ] solves a linear inequality with respect to one variable SolveTools [Inequality][ LinearUnivariateSystem ] solves a system of linear inequalities with respect to one variable SolveTools [Inequality][ LinearMultivariateSystem ] for solving systems of linear inequalities

StringTools Package StringTools[Length]

The StringTools package includes the new Length command that returns the length of a string.

StringTools[MaximalPalindromicSubstring]

The new MaximalPalindromicSubstring command that finds a maximal substring that is equal to itself reversed.

StringTools[Randomize]

You can use the new StringTools [ Randomize] command to seed the random number generator used by the external code underlying the StringTools package.

Paket Mahasiswa General Enhancements


Most interactive tutors in the Student package now include a field that shows the non-tutor command, which can be used to produce the same result in the worksheet. This can be used as a starting point for further exploration.

Student[Precalculus]
The Student[Precalculus] package has the addition of non-tutor commands in allowing exploration of concepts in greater depth. The basic Line command computes lines from various different forms of input and returns information about slope and intercepts, as well as the line itself.

SumTools[Hypergeometric]

Two new commands have been implemented in this package: SumTools [ Hypergeometric ][ EfficientRepresentation ] and SumTools [ Hypergeometric ][ RegularGammaForm ] . Kedua been extended by the ``third'' and the ``fourth'' normal forms.

New Options to ToInert

The ToInert command for converting to an inert representation of a Maple object has been extended to allow for finer control over what objects need to be converted. Addition of exclude and include options let you specify exactly which objects to exclude or convert. The parse command accepts optional offset and lastread parameters, which make it possible to parse a string containing multiple Maple commands.

Pemrograman

Programming Facilities Changes in Maple 9.5


Maple 9.5 includes the following changes to programming facilities.

New Maple Library Archive (.mla) File Format

The LibraryTools and march commands recognize a new format of library archive that combines the .ind and .lib files. To use the new format, simply use a filename with the extension .mla where you previously referenced a .lib file.

Using savelib or LibraryTools[Save] is strongly recommended over using save . Saving to a library is more robust than saving to a .m file primarily because modules cannot be saved in a .m file.

Debug Icon (Standard Worksheet interface only)


The interactive Maple debugging facility can be invoked by clicking the Debug icon (beetle image) beside the Interrupt (hand on stop symbol) icon on the toolbar.

OpenMaple
OpenMaple is a suite of functions that allows you to access Maple algorithms and data structures in your external program. This is the reverse of ExternalCalling , which allows access to external data structures from Maple. The OpenMaple API has been extended so that Java and Visual Basic programs can access the Maple math engine. There is extensive help and examples for OpenMaple. For details, see the OpenMaple help page.

Visual Basic OpenMaple Application Program Interface (API)


The Visual Basic OpenMaple API is built on the existing C API . OpenMaple provides the ability to start a Maple session, evaluate commands, manipulate native Maple data structures, and control output.

Java OpenMaple Application Program Interface (API)


The Java OpenMaple API allows programmers to access the power of the Maple computation engine from within Java programs. Complex mathematical expressions can be evaluated and manipulated within a Java program. As well, most of the important Maple data structures can be directly manipulated as objects in Java.

Programmer Interface for convert/parfrac


Partial fraction conversion now accepts a programming interface form, where the input numerator and denominator factors must be specified in a list and the output partial fraction decomposition is provided in list form. For more detail, see the flist option on the convert/parfrac page.

Enhancements to Symbolic Capabilities in Maple 9.5


Maple 9.5 includes enhancements to its symbolic capabilities in the following areas.

Integrasi Differential Equations Summation Simplification The FunctionAdvisor command Mathematical functions and their conversions Differentiation knowledge for special functions The combine command The series command The plotcompare command Rational function decomposition The singular command

Integrasi
The int command now uses differential equation routines for exact ODEs to compute integrals when the integrand contains unknown functions and is a total derivative with respect to those functions. Contoh > Int((3*diff(u(x),x)*v(x)^2-diff(u(x),x)^3)*sin(u(x)) + (6*v(x)*diff(v(x),x)+2*diff(u(x),x)*diff(u(x),x,x))*cos(u(x)) + 8*diff(v(x),x)*diff(v(x),x,x), x);

> value(%);

Differential Equations (DEs)

The differential equation solving capabilities of the dsolve and pdsolve commands, for computing both exact and numeric solutions, have been enhanced with new algorithms (see Updates to Differential Equation Solvers ). Also, seven new commands, some based on original algorithms, are available in DEtools and PDEtools for this release. For a description of these new commands, see Updates to Differential Equation Solvers: Packages .

Penyajian terakhir
The sum command has been greatly enhanced by rewriting it to use the SumTools[Summation] routine. Contoh More closed forms by using accurate summation : > Sum(Psi(x)^2,x): % = value(%);

More partial results via additive decomposition : > Sum(5^x*(3*x-2)/x/(x+1), x): % = value(%);

Nicer results for some definite sums: > Sum(binomial(n,4*k),k=0..infinity): % = value(%);

The SumTools[IndefiniteSum] package also provides an extension mechanism that is used by sum . Using this facility, you can add a summation definition related to other special functions.

The simplify Command


The simplification of different types of expressions has been greatly enhanced in Maple 9.5. Contoh

Constant Expressions
The simplification of constant expressions has been enhanced in various ways. > -1/4*(2+2*2^(1/2))^(1/2)*(2*2^(1/2)-2)^(3/2) * (-1/3*(-3+3/(1+2^(1/2))*(2^(1/2)-1)) * (1+2^(1/2))/(2^(1/2)-1) - (1+1/(1+2^(1/2))*(2^(1/2)-1))^2 * (1+2^(1/2))^(3/2)/(2^(1/2)-1)^(3/2) * arctan(1/(1+2^(1/2))^(1/2)*(2^(1/2)- 1)^(1/2)));

> simplify(%, constant);

> (sqrt(3)+3*I)*sqrt(1+I*sqrt(3));

> simplify(%, constant);

Powers
The simplification of powers is much faster, from one to two orders of magnitude faster for difficult examples. Also, more cases are now recognized. > (-1)^(argument(z)/Pi);

> simplify(%,power);

> (-1)^a-(-1)^(-a)-2*I*sin(Pi*a);

> simplify(%,power);

Integrals, Sums, Products, and Limits

Enhancements in the simplification of int , sum , product , and limit and in their inert counterparts Int , Sum , Product , and Limit regarding the integration, summation, or product dummy variable and its range: > diff(s(t),t)*Int(f(x)*x^(s(t)-1)*ln(x),x = infinity..0) + int(f(x)*x^(s(t)-1)*diff(s(t),t)*ln(x),x = 0..infinity);

> simplify( % );

Expressions Containing undefined


New routines for simplifying undefined expressions: > ee := Pi*undefined+undefined*I*Pi+x;

> simplify(ee);

To take all real and complex undefineds as a single, unique undefined, and then cause products and sums to return undefined if either operand is undefined, use the symbolic option. > simplify(%, symbolic);

The new routines are also sensitive to assumptions. > simplify(ee) assuming x::And(constant,real);

Simplification of Mathematical Functions


New simplifications regarding mathematical functions are available. Some previously existing simplifications were enhanced. Contoh

The abs Function

> abs(x*y)^2 - abs(x)^2*abs(y)^2;

> simplify(%, abs);

> z = abs(z)*exp(I*argument(z));

> simplify(%, abs);

The argument Function


New simplification routine for the argument function: > argument(z) + I*ln(z/abs(z));

> simplify(%, argument);

The exponential Function


> exp(argument(z)*I);

> simplify( % );

The LambertW Function


Enhanced simplification of the LambertW function: > LambertW(-1, 7/6*I*Pi*(-1+3^(1/2)*I));

> simplify(%);

The new simplifications are sensitive to assumptions . > LambertW(n,2*Pi*I*(n+r)*exp(2*Pi*I*(m+r)));

> simplify(%) assuming n::posint, m::integer, -3/4 < r, r <= 1/4;

The logarithm Function


Enhancements in the simplification of logarithms and the argument function. Also, there is better manipulation in the presence of signum . > ln(signum(0,z,1));

> simplify( % );

Better handling of the branches for compositions of the form ln @ exp: > ln(exp(33/5*I));

> simplify(%,ln);

The FunctionAdvisor Command


The FunctionAdvisor command provides supporting information on mathematical properties of mathematical functions, for example, on definitions , identities , integral forms , series expansions , and others . For Maple 9.5, the FunctionAdvisor command has been enhanced regarding the computation of non-trivial specializations of mathematical functions for particular values of their parameters. This permits answering questions like "In terms of which functions could a given function, evaluated at some values of its parameters, be expressed?"

Contoh In terms of which functions could Zeta(0, z, nu) be expressed? > FunctionAdvisor( specialize, Zeta(0, z, nu));

Regarding the specialization into Psi , what is the specialization of Psi into Zeta if we ignore the restriction And(z::integer, 1 < z) on the value of z? > FunctionAdvisor(specialize, Psi(z-1,nu), Zeta);

Non-trivial specializations for the hypergeometric function: > FunctionAdvisor(specialize, hypergeom([1, 1, 1 - n], [2, 2], 1) );

The enhanced routines are sensitive to assumptions. The specialization of BesselI(a,z) in terms of the StruveL function assuming a+1/2 is a negative integer : > FunctionAdvisor(specialize, BesselI(a,z), StruveL) assuming (a+1/2)::negint;

To compute all the specializations for BesselY(1/2,z) that the FunctionAdvisor command can compute, enter FunctionAdvisor(specialize, 'BesselY'(1/2,z)); at the Maple prompt.

Mathematical Functions
The implementation of some mathematical functions has been improved to increase the knowledge about special values and relationships . More functions are sensitive to assumptions. Contoh

Elliptic functions: > EllipticNome( EllipticModulus(q) ) assuming abs(q) < 1;

> EllipticModulus( EllipticNome(k) ) assuming Re(k) > 0;

binomial function: > binomial(a,k) assuming a::posint, k::negint;

The classic definition for the Psi(n,z) function as the nth derivative of Psi(z), which requires that n be a positive integer, has been extended to arbitrary complex values of n in terms of the Hurwitz Zeta function and its first derivative. > FunctionAdvisor(analytic_extension, Psi(n,z));

Network of Conversion Routines for Mathematical Functions


The network of conversions between mathematical functions was introduced in Maple 8. In Maple 9, the number of conversions was almost tripled. In Maple 9.5, more conversion routines and conversion rules were added. Contoh For functions related to special cases of the hypergeom function: > polylog(2,z): % = convert(%, hypergeom);

> convert(%,LerchPhi);

> convert(lhs(%),polylog) = convert(rhs(%),hypergeom); # convert the other way around

For the argument function: > argument(z): % = convert(%,ln);

> %% = convert(%%,arctan);

More Sum representations for special functions: > EllipticModulus(q): % = convert(%, Sum) assuming abs(q) < 1;

To reveal these sum representations without knowing in advance the required assumption on the function parameters, or the syntax of the function, use the FunctionAdvisor command. > FunctionAdvisor( sum, EllipticNome ); * Partial match of "sum" against topic "sum_form".

New conversion rules for the hypergeometric 2F1 function > hypergeom([a,b],[c],z);

> convert(%, hypergeom, "quadratic 1") assuming -1/2+a+bc = 0;

The new rules available for the 2F1 function are: "quadratic n", with n between 1 and 6; "2a2b"; "raise 1/2"; and "lower 1/2". To see under which assumptions these identities are valid, use FunctionAdvisor(identities, hypergeom([a,b],[c],z)). For more information, see convert[function_rules] .

Differentiation Knowledge for Special Functions


Contoh More convenient and compact form for the differentiation rule of the incomplete GAMMA(a,z) function in terms of the MeijerG function: > diff(GAMMA(a,z) ,a);

To express the previous expression in terms of the hypergeometric function, use convert(%, hypergeom); Improved differentiation of special functions with respect to parameters: > Diff( MeijerG([[], [b+1, b+1]],[[b, b, f(a)], []],z), a );

> value(%);

> Diff( MeijerG([[], []],[[f(a)], []],g(z)), a );

> value(%);

There are new differentiation rules for the argument , Re , Im , and conjugate functions. Although these functions do not strictly satisfy the Cauchy-Riemann conditions, in the same way that Maple implements a differentiation rule for abs and signum , Maple now also implements the differentiation rule for these functions in terms of the 'derivatives' of abs and signum. This allows further computation when these functions are present and differentiation is used. Maple correctly manipulates the results in terms of abs' and signum', which are represented by abs(1,z) and signum(1,z). > z = abs(z)*exp(I*argument(z)); # definition of a complex variable z

> diff( %, z); # a 'representation' for d/dz argument(z) using abs(1,z)

> expand( % ); # in this example, abs(1,z) cancels out

> simplify( % ); # further correct manipulations are then feasible

The combine Command


Combinations in Sums now take into account that the summation variable can have only integer values in the summation range. Contoh > ee := k*(2*ln(k+1)-ln(k)-ln(k+2));

> combine(ee, ln); # <- k is an arbitrary complex variable, nothing to do

> Sum( ee, k=1..infinity ); # k is now an integer from 1 to infinity

> combine( %, ln ); # a combination is therefore possible

The combination of logarithms is now more general. > -ln(5) + ln(abs(x)) - ln(x);

> combine(%);

> ln(x)-ln(y);

> combine(%) assuming x > 0;

> ln(a-1)+I*Pi-ln(1-a);

> combine(%) assuming a > 1;

The series Command


The series command can compute series expansions for more functions. Contoh > EllipticModulus(q);

> series(%, q);

As a result of the change in the form of the differentiation rule for GAMMA(a,z) and Ei(a,z) , it is now possible to also compute series expansions with respect to the first parameter a. > GAMMA(a,z);

> series(%, a, 2);

> Ei(a,z);

> series(%, a, 2);

The plotcompare Command

A new option in plots[plotcompare] , shift_range = r + s I, is available to shift the range of the plot , for example, from (a + b I) .. (c + d I) to (a+r + (b+s) I) .. (c+r + (d+s) I). This is useful when the difference between the expressions plotted is visible only after shifting the plotting range, for example, when comparing a function with its series representation. Contoh A comparison of sin(x) with its cubic Taylor polynomial. > plots[plotcompare]( sin(x), xx^3/6, x=-3..3 ); If you shift the range, for example, to the right by 10, the function and its cubic approximation no longer look similar. > plots[plotcompare]( sin(x), xx^3/6, x=-3..3, shift_range=10 );

Rational Function Decomposition


The new FunctionDecomposition command in the DEtools package performs rational function decomposition on overdetermined systems with parameters. This type of function decomposition can be used to solve symbolic problems in various areas. The command has natural application beyond differential equations.

The singular command


The singular command now accepts a numeric range as an extra argument, which causes only the singularities within this range to be returned. Contoh > singular( tan(x) ); # works as in previous releases

> singular( tan(x), 1..10 ); # new

Maple 9.5 Graphical User Interface (GUI) Updates


Maple 9.5 continues to provide users with two worksheet interfaces. Both have access to the full mathematical Maple engine and take advantage of the new functionality in Maple 9.5.

By default, worksheets open in the enhanced Standard Worksheet interface. The Classic Worksheet interface, available on Windows and UNIX platforms, has the traditional Maple worksheet look and uses less memory. Pada Windows, Anda dapat mengubah asosiasi file worksheet Maple menggunakan Lembar Kerja Asosiasi File aplikasi Selector dari folder Tools dari Maple 9.5 menu Start. Jika sistem anda memiliki kurang dari jumlah yang disarankan memori fisik, disarankan agar Anda menggunakan versi Worksheet Classic Maple 9.5. Maple 9.5 includes many new features and improvements to the worksheet interfaces. The most notable enhancement, available in the Standard, Classic, and Command-line interfaces is the new Math Dictionary. Math Dictionary Command Completion Confirmation Dialogs ContextMenu Package Elision - Numerics & Lists Highlighting Text Hyperlink to a Math Dictionary Definition or a Maplet Application Interactive Plot Builder Interrupting the Current Operation Opening a Mathematica Notebook Using the File Menu Dialog Pilihan Palettes Plotting RTF Copy - Copying Large Selections Superscript and Subscript Character Styles Tools Menu

Math Dictionary

No longer must you search the Web for a definition. As a Maple user, you can find over 5000 mathematical definitions in your Maple 9.5 Math Dictionary. The definitions can be accessed as general help pages by viewing the alphabetical listing in the Dictionary Contents of the Maple help system, through links in a help page, or hyperlinks in your Maple worksheet. Definitions in the Standard Worksheet interface include over 300 figures and equations. When accessing a definition through a worksheet or help page link, short definitions are conveniently displayed as pop-ups (Standard Worksheet interface only). The mathematical dictionary pop-up feature can be deactivated through the Options dialog.

Command Completion (Standard Worksheet interface only)


Entering commands has been made even easier. When entering a command in the worksheet, Maple compares your entry with all Maple commands. If there is unique completion, Maple displays a tool-tip containing the matching command name above the entry in the worksheet. You can continue typing the command or press ENTER to insert the displayed command. This feature can be deactivated through the Options dialog.

Confirmation Dialogs (Standard Worksheet interface only)


By default, confirmation dialogs are displayed with certain actions. These dialogs include confirming style conversion, indicating an error in the Standard Math equation, issuing a restart warning, and confirming whether a large rich text format (RTF) copy action should be undertaken. In Maple 9.5, you can disable one or all of these confirmation dialogs through the Options dialog.

ContextMenu Package
A context-sensitive menu is displayed when you right-click (Control-click on Macintosh platforms) a Maple expression. The new ContextMenu package provides tools to control and customize Maple context-sensitive menus.

Elision - Numerics & Lists (Standard Worksheet interface only)


The Precision tab of the Options Dialog contains settings for digit and term elision. Elision controls the maximum number of terms or digits displayed by displaying only leading and trailing elements. You can set a threshold at which elision is used, as well as the number of leading and trailing digits (or terms). For example, setting elision digit threshold at 10, leading digits at 2, and trailing digits at 2, returns the following result for the factorial 20! 24[...15 digits...]00 Elision can be applied globally or to a session.

Highlighting Text (Standard Worksheet interface only)


You can emphasize information in your worksheets by using the text Highlight feature. This option is accessed from the Format menu and in the Character Style dialog.

Hyperlink to a Math Dictionary Definition or a Maplet Application (Standard Worksheet interface only)
Previous releases of Maple allowed you to enhance worksheets by adding links to related information, for example, linking text in your worksheet to a Web page, email address, worksheet, or a help topic. With Maple 9.5, you can link text to a Math Dictionary definition or a Maplet application. For Maplet applications, clicking the link launches the Maplet application in a separate Maple session.

Interactive Plot Builder


The interactive plot builder has been enhanced greatly. The plot builder supports plotting multiple expressions simultaneously and allows expressions to be added interactively. The types of supported plots have increased. Animations are now supported in addition to static plots. Furthermore, instead of generating a plot or animation, you have the option of generating a Maplet application in which the value of plot parameters can be dynamically adjusted. The interactive plot builder is accessed from the Tools>Assistants>Plot Builder menu. For instructions, see worksheet,interactive,plot .

Interrupting the Current Operation (Standard Worksheet interface only)


When interrupting an operation by clicking the Interrupt icon, Maple returns a short warning message indicating that the computation has been interrupted. If, however, after five seconds the kernel has not responded to your request, a dialog is displayed giving you the option to restart the math engine. In cases where your system is unable to communicate with the kernel, a message is displayed indicating that your operation cannot be interrupted. The interactive Maple debugging facility is invoked by clicking the Debug icon (beetle image) beside the Interrupt (hand on stop symbol) icon.

Opening a Mathematica Notebook Using the File Menu (Standard Worksheet interface only)
Using the File>Open menu, you can open a Mathematica(R) Notebook (.nb) file. When translating Mathematica notebooks, most interface elements in these notebooks have an equivalent in a Maple worksheet. For exceptions and general details about translation, see MmaTranslator .

Options Dialog (Standard Worksheet interface only)

The Options dialog, accessed from the Tools menu, has been redesigned. The dialog contains four tabs, General, Display, Interface, and Precision that allow you to access various options.

For your convenience, certain check box options have been replaced with drop-down lists. Options associated with spelling can be accessed in the General tab. Plotting options can be accessed in the Display tab. The Interface tab has additional options for setting whether menu tips or confirmation dialogs are displayed. Also, you can set whether target information is displayed when your mouse travels over a hyperlink in a help page or worksheet. The new Precision tab provides options for setting digit and term elision .

Palettes (Standard Worksheet interface only)


Maple has four palettes (Expression, Matrix, Vector, and Symbol) for building or editing mathematical expressions interactively. In the Maple 9.5 Standard Worksheet interface, the palettes are automatically displayed in the left-hand side of the worksheet interface. You can position palettes using a context-sensitive menu, that is, you can dock a palette to the top, bottom, left, or right side of the worksheet. Note that in Windows and Mac OS X, you can use the drag and drop mouse action to position the palettes. As in previous releases, you can hide or display a particular palette.

Inserting Maple Commands From the Palette


To insert a specific command from a palette, you simply click the icon. The associated Maple syntax is inserted in the worksheet.

The areas where you must supply additional parameters are highlighted and also indicated as Maple Input Placeholder in the menu bar style drop-down list. Many palettes can enclose associated functions or Maple commands. For example, you can enter and highlight sin(x) in the worksheet, and then click the definite integral symbol in the Expression palette. The resulting expression is correctly formatted as int(sin(x),%x), whereby %x indicates the Maple Input Placeholder.

Note: In Windows and Mac OS X, a palette command can be dragged and dropped onto the worksheet to insert corresponding command.

Plotting (Standard Worksheet interface only) Animation controls


Maple 9.5 provides slider control for viewing individual frames of an animated plot. The exact frame speed (Frame Per Second) is displayed when increasing or decreasing the animation speed of a plot. You can now play animations backward and forward by using the Oscillate menu item.

Automatic Highlighting in 2-D Plots


In 2-D plots, lines and polygons are automatically highlighted when the mouse pointer is placed on them. This makes object selection easier.

Displaying Coordinates of 2-D Plots


In 2-D plots, you can determine the coordinates of the plot at the position of the cursor. Coordinates corresponding to the cursor position are displayed in the worksheet context bar (upper left-hand corner) or by using the context-sensitive Transform>Probe menu.

Scale and Pan 2-D and 3-D Plots and Animations


You can transform your plot by using the Scale or Pan plot options. Scale changes the size of the plot, and Pan changes the position of the plot in the anchored frame. Note that the plot structure does not change. These options are accessed from the main or context-sensitive Plot>Transform menu.

RTF Copy - Copying Large Selections (Standard Worksheet interface only)


Processing time increases when copying large selections in your worksheet. Sometimes you may need to disable the copying of all Rich Text Formatting (RTF). In Maple 9.5, you can disable RTF copy Always, for Large Selections Only, or Never if the increased processing time is not an issue. The Disable RTF Copy option is accessed through the Options dialog.

Superscript and Subscript Character Styles (Standard Worksheet interface only)


In addition to the bold, italic, and underline character style options, Maple 9.5 allows you to include superscript and subscript characters in the text regions of your worksheets. You can access these styles through the Character Styles dialog or from the main Format>Character menu. If your Standard worksheet contains superscripts and subscripts, these options will appear as regular text in the Classic worksheet. Superscripts and subscripts are supported when exporting the Standard worksheet to RTF, LaTeX, and HTML formats.

Tools Menu (Standard Worksheet interface only)


The Tools menu provides quick access to the Maple Assistants, such as the Unit Converter or Plot Builder. The Tools menu also provides quick access to the Maple Tutors associated with such topics as Linear Algebra or Multivariate Calculus

Vous aimerez peut-être aussi