New Packages in Maple 10
Maple 10 contains many new packages.
For information on enhancements and improvements to existing packages, see Enhanced Packages in Maple 10.
This help page describes the following new packages.
AudioTools package
DocumentTools package
ImageTools package
IntegrationTools package
PolynomialIdeals package
ProcessControl package
RegularChains package
Statistics package
Student[VectorCalculus] package
Tolerances package
Typesetting package
AudioTools Package
DocumentTools Package
ImageTools Package
IntegrationTools Package
PolynomialIdeals Package
ProcessControl Package
RegularChains Package
Statistics Package
Student[VectorCalculus]
Tolerances
Typesetting
The AudioTools package provides tools for reading and writing WAVE format audio files, and performing basic audio processing operations.
Examples
audiofile := cat(kernelopts(datadir), "/audio/stereo.wav"):
with(AudioTools):
aud := Read(audiofile);
aud≔Sample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel19962Duration0.90531⁢s
attributes(aud);
22050,8,1
mono := ToMono(aud);
mono≔Sample Rate22050File FormatPCM File Bit Depth8Channels1Samples/Channel19962Duration0.90531⁢s
filtered := Convolution(mono,<1,1,1,1,1,1,1,1,1,1,1,1,1,1,1>);
filtered≔Sample Rate22050File FormatPCM File Bit Depth8Channels1Samples/Channel19976Duration0.90594⁢s
Write("filteredmono.wav",filtered);
20020
The DocumentTools package is a collection of commands that allow programmatic access to the properties of interactive components, such as buttons or sliders, in a Standard Maple worksheet or document.
The ImageTools package provides tools for reading and writing JPEG, TIFF, and BMP format image files, and performing basic image processing operations.
imagefile := cat(kernelopts(datadir), "/images/fjords.jpg"):
with(ImageTools):
img := Read(imagefile);
gray := ToGrayscale(img);
sharper := Convolution(gray,<<0,-1,0>|<-1,6,-1>|<0,-1,0>>);
Write("sharpgray.jpg",sharper);
53095
The IntegrationTools package provides a number of low-level tools for manipulating definite and indefinite integrals.
with(IntegrationTools):
v := Int(f(x), x=a..b);
v≔∫abf⁡xⅆx
GetIntegrand(v);
f⁡x
GetVariable(v);
x
GetRange(v);
a..b
The PolynomialIdeals package provides tools for computing with ideals of commutative polynomials.
with(PolynomialIdeals):
J := <x^2 + y + z - 1, x + y^2 + z - 1, x + y + z^2 - 1>;
J≔z2+x+y−1,y2+x+z−1,x2+y+z−1
Simplify(PrimaryDecomposition(J));
x,y,−1+z,x,z,y−1,−1+x+y,−1+x+z,x2−2⁢x+1,−x+y,−x+z,x2+2⁢x−1
Simplify(PrimeDecomposition(J));
y,z,x−1,−x+y,−x+z,x2+2⁢x−1,x,y,−1+z,x,z,y−1
K := Intersect((16));
K≔−x⁢y+y⁢z,−x⁢y+z⁢x,z2+x+y−1,y2+x+z−1,x2+y+z−1
R := Radical(J);
R≔−x⁢y+y⁢z,−x⁢y+z⁢x,z2+x+y−1,y2+x+z−1,x2+y+z−1
K subset R, R subset K;
true,true
The ProcessControl package provides various tools for statistical process control.
with(ProcessControl):
A:=[12, 8, 6, 9, 10, 12, 11, 16, 10, 6, 20, 15, 9, 8, 6, 8, 10, 7, 5, 8, 5, 8, 10, 6, 9];
A≔12,8,6,9,10,12,11,16,10,6,20,15,9,8,6,8,10,7,5,8,5,8,10,6,9
CChart(A, 100);
CControlLimits(A, 100);
0.181764854164603,18.5382351458354
The RegularChains package provides tools for triangularization and solving systems of polynomial equations, as well as algebraic computations modulo ideals of polynomials. For a detailed overview and tutorial examples, see the RegularChains package overview page.
with(RegularChains):
R := PolynomialRing([x,y,z]):
sys := {x^2 + y + z - 1, x + y^2 + z - 1, x + y + z^2 - 1};
sys≔z2+x+y−1,y2+x+z−1,x2+y+z−1
The Triangularize command splits this system into a union of triangular systems:
dec := Triangularize(sys, R):
map(Equations, dec, R);
x−z,y−z,z2+2⁢z−1,x,y,z−1,x,y−1,z,x−1,y,z
One of these tools is the automatic detection of cases in the presence of algebraic relations. In the example below, we compute the inverse of a matrix modulo the set of algebraic relations specified by the regular chain rc:
with(MatrixTools): with(ChainTools):
rc := Chain([z^3 - 1, z^2-y^2, x-y], Empty(R), R):
A := Matrix([[1, y+z], [2, x-z]]);
A≔1y+z2x−z
The ideal generated by the algebraic relations in rc is reducible. The MatrixInverse command detects that A is not invertible modulo rc. It splits the ideal into four components, such that the matrix is invertible modulo each of these components. Note that the form of the inverse is different for each component:
res := MatrixInverse(A, rc, R);
res≔101−12,regular_chain,10−z−1z2+12,regular_chain,01212−14,regular_chain,012−z2−12z4+14,regular_chain,
Using the Equations command, the generators for a specific component can be displayed:
res[1,1,1],Equations(res[1,1,2],R);
101−12,x+1,y+1,z−1
The Statistics package is a collection of functions and interactive tools for mathematical statistics and data analysis. The package supports a wide range of common statistical tasks such as quantitative and graphical data analysis, symbolic manipulation of random variables, simulation, and curve fitting. Much of the functionality in the Statistics package is accessible through context menus.
Below is the list of primary topics. For a more detailed overview of the package, see the Statistics help page.
Over 35 continuous and discrete probability distributions, as well as tools for creating new distributions.
Tools for creating and manipulating random variables as well as functions for computing their densities, moments, generating functions and other quantities.
A wide range of functions for computing descriptive statistics. This includes location, dispersion and shape statistics, moments and cumulants, as well as several data summary and tabulation commands.
Statistical plots including box plots, bar charts, histograms, probability plots, and scatterplots.
Optimized algorithms for simulating from all supported distributions, as well as tools for creating custom random number generators, and parametric and non-parametric bootstrapping.
Tools for fitting linear and nonlinear models to data points and performing regression analysis.
Tools for manipulating likelihood functions, maximum likelihood estimation, kernel density estimation, and bootstrapping.
Tools for manipulating statistical data. Data smoothing functions including moving averages, exponential smoothing, and linear filters.
Common tools for performing hypothesis testing and inference, including several parametric and non-parametric tests.
with(Statistics):
X:= RandomVariable(Poisson(lambda)):
ProbabilityFunction(X, 2);
λ2⁢ⅇ−λ2
Mean(X);
λ
ProbabilityPlot(Sample(RandomVariable(Poisson(3)), 200), Poisson(3));
Z:=Sample(Normal(0, 1), 10):
A:=Array([seq(2+sin(10*Pi*i/15+2*Z[i]), i=1..5)]):
B:=Array([seq(2+sin(10*Pi*i/15+3*Z[i]), i=1..5)]):
C:=Array([seq(2+sin(10*Pi*i/15+4*Z[i]), i=1..5)]):
BarChart([A, B, C]);
A new package for vector calculus is available in the Student package.
The Student[VectorCalculus] package assists with the teaching and learning of the calculus of functions from Rn to Rm, where 1<m. For studying functions from Rn to R, see Student[MultivariateCalculus].
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.
This package can also be used as an introduction to the more broadly based, top-level VectorCalculus package.
For more information, see Student[VectorCalculus].
with(Student[VectorCalculus]):
CrossProduct( <a, b, c>, <d, e, f> );
b⁢f−c⁢eex+−a⁢f+c⁢dey+a⁢e−b⁢dez
SetCoordinates(polar[r, theta]);
polarr,θ
F:=VectorField(<r^2*theta, -theta>);
F≔r2⁢θe_r+−θe_θ
simplify(evalVF(F, <1, Pi/2>));
π2−π2
Using the Tolerances package, you can perform computations with quantities involving tolerances.
with(Tolerances):
a := 2 &+- 0.1;
a≔2.000⁢+-⁡0.100
b := 3 &+- 0.05;
b≔3.000⁢+-⁡0.050
a+b;
5.000⁢+-⁡0.150
a^b;
8.127⁢+-⁡1.484
sin(a);
0.905⁢+-⁡0.042
The Typesetting package is a command-line interface for controlling Typeset and 2-D equation Parsing options in the Standard Worksheet interface.
with(Typesetting):
Typeset(BesselJ(v, x));
BesselJ⁡v,x
See Also
Enhanced Packages in Maple 10
Index of New Maple 10 Features
Download Help Document