Advanced Math - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Advanced Math

Maple 2017 includes numerous cutting-edge updates in a variety of branches of mathematics.

 

GroupTheory

Series and Limits

Slode

Symbolic Summation

Symbolic Integration

NumberTheory

assume, is, coulditbe

Logic

Other Improvements

GroupTheory

The GroupTheory package has been extended and improved in several respects for Maple 2017.  Most notable are an implementation of the Burnside-Dixon-Schneider algorithm to compute the (ordinary) character table of a finite group, and the redesign of the database architecture for small groups that allows for new and more flexible search options for the SearchSmallGroups command.  In addition, the NumGroups command has been improved for this release.  Finally, most objects produced by the GroupTheory package now have custom context-sensitive menus available.

Improvements to the SearchSmallGroups command

You can now search for groups whose specified subgroups and quotients have a designated order, as well as a specific group ID.  Previously, if you wanted to find groups whose center had order equal to 4, you would have to have specified individual searches for each of the (two) groups of order 4 separately and then manually combine the results:

  withGroupTheory:ASearchSmallGroupsorder=1..20,center=4,1

A4,1,16,6,16,13

(1.1.1)

BSearchSmallGroupsorder=1..20,center=4,2

B4,2,16,3,16,4,16,11,16,12

(1.1.2)

A,B

4,1,16,6,16,13,4,2,16,3,16,4,16,11,16,12

(1.1.3)

 

Now it is possible to simply indicate the order in a single invocation of the command:

  SearchSmallGroupsorder=1..20,center=4

4,1,4,2,16,3,16,4,16,6,16,11,16,12,16,13

(1.1.4)

This works for all the subgroup and quotient properties that are supported by the SearchSmallGroups command.

 

In addition, several new properties have been added to the SearchSmallGroups command.  These are: classnumber (the number of conjugacy classes), centralquotient (the order, or group ID of the quotient of the group by its center), fittingquotient (the quotient of the group by its Fitting subgroup) and frattiniquotient (the quotient of the group by its Frattini subgroup).

 

Computing Character Tables of Finite Groups

Maple 2017 includes a new command, CharacterTable, in the GroupTheory package to compute the ordinary character table of a finite group.

  withGroupTheory:GAlt4

GA4

(1.2.1)

ctCharacterTableG

ctC1a2a3a3b|C|1344X11111X21112I3212+I32X31112+I3212I32X43−100

(1.2.2)

The first line of the character table displays the class labels, while the second row indicates the size of the corresponding conjugacy class.  The characters themselves occupy succeeding rows, with the value of each character on a conjugacy class in the corresponding column of the table.

Character tables are represented as Maple objects with a number of methods.  For example, the CharacterDegrees command returns a list of the degrees of the irreducible characters of the group, along with their multiplicities.CharacterDegreesct

1,3,3,1

(1.2.3)

The Display method supports the inclusion of additional information about the character table, such as the associated (prime) power maps and the Frobenius-Schur indicator values.

Displayct,showpowermaps,showindicator

 

C

1a

2a

3a

3b

 

|C|

1

3

4

4

 

C2

1a

1a

3b

3a

 

C3

1a

2a

1a

1a

ν2

 

 

 

 

 

1

χ__1

1

1

1

1

0

χ__2

1

1

12I32

12+I32

0

χ__3

1

1

12+I32

12I32

1

χ__4

3

−1

0

0

To access the characters themselves, use the Character command:c2Characterct,2

c2character: 1a1,2a1,3a12I32,3b12+I32 for A4

(1.2.4)

GroupOrderKernelc2

4

(1.2.5)

Indicatorc2

0

(1.2.6)

 

Improvements to the NumGroups Command

The NumGroups command has been updated for Maple 2017 so that all cases for arithmetically "small" group orders of the form p3q, p2qr and p2q2 are now handled.  Also, an improved algorithm for computing the number of groups of a square-free order has been implemented that allows you to compute the number of groups for much larger square-free orders than in previous releases.

NumGroups( 139565314102386439 ); # 16253^3 * 32507

16263

(1.3.1)

NumGroups( mul( ithprime( i ), i = 100 .. 1000 ) );

2771340269884594676814901910875675152096737295781236722237205017714262355882880999306035200000000

(1.3.2)

Series and Limits

