|
Groebner
|
|
•
|
Many of the existing commands in the Groebner package have been extended by additional options and calling sequences.
|
|
New command RationalUnivariateRepresentation.
|
>
|
cyclic3 := [x+y+z,x*y+x*z+y*z,x*y*z-1];
|
| (1) |
>
|
RationalUnivariateRepresentation(cyclic3);
|
| |
| (2) |
|
The following system is notorious for being difficult to solve exactly. In this example, the rational univariate representation can be computed much faster and has much smaller coefficients than a lexicographic Groebner basis.
|
>
|
katsura5 := [
2*x^2+2*y^2+2*z^2+2*t^2+2*u^2+v^2-v,
x*y+y*z+2*z*t+2*t*u+2*u*v-u,
2*x*z+2*y*t+2*z*u+u^2+2*t*v-t,
2*x*t+2*y*u+2*t*u+2*z*v-z,
t^2+2*x*v+2*y*v+2*z*v-y,
2*x+2*y+2*z+2*t+2*u+v-1]:
|
>
|
F := Basis(katsura5, plex(x,y,z,t,u,v)):
|
>
|
G := RationalUnivariateRepresentation(katsura5):
|
>
|
Homogenize(x^3+x*y-1,z);
|
>
|
F := [x^3+x*y^2+x*z^2-x, x^2-1, y^2+z^2];
|
| (6) |
>
|
MaximalIndependentSet(F);
|
|
Using the new option order, the Basis command automatically guesses and returns a computationally efficient variable ordering.
|
>
|
G := Basis(katsura5, 'MO', order='tdeg'):
|
| (9) |
|
|
ImageTools
|
|
•
|
The performance of existing commands in the ImageTools package have been enhanced to run faster and use less memory. The following new commands have been added: Checkerboard, Clip, ColorTransform, CombineLayers, Complement, FitIntensity, Flip, GetLayer, GetSubImage, HSVtoRGB, PadImage, RGBtoGray, RGBtoHSV, RGBtoYUV, Rotate, SetLayer, SetSubImage, Stack, Threshold, ToRGBA, Transpose, View, WhatTypeImage, and YUVtoRGB.
|
|
|
LinearAlgebra
|
|
•
|
The LinearAlgebra package has one new command and one enhanced command. The LinearAlgebra[Modular] subpackage contains three new commands. Also, a new subpackage LinearAlgebra[Generic] has been created, which allows you to do linear algebra over arbitrary rings, domains, and fields.
|
•
|
The LinearAlgebra[CompanionMatrix] command has been extended to accept a matrix polynomial as input that is expressed in terms of any large number of orthogonal bases.
|
•
|
The new LinearSolve command solves the linear system described by an augmented matrix with augmented columns.
|
•
|
The new IntegerLinearSolve command computes the determinant of a square matrix with integer entries using a modular algorithm.
|
•
|
The new IntegerCharacteristicPolynomial command computes the characteristic polynomial of a square matrix with integer entries using a modular algorithm.
|
>
|
A := Matrix([[a,b,w,x],[c,d,y,z],[0,0,e,f],[0,0,g,h]]);
|
>
|
B := StronglyConnectedBlocks(A);
|
>
|
Determinant(A) = Determinant(B[1])*Determinant(B[2]);
|
| (12) |
|
The CompanionMatrix can be computed in terms of the ChebyshevT basis.
|
>
|
p := add((k+1)/(k+2)*ChebyshevT(k,x), k=0..3);
|
| (13) |
>
|
C0, C1 := CompanionMatrix(p);
|
| (14) |
>
|
normal(Determinant(x*C1-C0)/expand(p));
|
|
|
ListTools
|
|
|
The ListTools package has a new command LengthSplit. It allows you to split a list into an expression sequence of sublists of a given length.
|
|
|
LREtools
|
|
•
|
The LREtools[AnalyticityConditions] command has been extended to determine analyticity of the solution of a linear difference equation in the complex plane.
|
•
|
The LREtools[IsDesingularizable] command can now handle desingularization of a linear difference operator with respect to both the leading and the trailing coefficient simultaneously.
|
|
|
Matlab
|
|
|
The Matlab package supports a wider range of data conversions, including strings and structs.
|
|
|
Number Theory
|
|
•
|
The numtheory[index] command now additionally implements the Index Calculus method for computing discrete logarithms.
|
|
|
PDEtools
|
|
•
|
The PDEtools package has been enlarged with the addition of nineteen new commands for performing most of the steps of the traditional symmetry analysis of PDE systems. This is the most important development in the Maple libraries for exact solutions for PDEs and systems of PDEs since Maple 7.
|
•
|
The functionality provided by the new commands includes the automatic computation of the infinitesimal symmetry generators and the related group invariant solutions, using many symmetries in one go (you can optionally specify how many), departing directly and solely from the PDE system to be solved (you can optionally specify the symmetries to be used). The new solving capabilities are integrated into the Maple PDE solver command, pdsolve.
|
|
|
Plotting Feature
|
|
|
|
PolynomialIdeals
|
|
|
|
RegularChains
|
|
•
|
The command RegularChains[Triangularize] implements a new probabilistic modular algorithm that can be requested via the option , where is a confidence parameter between 0 and 1 for the correctness of the result. For square input systems with certain regularity conditions, this probabilistic algorithm is asymptotically faster than the general (and generic) algorithm implemented by Triangularize.
|
•
|
The new command RegularChains[ChainTools][ChangeOfOrder] takes a regular chain for one variable ordering and returns a regular chain for a given second variable ordering, such that both regular chains have the same saturated ideal. This is useful, for example, for solving implicitization problems.
|
|
To execute the following examples, open this help page as a worksheet. In the help system, click the Open the current help page in a worksheet window icon in the toolbar.
|
>
|
R := PolynomialRing([x, y, z]);
|
>
|
sys := {x*y^4+y*z^4-2*x^2*y-3,
y^4+x*y^2*z+x^2-2*x*y+y^2+z^2,
-x^3*y^2+x*y*z^3+y^4+x*y^2*z-2*x*y};
|
| (17) |
>
|
Triangularize(sys, R, probability = .9);
|
|
To illustrate the new command ChangeOfOrder, consider the following implicitization problem. The input system is surface in parametrized in . The change of ordering gives an implicit equation for this surface. It also expresses the parameters as functions of :
|
>
|
R := PolynomialRing([x,y,z,s,t]);
|
>
|
R2 := PolynomialRing([t,s,z,y,x]);
|
>
|
F := [x-t^3, y-s^2-2, z-s*t];
|
| (21) |
>
|
rc := Triangularize(F, R, normalized=yes)[1]:
|
>
|
rc2 := ChangeOfOrder(rc,R,R2);
|
| (23) |
|
|
RootFinding
|
|
•
|
The new command RootFinding[Isolate] isolates real roots of real univariate polynomials and polynomial systems with a finite number of solutions.
|
|
|
Statistics
|
|
|
The FrequencyPlot command has a new option ignore. This option specifies how to handle non-numeric data.
|
|
|
StringTools
|
|
|
The StringTools package has several new commands: DeleteSpace, Has, Indent, IndexOfCoincidence, Kasiski, LengthSplit, MatchFence, OtherCase, PatternCanonicalForm, PatternEquivalent, Readability, Repeats, Sentences, SortPermutation, Unique, WordContaining, WordEnd, and WordStart.
|
|
|
SumTools
|
|
|
|
VectorCalculus
|
|
•
|
The RootedVector carries a space attribute containing the coordinate system and the base point (or root point) of the Vector. The components of a rooted Vector are coefficients to the unit vectors. The rooted Vectors arise when evaluating VectorFields and when calculating tangent, principal normal and binormal Vectors of a curve.
|
•
|
The Position Vector describes a radius Vector in cartesian coordinates and is used to define a curve or surface.
|
•
|
The DirectionalDiff command has a new option point that allows you to evaluate the directional derivative.
|
|
|
|