The asympt and limit commands can now handle asymptotic cases of the incomplete Γ function where both arguments tend to infinity and their quotient remains finite.

asymptΓx,2 x,x

1x2x2+10x382x4+938x5+O1x62xⅇx21xx

(2.1)

asymptΓx,x+1,x,3

2π1x243x+2π1x3224+86135x2+2π1x52576+O1x31xxⅇx

(2.2)

limx∞Γx,1Γx

0

(2.3)

The limit command has also been enhanced for the case of limits of quotients of two bivariate analytic functions.  For details, see Bivariate Limits.

Slode

The Slode package computes formal series expansions for linear ODEs. The commands FPseries, FTseries and dAlembertian_series_sol now support inhomogeneous ODEs where the right-hand side is d'Alembertian.

odey'xyx=n=0∞k=0n1Γk+1xnn!

odeyxyx=n=0k=0n1Γk+1xnn!

(3.1)

Slode:-dAlembertian_series_solode,yx

_n=1_k=1_n1_k+1_k_n1=1_n1_n1_k=1_n11_k2_k+12_n1+1+_n1=1_n1_n1_k=1_n11_k2_k+12_n2=1_n11_n2+1_k=1_n21_k+12_k_n2_n1+1x_n_n!+_C0_n=0x_n_n!

(3.2)

Symbolic Summation

The output format for definite sums involving binomials has been improved, so that the answer is expressed again in terms of binomials, if possible, and also more simplified.

Maple 2017

Maple 2016

k=0n2 n2 k2

−1n2nn2+4n2n2

(4.1)

k=0n2 n2 k2

22n+522Γ2n+12n4Γ2n+124n2+−1n22n+2Γn+122n2π−1n4nΓn+1222πΓn+12Γn+14n1

(4.2)

 

k=0n1k 2 nk 2 nkn22 n+12 n+1+k

2nn4n+1n3n+1n

(4.3)

k=0n1k 2 nk 2 nkn22 n+12 n+1+k

64Γ2n+32Γn+3231024n729n272n+12Γn+432Γn+232Γn+1

(4.4)

k=0n4 n+12 n2 k n+kk

4n3nn

(4.5)

k=0n4 n+12 n2 k n+kk

3Γn+13Γn+23108n2πΓ2n+1

(4.6)

k=0nnkxr+k

n+xn+r

(4.7)

k=0nnkxr+k

xrΓr+1Γn+1+xΓx+1Γn+1+r

(4.8)

k=0n1k xnkn+kknkn+k2n+k

x2n

(4.9)

k=0n1k xnkn+kknkn+k2n+k

x−1nΓnx22Γ1x2Γn+1

(4.10)

k=02 n1k 2 nk 2 kkn+kk22 k

6n3n16n2nn

(4.11)

k=02 n1k 2 nk 2 kkn+kk22 k

3Γn+16Γn+563Γn+13Γn+23

(4.12)

 

Symbolic Integration

The int command now takes into account equality assumptions:

∫0Picosnxⅆxassumingn=0

π

(5.1)

∫xn ⅆx assuming n=1;

lnx

(5.2)

Some improvements were made in the Risch algorithm:

&int;1uau8u2&plus;6u&plus;3 &DifferentialD;u assuming 0< u&semi;

1uauauu3a2lna2+u+au+u2+6au+u2a+4au+u2u+3alna2+u+au+u2+6au+u2+3lna2+u+au+u2uau

(5.3)

&int;0122sinu&plus;2cosuu&DifferentialD;u

422&plus;4cos12

(5.4)

&int;01z2cosz&plus;11cosz&DifferentialD;z

136I&ExponentialE;Iln&ExponentialE;I&plus;1&ExponentialE;I&plus;12&ExponentialE;I&plus;12I&ExponentialE;Ipolylog3&comma;&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I6Iln&ExponentialE;I&plus;1&ExponentialE;I&plus;12&ExponentialE;I12Ipolylog3&comma;&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I&plus;12&zeta;3&ExponentialE;I12&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;Ipolylog2&comma;&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I&plus;&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I&plus;12&zeta;3&ExponentialE;I12&ExponentialE;I12polylog2&comma;&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I&ExponentialE;I&plus;12&ExponentialE;I&ExponentialE;I&plus;1&ExponentialE;I12&ExponentialE;I

(5.5)

x5x21&sol;4x4x2&plus;17x25&DifferentialD;x

211319147x4&plus;354x2&plus;865x21x21&sol;4x4x2x2&plus;11018079233x&plus;12x&plus;2xEllipticFx&plus;1&comma;122x3x&plus;1253361435x&plus;12x&plus;2xEllipticPix&plus;1&comma;111735&comma;122x3x117351253361435x&plus;12x&plus;2xEllipticPix&plus;1&comma;11&plus;1735&comma;122x3x1&plus;1735x21&sol;4x4x21xx3x2&plus;1

(5.6)

&int; x&plus;x&plus;22&DifferentialD;x

142x&plus;5x2&plus;5x&plus;498ln52&plus;x&plus;x2&plus;5x&plus;4

(5.7)

Some improvements in definite integration:

&int;π2ln3Icscx&DifferentialD;x

12I&pi;ln2

(5.8)

Integration of symbolic powers of hyperbolic functions can now be handled:

&int;coshxn &DifferentialD;x assuming posint&semi;

i=0n21j=1i1+1n2jcoshxn2i1nsinhx+j=0n2111n2jx

(5.9)

Improved simplification of integrals:

simplifyabImx&DifferentialD;x assuming a&equals;0&comma; b&equals;2&semi;

0

(5.10)

simplify12Imx&DifferentialD;x

0

(5.11)

Better error handling:

Error, (in IntegrationTools:-Change) no new integration variable found in transformation equation

Improvements in inttrans:

inttransfouriersinlna2+x2b2x2&comma;x&comma;y assuming a&gt;0&comma; b&gt;0&semi;

22lnab&ExponentialE;ayEiay&ExponentialE;ayEiay+2cosbyCiby+2sinbySibyπy

(5.12)

NumberTheory

With the latest additions in Maple 2017, the NumberTheory package now completely replaces the deprecated numtheory package.  It is recommended that you use the NumberTheory package instead of numtheory.

The new commands are ChineseRemainder, IthFermat, Radical and SimplestRational.

withNumberTheory&colon;

FermatDF  n  DataFrame   seq 2&Hat;`2`&Hat;i &plus; 1&comma; i in n  &verbar;                                seq length IthFermat i  &comma; i in n  &verbar;                                seq IthFermat i&comma; output &equals; prime &comma; i in n  &verbar;                                seq IthFermat i&comma; output &equals; completelyfactored &comma; i in n  &comma;                   rows &equals;  op n  &comma;                   columns &equals;  F__n&comma; `# of digits`&comma; `Prime`&comma; `Completely Factored` &colon;

The following displays a data frame containing information on the first 8 Fermat numbers.

FermatDF  seq 0..7   &semi;

F__n# of digitsPrimeCompletely Factored031truetrue122+11truetrue2222+12truetrue3223+13truetrue4224+15truetrue5225+110falsetrue6226+120falsetrue7227+139falsetrue

(6.1)

assume, is, coulditbe

Better handling of multiple or complicated assumptions:

isb0 assuming a0&comma; a&equals;b2

true

(7.1)

 

c1  a0RealRangeOpen0&comma; Open14&comma; x0real&comma; x1RealRangeOpen0&comma; Open1&comma; 1a0x11x1real&comma; a0x1RealRangeOpen1&comma; &infin;&comma; a0&plus;x1RealRange&infin;&comma; Open1&comma; 1a0x11x1x0RealRangeOpen0&comma; &infin;&comma; 1a0x1real&comma; x0&plus;a0&plus;x1RealRangeOpen1&comma; &infin;&colon;

Rex0 assuming c1

x0

(7.2)

isx0&comma; imaginary assuming c1

false

(7.3)

c2  a0RealRangeOpen0&comma; Open14&comma; x0real&comma; x1RealRangeOpen0&comma; &infin;&comma; 1a0x11x1real&comma; 1a0real&comma; a0&plus;x1RealRange&infin;&comma; Open1&comma; 1a0x11x1x0RealRangeOpen0&comma; &infin;&comma; 1a0x1real&comma; x0&plus;a0&plus;x1RealRangeOpen1&comma; &infin;&colon;

isx11 assuming c2

true

(7.4)

c3  Anda1Notnonposint&comma;        a2Notnonposint&comma;        b1Notnonposint&comma;        b2Notnonposint&comma;        cNotnonposint&comma;        b1  a1Notnonposint&comma;        a1  b1Notnonposint&comma;        b2  a2Notnonposint&comma;        a2  b2Notnonposint&comma;        c  a1 &plus; a2Notnonposint&comma;        c  b1 &plus; a2Notnonposint&comma;        c  a1 &plus; b2Notnonposint&comma;        c  b1 &plus; b2Notnonposint&colon;

isc3 assuming c3

true

(7.5)

Improved handling of SetOf:

is1&comma;2 subset SetOf&integers;

true

(7.6)

Functional properties added:

islnp<0 assuming p<1

true

(7.7)

Logic added to is to take into account functional properties during simplification:

is&lpar;x2<1&rpar; assuming x<1

true

(7.8)

is&lpar;x<1&rpar; assuming x2<1

true

(7.9)

abs factors out positive values:

is&lpar;x&plus;53<1&rpar; assuming x&plus;5<3

true

(7.10)

Simplification of properties:

`property/+`LinearProp4&comma; &integers;&comma; 0&comma; LinearProp6&comma; &integers;&comma; 0

LinearProp2&comma;integer&comma;0

(7.11)

`property/+`LinearProp23&comma; &integers;&comma; 0&comma; RealRange0&comma; Open23

real

(7.12)

Improved handling of specified RootOfs:

c5  t2&gt;0&comma; t2<2 &pi;&colon;

r1&comma; r2&comma; r3&comma; r4  RootOf2 z2&plus;2 z1&comma; index &equals; 1&comma; RootOf2 z2&plus;2 z1&comma; index &equals; 2&comma; RootOf2 z22 z1&comma; index &equals; 1&comma; RootOf2 z22 z1&comma; index &equals; 2&colon;

is0 < r2r1tan&theta;2r3r3r4 r3

false

(7.13)

More care is taken with unspecified RootOfs. is now only returns true if the condition is true for all possible values of the RootOf. coulditbe returns true if any possible value of the RootOf returns true:

isRootOf_Z3&plus;_Z&comma; real

false

(7.14)

isIRootOf_Z2_Z&comma; real

false

(7.15)

isRootOf_Z3&plus;_Z&comma; imaginary

true

(7.16)

isIRootOf_Z2_Z&comma; imaginary

true

(7.17)

coulditbeRootOf_Z3&plus;_Z&comma; Nonreal

true

(7.18)

Improvements when processing Non properties:

AndProp&comma; OrProp2&comma; Non0

2,Non0

(7.19)

is&nu;<3 assuming &nu;3&comma; &nu;Not&integers;

true

(7.20)

Improvements made to solving linear inequalities:

isj&plus;nY04<0 assuming 1j&comma;jn

true

(7.21)

is2 L1xy< 1 assuming L&equals;12&comma;x&gt;0&comma;y&gt;0&comma; x&plus;y < L

false

(7.22)

Extra knowledge added regarding odd, even:

isx&comma;posint assuming xodd&comma; x&gt;0

true

(7.23)

isx&comma;posint assuming xeven&comma; x&gt;0

true

(7.24)

Improvements regarding properties GaussianInteger and prime:

isn<3 assuming nprime&comma; neven

true

(7.25)

is5 p&comma;prime assuming pprime

false

(7.26)

c4  a in SetOfprime minus 2 &colon;

isa&plus;1&comma;prime assuming c4

false

(7.27)

isa&plus;1&comma;even assuming c4

true

(7.28)

coulditbe x &equals; 7  assuming xprime&comma; x&gt;5

true

(7.29)

Better treatment of conditions with infinity and floats:

is.75t3 &equals;  assuming  tRealRangeOpen0&comma;Open.25

false

(7.30)

More simplification of radicals inside is:

is412&comma;&integers;

true

(7.31)

is3412&comma;&integers;

true

(7.32)

Improved handling of assumptions involving Re and Im:

isareal assuming &Im;a&equals;0

true

(7.33)

coulditbeareal assuming &Im;a&gt;0

false

(7.34)

&Im;b assuming bimaginary&comma;&Im;b&gt;1

−Ib

(7.35)

&Im;x assuming &Im;x&equals;0&comma; xreal

0

(7.36)

Improved normalization for LinearProp:

LinearProp1&comma; Non&integers;&comma; 52

LinearProp1&comma;Noninteger&comma;12

(7.37)

Improved handling of OrProp and Or conditions:

isx1 or x1 assuming xOrPropRealRange&infin;&comma;1&comma;RealRange1&comma;&infin;

true

(7.38)

is y0  assuming OrOry<0&comma; y&equals;0&comma; y&gt;0

false

(7.39)

isOrx&gt;0&comma; y&gt;0

false

(7.40)

isOrbNotnonposint&comma; b<1

false

(7.41)

isOrbNotnonposint&comma; b<1

true

(7.42)

isOrb  c&comma;c  a&comma; ab assuming real

true

(7.43)

More care is taken about assuming variables are real if they are involved in an inequality assumption. The assumption must be an affirmative one:

isa&comma; real assuming Nota&gt;b

false

(7.44)

Improved handling of nonstrict inequalities involving infinity:

isx&plus;&infin;x&plus;&infin; assuming xreal

true

(7.45)

It is now recognized that a and b may not be real in this example:

isa&gt;b assuming abRealRangeOpen0&comma; &infin;

false

(7.46)

Improved simplification of piecewise using assumptions:

piecewisew < 0&comma;undefined&comma;0 assuming Notw<0&semi;

0

(7.47)

Improved handling of multiple periodic assumptions:

c6  n&integers;&comma; 3 n2posint&colon;

isn&comma; even assuming c6

true

(7.48)

 

isn&gt;1 assuming c6

true

(7.49)

 

Improvements in signum under assumptions:

signum1ax21x21&plus;a&plus;x2 assuming a&gt;0&comma; a <1&sol;4&comma;  0< x2&comma; a&plus;x2<1

1

(7.50)

Other miscellaneous improvements:

coulditbe2 &pi; I z&comma;posint assuming z&integers;

false

(7.51)

iscx&plus;I&comma;real assuming real

false

(7.52)

isz&equals;1 assuming zposint

false

(7.53)

coulditbex&equals;0 assuming xnonnegint

true

(7.54)

Logic

The new Parity command returns the Boolean expression corresponding to the parity function on a set of variables: that is, the function which is true if and only if an odd number of inputs are true.

withLogic&colon;

Parity true&comma;false&comma; true 

false

(8.1)

Parity x xor y&comma; y xor z&comma;true 

¬Parityx&comma;z

(8.2)

Parity true &dollar; 2 n1  assuming nposint

true

(8.3)

Other Improvements

• 

The content command now computes the content of all multivariate polynomials with numeric coefficients.

content2.0 u x &plus; 3.5 u v&comma; x

u

(9.1)
• 

Some extra simplifications of expressions involving LambertW functions have been added:

LW1  LambertW7213ln2&plus;ln3&colon;simplifyLW1ln1LW1&comma; LambertW&semi;

ln72ln213+72ln313

(9.2)

LW2  LambertW7213ln2ln3&colon;simplifyLW2ln1LW2&comma; LambertW&semi;

2Iπ+ln72ln21372ln313

(9.3)
• 

rationalize is more careful about not multiplying and dividing by 0:

a  687&colon;b 3256&plus;a768I16&colon;c  9aI16&colon;d  3&colon; e  76816&colon; z  16Iadce5b5&plus;54dce5b5&plus;6Iadc5eb&plus;54dc5eb&plus;96d3Iae2b2c4&plus;27c4e2b2&plus;46083Iae4b4c2&plus;27c2e4b4 &colon;rationalizez&semi;

123887872122&sol;3I122&sol;39I22931&sol;33229&plus;9122&sol;39I22931&sol;3&plus;489I22932&sol;3192121&sol;3

(9.4)
• 

Efficiency has been improved for radnormal for certain examples:

a  108&plus;12687I&colon;b  a13&colon; c  b2&plus;48b&colon; d  c14&colon; e  612&colon; f  6b2d2&plus;12 eb&plus;48 d2b&colon;g  ed2&plus;fd12&colon; x1  g4&plus;g&plus;1&colon;t  time&colon;radnormalx1&semi;timet&semi;

0.047

(9.5)

See Also

updates/Maple2017/GraphTheory

updates/Maple2017/MathematicalFunctions