Symbolics - Maple Help

Enhancements to Symbolic Capabilities in Maple 9.5

 Maple 9.5 includes enhancements to its symbolic capabilities in the following areas.
 Mathematical functions and their conversions
 Differentiation knowledge for special functions

 The simplify Command The FunctionAdvisor Command The combine Command The series Command The plotcompare Command

Integration

 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.
 Example
 > 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);
 ${\mathrm{Int}}{}\left(\left({3}{}\left({\mathrm{diff}}{}\left({u}{}\left({x}\right){,}{x}\right)\right){}{{v}{}\left({x}\right)}^{{2}}{-}{\left({\mathrm{diff}}{}\left({u}{}\left({x}\right){,}{x}\right)\right)}^{{3}}\right){}{\mathrm{sin}}{}\left({u}{}\left({x}\right)\right){+}\left({-}{6}{}{v}{}\left({x}\right){}\left({\mathrm{diff}}{}\left({v}{}\left({x}\right){,}{x}\right)\right){+}{2}{}\left({\mathrm{diff}}{}\left({u}{}\left({x}\right){,}{x}\right)\right){}\left({\mathrm{diff}}{}\left({\mathrm{diff}}{}\left({u}{}\left({x}\right){,}{x}\right){,}{x}\right)\right)\right){}{\mathrm{cos}}{}\left({u}{}\left({x}\right)\right){+}{8}{}\left({\mathrm{diff}}{}\left({v}{}\left({x}\right){,}{x}\right)\right){}\left({\mathrm{diff}}{}\left({\mathrm{diff}}{}\left({v}{}\left({x}\right){,}{x}\right){,}{x}\right)\right){,}{x}\right)$ (1)
 > value((1));
 ${\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}\right)\right)}^{{2}}{}{\mathrm{cos}}{}\left({u}{}\left({x}\right)\right){-}{3}{}{{v}{}\left({x}\right)}^{{2}}{}{\mathrm{cos}}{}\left({u}{}\left({x}\right)\right){+}{4}{}{\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}\right)\right)}^{{2}}$ (2)

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.

Summation

 The sum command has been greatly enhanced by rewriting it to use the SumTools[Summation] routine.
 Examples
 More closed forms by using accurate summation:
 > Sum(Psi(x)^2,x);
 ${\sum }_{{x}}{}{{\mathrm{\Psi }}{}\left({x}\right)}^{{2}}$ (3)
 > (3) = value((3));
 ${\sum }_{{x}}{}{{\mathrm{\Psi }}{}\left({x}\right)}^{{2}}{=}\frac{\left({4}{}{{x}}^{{4}}{-}{16}{}{{x}}^{{3}}{-}{21}{}{{x}}^{{2}}{-}{4}{}{x}{-}{2}\right){}{{\mathrm{\Psi }}{}\left({x}\right)}^{{2}}}{{2}{}\left({2}{}{x}{+}{1}\right)}{+}\left({-}{2}{}{{x}}^{{3}}{+}{9}{}{{x}}^{{2}}{+}{13}{}{x}{+}\frac{{1}}{{2}}\right){}{{\mathrm{\Psi }}{}\left({x}{+}{1}\right)}^{{2}}{+}\frac{{\left({x}{+}{1}\right)}^{{2}}{}\left({4}{}{{x}}^{{2}}{-}{24}{}{x}{-}{1}\right){}{{\mathrm{\Psi }}{}\left({x}{+}{2}\right)}^{{2}}}{{2}{}\left({2}{}{x}{+}{1}\right)}$ (4)
 More partial results via additive decomposition:
 > Sum(5^x*(3*x-2)/x/(x+1), x);
 ${\sum }_{{x}}{}\frac{{{5}}^{{x}}{}\left({3}{}{x}{-}{2}\right)}{{x}{}\left({x}{+}{1}\right)}$ (5)
 > (5) = value((5));
 ${\sum }_{{x}}{}\frac{{{5}}^{{x}}{}\left({3}{}{x}{-}{2}\right)}{{x}{}\left({x}{+}{1}\right)}{=}\frac{{2}{}{{5}}^{{x}}}{{x}}{+}{\sum }_{{x}}{}\left({-}\frac{{5}{}{{5}}^{{x}}}{{x}{+}{1}}\right)$ (6)
 Nicer results for some definite sums:
 > Sum(binomial(n,4*k),k=0..infinity);
 ${\sum }_{{k}{=}{0}}^{{\mathrm{\infty }}}{}\left(\genfrac{}{}{0}{}{{n}}{{4}{}{k}}\right)$ (7)
 > (7) = value((7));
 ${\sum }_{{k}{=}{0}}^{{\mathrm{\infty }}}{}\left(\genfrac{}{}{0}{}{{n}}{{4}{}{k}}\right){=}\frac{{{2}}^{{n}}}{{4}}{+}\frac{{\left({1}{-}{I}\right)}^{{n}}}{{4}}{+}\frac{{\left({1}{+}{I}\right)}^{{n}}}{{4}}$ (8)
 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.
 Examples

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)));
 ${-}\frac{\sqrt{{2}{+}{2}{}\sqrt{{2}}}{}{\left({2}{}\sqrt{{2}}{-}{2}\right)}^{{3}}{{2}}}{}\left({-}\frac{\left({-}{3}{+}\frac{{3}{}\left(\sqrt{{2}}{-}{1}\right)}{{1}{+}\sqrt{{2}}}\right){}\left({1}{+}\sqrt{{2}}\right)}{{3}{}\left(\sqrt{{2}}{-}{1}\right)}{-}\frac{{\left({1}{+}\frac{\sqrt{{2}}{-}{1}}{{1}{+}\sqrt{{2}}}\right)}^{{2}}{}{\left({1}{+}\sqrt{{2}}\right)}^{{3}}{{2}}}{}{\mathrm{arctan}}{}\left(\frac{\sqrt{\sqrt{{2}}{-}{1}}}{\sqrt{{1}{+}\sqrt{{2}}}}\right)}{{\left(\sqrt{{2}}{-}{1}\right)}^{{3}}{{2}}}}\right)}{{4}}$ (9)
 > simplify((9), constant);
 ${-}{2}{+}{\mathrm{\pi }}$ (10)
 > (sqrt(3)+3*I)*sqrt(1+I*sqrt(3));
 $\left(\sqrt{{3}}{+}{3}{}{I}\right){}\sqrt{{1}{+}{I}{}\sqrt{{3}}}$ (11)
 > simplify((11), constant);
 ${2}{}{I}{}\sqrt{{2}}{}\sqrt{{3}}$ (12)

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);
 ${\left({-1}\right)}^{\frac{{\mathrm{arg}}{}\left({z}\right)}{{\mathrm{\pi }}}}$ (13)
 > simplify((13),power);
 ${\mathrm{signum}}{}\left({0}{,}{z}{,}{1}\right)$ (14)
 > (-1)^a-(-1)^(-a)-2*I*sin(Pi*a);
 ${\left({-1}\right)}^{{a}}{-}{\left({-1}\right)}^{{-}{a}}{-}{2}{}{I}{}{\mathrm{sin}}{}\left({\mathrm{\pi }}{}{a}\right)$ (15)
 > simplify((15),power);
 ${0}$ (16)

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);
 $\left({\mathrm{diff}}{}\left({s}{}\left({t}\right){,}{t}\right)\right){}\left({\mathrm{Int}}{}\left({f}{}\left({x}\right){}{{x}}^{{s}{}\left({t}\right){-}{1}}{}{\mathrm{ln}}{}\left({x}\right){,}{x}{=}{\mathrm{∞}}{..}{0}\right)\right){+}{\mathrm{int}}{}\left({f}{}\left({x}\right){}{{x}}^{{s}{}\left({t}\right){-}{1}}{}\left({\mathrm{diff}}{}\left({s}{}\left({t}\right){,}{t}\right)\right){}{\mathrm{ln}}{}\left({x}\right){,}{x}{=}{0}{..}{\mathrm{∞}}\right)$ (17)
 > simplify( (17) );
 ${0}$ (18)

Expressions Containing undefined

 New routines for simplifying undefined expressions:
 > ee := Pi*undefined+undefined*I*Pi+x;
 ${\mathrm{ee}}{≔}{\mathrm{\pi }}{}{\mathrm{undefined}}{+}{\mathrm{undefined}}{}{I}{}{\mathrm{\pi }}{+}{x}$ (19)
 > simplify(ee);
 ${\mathrm{undefined}}{-}{\mathrm{undefined}}{}{I}{+}{x}$ (20)
 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((20), symbolic);
 ${\mathrm{undefined}}$ (21)
 The new routines are also sensitive to assumptions.
 > simplify(ee) assuming x::And(constant,real);
 ${\mathrm{undefined}}{+}{\mathrm{undefined}}{}{I}$ (22)

Simplification of Mathematical Functions

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

The abs Function

 > abs(x*y)^2 - abs(x)^2*abs(y)^2;
 ${\left|{x}{}{y}\right|}^{{2}}{-}{\left|{x}\right|}^{{2}}{}{\left|{y}\right|}^{{2}}$ (23)
 > simplify((23), abs);
 ${0}$ (24)
 > z = abs(z)*exp(I*argument(z));
 ${z}{=}\left|{z}\right|{}{{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}$ (25)
 > simplify((25), abs);
 ${z}{=}{z}$ (26)

The argument Function

 New simplification routine for the argument function:
 > argument(z) + I*ln(z/abs(z));
 ${\mathrm{arg}}{}\left({z}\right){+}{I}{}{\mathrm{ln}}{}\left(\frac{{z}}{\left|{z}\right|}\right)$ (27)
 > simplify((27), argument);
 ${0}$ (28)

The exponential Function

 > exp(argument(z)*I);
 ${{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}$ (29)
 > simplify( (29) );
 ${\mathrm{signum}}{}\left({0}{,}{z}{,}{1}\right)$ (30)

The LambertW Function

 Enhanced simplification of the LambertW function:
 > LambertW(-1, 7/6*I*Pi*(-1+3^(1/2)*I));
 ${\mathrm{LambertW}}{}\left({-1}{,}\frac{{7}{}{I}}{{6}}{}{\mathrm{\pi }}{}\left({-}{1}{+}{I}{}\sqrt{{3}}\right)\right)$ (31)
 > simplify((31));
 ${-}\frac{{7}{}{I}}{{3}}{}{\mathrm{\pi }}$ (32)
 The new simplifications are sensitive to assumptions.
 > LambertW(n,2*Pi*I*(n+r)*exp(2*Pi*I*(m+r)));
 ${\mathrm{LambertW}}{}\left({n}{,}{2}{}{I}{}{\mathrm{\pi }}{}\left({n}{+}{r}\right){}{{ⅇ}}^{{2}{}{I}{}{\mathrm{\pi }}{}\left({m}{+}{r}\right)}\right)$ (33)
 > simplify((33)) assuming n::posint, m::integer, -3/4 < r, r <= 1/4;
 ${2}{}{I}{}\left({n}{+}{r}\right){}{\mathrm{\pi }}$ (34)

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));
 ${\mathrm{ln}}{}\left({\mathrm{signum}}{}\left({0}{,}{z}{,}{1}\right)\right)$ (35)
 > simplify( (35) );
 ${I}{}{\mathrm{arg}}{}\left({z}\right)$ (36)
 Better handling of the branches for compositions of the form $\mathrm{ln}@\mathrm{exp}$:
 > ln(exp(33/5*I));
 ${\mathrm{ln}}{}\left({{ⅇ}}^{\frac{{33}{}{I}}{{5}}}\right)$ (37)
 > simplify((37),ln);
 $\frac{{33}{}{I}}{{5}}{-}{2}{}{I}{}{\mathrm{\pi }}$ (38)

 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?"}
 Examples
 In terms of which functions could Zeta(0, z, nu) be expressed?
 $\left[{\mathrm{\zeta }}{}\left({0}{,}{z}{,}{\mathrm{\nu }}\right){=}{\mathrm{LerchPhi}}{}\left({1}{,}{z}{,}{\mathrm{\nu }}\right){,}{\mathrm{with no restrictions on}}{}\left({z}{,}{\mathrm{\nu }}\right)\right]{,}\left[{\mathrm{\zeta }}{}\left({0}{,}{z}{,}{\mathrm{\nu }}\right){=}\frac{{\left({-1}\right)}^{{z}}{}{\mathrm{\Psi }}{}\left({z}{-}{1}{,}{\mathrm{\nu }}\right)}{\left({z}{-}{1}\right){!}}{,}{z}{::}{\mathrm{integer}}{\wedge }{1}{<}{z}\right]{,}\left[{\mathrm{\zeta }}{}\left({0}{,}{z}{,}{\mathrm{\nu }}\right){=}{\mathrm{\zeta }}{}\left({z}\right){-}{\mathrm{harmonic}}{}\left({-}{1}{+}{\mathrm{\nu }}{,}{z}\right){,}\left({-}{1}{+}{\mathrm{\nu }}\right){::}\left({¬}{\mathrm{negint}}\right)\right]$ (39)
 Regarding the specialization into Psi, what is the specialization of Psi into Zeta if we ignore the restriction $z::\mathrm{Typesetting}:-\mathrm{_Hold}\left(\left[\mathrm{integer}\right]\right)\wedge 1 on the value of $z$?
 $\left[{\mathrm{\Psi }}{}\left({z}{-}{1}{,}{\mathrm{\nu }}\right){=}\frac{{\mathrm{\zeta }}{}\left({1}{,}{z}{,}{\mathrm{\nu }}\right){+}\left({\mathrm{\gamma }}{+}{\mathrm{\Psi }}{}\left({1}{-}{z}\right)\right){}{\mathrm{\zeta }}{}\left({0}{,}{z}{,}{\mathrm{\nu }}\right)}{{\mathrm{\Gamma }}{}\left({1}{-}{z}\right)}{,}{\mathrm{with no restrictions on}}{}\left({\mathrm{\nu }}{,}{z}\right)\right]$ (40)
 Non-trivial specializations for the hypergeometric function:
 > FunctionAdvisor(specialize, hypergeom([1, 1, 1 - n], [2, 2], 1) );
 $\left[{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{-}{n}{+}{1}\right]{,}\left[{2}{,}{2}\right]{,}{1}\right){=}{\mathrm{LerchPhi}}{}\left({1}{,}{2}{,}{1}\right){,}{n}{=}{0}\right]{,}\left[{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{-}{n}{+}{1}\right]{,}\left[{2}{,}{2}\right]{,}{1}\right){=}\frac{{\mathrm{MeijerG}}{}\left(\left[\left[{0}{,}{0}{,}{n}\right]{,}\left[\right]\right]{,}\left[\left[{0}\right]{,}\left[{-1}{,}{-1}\right]\right]{,}{-1}\right)}{{\mathrm{\Gamma }}{}\left({-}{n}{+}{1}\right)}{,}{\mathrm{with no restrictions on}}{}\left({n}\right)\right]{,}\left[{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{-}{n}{+}{1}\right]{,}\left[{2}{,}{2}\right]{,}{1}\right){=}\frac{{\mathrm{\Psi }}{}\left({n}{+}{1}\right){+}{\mathrm{\gamma }}}{{n}}{,}{\mathrm{with no restrictions on}}{}\left({n}\right)\right]{,}\left[{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{-}{n}{+}{1}\right]{,}\left[{2}{,}{2}\right]{,}{1}\right){=}{\mathrm{dilog}}{}\left({0}\right){,}{n}{=}{0}\right]{,}\left[{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{-}{n}{+}{1}\right]{,}\left[{2}{,}{2}\right]{,}{1}\right){=}\frac{{{\mathrm{\pi }}}^{{2}}}{{6}}{,}{n}{=}{0}{\wedge }{1}{\ne }{0}\right]$ (41)
 The enhanced routines are sensitive to assumptions. The specialization of $\mathrm{BesselI}\left(a,z\right)$ in terms of the $\mathrm{StruveL}$ function assuming $a+\frac{1}{2}$ is a negative integer:
 > FunctionAdvisor(specialize, BesselI(a,z), StruveL) assuming (a+1/2)::negint;
 $\left[{\mathrm{BesselI}}{}\left({a}{,}{z}\right){=}\frac{{{z}}^{{a}}{}\left({-}\frac{{I}{}{\mathrm{StruveL}}{}\left({-}{a}{,}{-}{z}\right){}{\left({-}{z}\right)}^{{a}}}{{\left({I}{}{z}\right)}^{{2}{}{a}}}{-}\frac{{\sum }_{{\mathrm{_k1}}{=}{0}}^{{-}\frac{{1}}{{2}}{-}{a}}{}\frac{{\left({-1}\right)}^{{\mathrm{_k1}}}{}{\mathrm{pochhammer}}{}\left({a}{+}\frac{{1}}{{2}}{,}{\mathrm{_k1}}\right){}{\mathrm{pochhammer}}{}\left(\frac{{1}}{{2}}{,}{\mathrm{_k1}}\right)}{{\left(\frac{{I}}{{2}}{}{z}\right)}^{{a}{+}{1}{+}{2}{}{\mathrm{_k1}}}{}\left({-}\frac{{1}}{{2}}{-}{a}\right){!}{}\sqrt{{\mathrm{\pi }}}}}{{\left({I}{}{z}\right)}^{{a}}}\right)}{{\left({-1}\right)}^{{a}{-}\frac{{1}}{{2}}}}{,}{\mathrm{with no restrictions on}}{}\left({a}{,}{z}\right)\right]$ (42)
 To compute all the specializations for $\mathrm{BesselY}\left(\frac{1}{2},z\right)$ that the FunctionAdvisor command can compute, enter $\mathrm{FunctionAdvisor}\left(\mathrm{specialize},'\mathrm{BesselY}'\left(\frac{1}{2},z\right)\right)$ 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.
 Examples
 Elliptic functions:
 > EllipticNome( EllipticModulus(q) ) assuming abs(q) < 1;
 ${q}$ (43)
 > EllipticModulus( EllipticNome(k) ) assuming Re(k) > 0;
 ${k}$ (44)
 binomial function:
 > binomial(a,k) assuming a::posint, k::negint;
 ${0}$ (45)
 The classic definition for the Psi(n,z) function as the nth derivative of $\mathrm{\Psi }\left(z\right)$, 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.
 ${\mathrm{\Psi }}{}\left({n}{,}{z}\right){=}\frac{{\mathrm{\zeta }}{}\left({1}{,}{n}{+}{1}{,}{z}\right){+}\left({\mathrm{\gamma }}{+}{\mathrm{\Psi }}{}\left({-}{n}\right)\right){}{\mathrm{\zeta }}{}\left({0}{,}{n}{+}{1}{,}{z}\right)}{{\mathrm{\Gamma }}{}\left({-}{n}\right)}$ (46)

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.
 Examples
 For functions related to special cases of the hypergeom function:
 > polylog(2,z);
 ${\mathrm{polylog}}{}\left({2}{,}{z}\right)$ (47)
 > (47) = convert((47), hypergeom);
 ${\mathrm{polylog}}{}\left({2}{,}{z}\right){=}{z}{}{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{1}\right]{,}\left[{2}{,}{2}\right]{,}{z}\right)$ (48)
 > convert((48),LerchPhi);
 ${z}{}{\mathrm{LerchPhi}}{}\left({z}{,}{2}{,}{1}\right){=}{z}{}{\mathrm{LerchPhi}}{}\left({z}{,}{2}{,}{1}\right)$ (49)
 > convert(lhs((49)),polylog) = convert(rhs((49)),hypergeom);    # convert the other way around
 ${\mathrm{polylog}}{}\left({2}{,}{z}\right){=}{z}{}{\mathrm{hypergeom}}{}\left(\left[{1}{,}{1}{,}{1}\right]{,}\left[{2}{,}{2}\right]{,}{z}\right)$ (50)
 For the argument function:
 > argument(z);
 ${\mathrm{arg}}{}\left({z}\right)$ (51)
 > (51)  =  convert((51),ln);
 ${\mathrm{arg}}{}\left({z}\right){=}{-I}{}{\mathrm{ln}}{}\left(\frac{{z}}{\left|{z}\right|}\right)$ (52)
 > (51) = convert((51),arctan);
 ${\mathrm{arg}}{}\left({z}\right){=}{\mathrm{arctan}}{}\left({\mathrm{\Im }}{}\left({z}\right){,}{\mathrm{\Re }}{}\left({z}\right)\right)$ (53)
 More Sum representations for special functions:
 > EllipticModulus(q);
 ${\mathrm{EllipticModulus}}{}\left({q}\right)$ (54)
 > (54) = convert((54), Sum) assuming abs(q) < 1;
 ${\mathrm{EllipticModulus}}{}\left({q}\right){=}\frac{{\left({\sum }_{{\mathrm{_k1}}{=}{0}}^{{\mathrm{\infty }}}{}{2}{}{{q}}^{{\left(\frac{{1}}{{2}}{+}{\mathrm{_k1}}\right)}^{{2}}}\right)}^{{2}}}{{\left(\left({\sum }_{{\mathrm{_k1}}{=}{1}}^{{\mathrm{\infty }}}{}{2}{}{{q}}^{{{\mathrm{_k1}}}^{{2}}}\right){+}{1}\right)}^{{2}}}$ (55)
 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.
 * Partial match of "sum" against topic "sum_form".
 $\left[{\mathrm{EllipticNome}}{}\left({k}\right){=}{\sum }_{{\mathrm{_k2}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\left({-}\frac{\left({\sum }_{{\mathrm{_k1}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{{\mathrm{pochhammer}}{}\left(\frac{{1}}{{2}}{,}{\mathrm{_k1}}\right)}^{{2}}{}{\left({-}{{k}}^{{2}}{+}{1}\right)}^{{\mathrm{_k1}}}}{{\mathrm{_k1}}{!}{}{\mathrm{pochhammer}}{}\left({1}{,}{\mathrm{_k1}}\right)}\right){}{\mathrm{\pi }}}{{\sum }_{{\mathrm{_k1}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{{\mathrm{pochhammer}}{}\left(\frac{{1}}{{2}}{,}{\mathrm{_k1}}\right)}^{{2}}{}{{k}}^{{2}{}{\mathrm{_k1}}}}{{\mathrm{_k1}}{!}{}{\mathrm{pochhammer}}{}\left({1}{,}{\mathrm{_k1}}\right)}}\right)}^{{\mathrm{_k2}}}}{{\mathrm{_k2}}{!}}{,}\left|{k}\right|{<}{1}\right]$ (56)
 New conversion rules for the hypergeometric 2F1 function
 > hypergeom([a,b],[c],z);
 ${\mathrm{hypergeom}}{}\left(\left[{a}{,}{b}\right]{,}\left[{c}\right]{,}{z}\right)$ (57)
 > convert((57), hypergeom, "quadratic 1") assuming -1/2+a+b-c = 0;
 $\frac{{\mathrm{hypergeom}}{}\left(\left[{2}{}{a}{-}{1}{,}{-}{1}{+}{2}{}{b}\right]{,}\left[{-}\frac{{1}}{{2}}{+}{a}{+}{b}\right]{,}\frac{{1}}{{2}}{-}\frac{\sqrt{{1}{-}{z}}}{{2}}\right)}{\sqrt{{1}{-}{z}}}$ (58)
 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

 Examples
 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);
 ${\mathrm{\Gamma }}{}\left({a}{,}{z}\right){}{\mathrm{ln}}{}\left({z}\right){+}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[{1}{,}{1}\right]\right]{,}\left[\left[{0}{,}{0}{,}{a}\right]{,}\left[\right]\right]{,}{z}\right)$ (59)
 To express the previous expression in terms of the hypergeometric function, use \mathrm{convert}\left(\left[\mathrm{Typesetting}:-\mathrm{AD},\mathrm{Typesetting}:-\mathrm{EV},\mathrm{Typesetting}:-\mathrm{mi},\mathrm{Typesetting}:-\mathrm{mio},\mathrm{Typesetting}:-\mathrm{mn},\mathrm{Typesetting}:-\mathrm{mo},\mathrm{Typesetting}:-\mathrm{ms},\mathrm{Typesetting}:-\mathrm{mtd},\mathrm{Typesetting}:-\mathrm{mtr},\mathrm{Typesetting}:-\mathrm{maction},\mathrm{Typesetting}:-\mathrm{maddr},\mathrm{Typesetting}:-\mathrm{matomic},\mathrm{Typesetting}:-\mathrm{mempty},\mathrm{Typesetting}:-\mathrm{merror},\mathrm{Typesetting}:-\mathrm{mfail},\mathrm{Typesetting}:-\mathrm{mfenced},\mathrm{Typesetting}:-\mathrm{mfrac},\mathrm{Typesetting}:-\mathrm{mglyph},\mathrm{Typesetting}:-\mathrm{mover},\mathrm{Typesetting}:-\mathrm{mpadded},\mathrm{Typesetting}:-\mathrm{mparsed},\mathrm{Typesetting}:-\mathrm{mprimed},\mathrm{Typesetting}:-\mathrm{mroot},\mathrm{Typesetting}:-\mathrm{mrow},\mathrm{Typesetting}:-\mathrm{mspace},\mathrm{Typesetting}:-\mathrm{msqrt},\mathrm{Typesetting}:-\mathrm{mstyle},\mathrm{Typesetting}:-\mathrm{msub},\mathrm{Typesetting}:-\mathrm{msubsup},\mathrm{Typesetting}:-\mathrm{msup},\mathrm{Typesetting}:-\mathrm{mtable},\mathrm{Typesetting}:-\mathrm{mtext},\mathrm{Typesetting}:-\mathrm{munder},\mathrm{Typesetting}:-\mathrm{none},\mathrm{Typesetting}:-\mathrm{maligngroup},\mathrm{Typesetting}:-\mathrm{malignmark},\mathrm{Typesetting}:-\mathrm{mambiguous},\mathrm{Typesetting}:-\mathrm{menclose},\mathrm{Typesetting}:-\mathrm{mlabeledtr},\mathrm{Typesetting}:-\mathrm{mpattern},\mathrm{Typesetting}:-\mathrm{mphantom},\mathrm{Typesetting}:-\mathrm{mprescripts},\mathrm{Typesetting}:-\mathrm{mprintslash},\mathrm{Typesetting}:-\mathrm{mscripts},\mathrm{Typesetting}:-\mathrm{msemantics},\mathrm{Typesetting}:-\mathrm{munderover},\mathrm{Typesetting}:-\mathrm{mverbatim},\mathrm{Typesetting}:-\mathrm{mmultiscripts}\right],\mathrm{hypergeom}\right)
 Improved differentiation of special functions with respect to parameters:
 > Diff( MeijerG([[], [b+1, b+1]],[[b, b, f(a)], []],z), a );
 ${\mathrm{Diff}}{}\left({\mathrm{MeijerG}}{}\left(\left[\left[{}\right]{,}\left[{b}{+}{1}{,}{b}{+}{1}\right]\right]{,}\left[\left[{f}{}\left({a}\right){,}{b}{,}{b}\right]{,}\left[{}\right]\right]{,}{z}\right){,}{a}\right)$ (60)
 > value((60));
 $\left({\mathrm{ln}}{}\left({z}\right){}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[{b}{+}{1}{,}{b}{+}{1}\right]\right]{,}\left[\left[{f}{}\left({a}\right){,}{b}{,}{b}\right]{,}\left[\right]\right]{,}{z}\right){+}{2}{}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[{b}{+}{1}{,}{b}{+}{1}{,}{b}{+}{1}\right]\right]{,}\left[\left[{f}{}\left({a}\right){,}{b}{,}{b}{,}{b}\right]{,}\left[\right]\right]{,}{z}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{a}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{f}{}\left({a}\right)\right)$ (61)
 > Diff( MeijerG([[], []],[[f(a)], []],g(z)), a );
 ${\mathrm{Diff}}{}\left({\mathrm{MeijerG}}{}\left(\left[\left[{}\right]{,}\left[{}\right]\right]{,}\left[\left[{f}{}\left({a}\right)\right]{,}\left[{}\right]\right]{,}{g}{}\left({z}\right)\right){,}{a}\right)$ (62)
 > value((62));
 ${\mathrm{ln}}{}\left({g}{}\left({z}\right)\right){}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[\right]\right]{,}\left[\left[{f}{}\left({a}\right)\right]{,}\left[\right]\right]{,}{g}{}\left({z}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{a}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{f}{}\left({a}\right)\right)$ (63)
 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
 ${z}{=}\left|{z}\right|{}{{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}$ (64)
 > diff( (64), z);    # a 'representation' for d/dz argument(z) using abs(1,z)
 ${1}{=}{\mathrm{abs}}{}\left({1}{,}{z}\right){}{{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}{+}{I}{}\left|{z}\right|{}\left({-}\frac{{I}}{{z}}{+}\frac{{I}{}{\mathrm{abs}}{}\left({1}{,}{z}\right)}{\left|{z}\right|}\right){}{{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}$ (65)
 > expand( (65) );    # in this example, abs(1,z) cancels out
 ${1}{=}\frac{\left|{z}\right|{}{{ⅇ}}^{{I}{}{\mathrm{arg}}{}\left({z}\right)}}{{z}}$ (66)
 > simplify( (66) );  # further correct manipulations are then feasible
 ${1}{=}{1}$ (67)

The combine Command

 Combinations in Sums now take into account that the summation variable can have only integer values in the summation range.
 Examples
 > ee := k*(2*ln(k+1)-ln(k)-ln(k+2));
 ${\mathrm{ee}}{≔}{k}{}\left({2}{}{\mathrm{ln}}{}\left({k}{+}{1}\right){-}{\mathrm{ln}}{}\left({k}\right){-}{\mathrm{ln}}{}\left({k}{+}{2}\right)\right)$ (68)
 > combine(ee, ln);   # <- k is an arbitrary complex variable, nothing to do
 ${k}{}\left({2}{}{\mathrm{ln}}{}\left({k}{+}{1}\right){-}{\mathrm{ln}}{}\left({k}\right){-}{\mathrm{ln}}{}\left({k}{+}{2}\right)\right)$ (69)
 > Sum( ee, k=1..infinity );   # k is now an integer from 1 to infinity
 ${\sum }_{{k}{=}{1}}^{{\mathrm{\infty }}}{}{k}{}\left({2}{}{\mathrm{ln}}{}\left({k}{+}{1}\right){-}{\mathrm{ln}}{}\left({k}\right){-}{\mathrm{ln}}{}\left({k}{+}{2}\right)\right)$ (70)
 > combine( (70), ln );   # a combination is therefore possible
 ${\sum }_{{k}{=}{1}}^{{\mathrm{\infty }}}{}{k}{}{\mathrm{ln}}{}\left(\frac{{\left({k}{+}{1}\right)}^{{2}}}{{k}{}\left({k}{+}{2}\right)}\right)$ (71)
 The combination of logarithms is now more general.
 > -ln(5) + ln(abs(x)) - ln(x);
 ${-}{\mathrm{ln}}{}\left({5}\right){+}{\mathrm{ln}}{}\left(\left|{x}\right|\right){-}{\mathrm{ln}}{}\left({x}\right)$ (72)
 > combine((72));
 ${-}{\mathrm{ln}}{}\left(\frac{{5}{}{x}}{\left|{x}\right|}\right)$ (73)
 > ln(x)-ln(y);
 ${\mathrm{ln}}{}\left({x}\right){-}{\mathrm{ln}}{}\left({y}\right)$ (74)
 > combine((74)) assuming x > 0;
 ${-}{\mathrm{ln}}{}\left(\frac{{y}}{{x}}\right)$ (75)
 > ln(a-1)+I*Pi-ln(1-a);
 ${\mathrm{ln}}{}\left({a}{-}{1}\right){+}{I}{}{\mathrm{\pi }}{-}{\mathrm{ln}}{}\left({1}{-}{a}\right)$ (76)
 > combine((76)) assuming a > 1;
 ${0}$ (77)

The series Command

 The series command can compute series expansions for more functions.
 Examples
 > EllipticModulus(q);
 ${\mathrm{EllipticModulus}}{}\left({q}\right)$ (78)
 > series((78), q);
 ${4}{}\sqrt{{q}}{-}{16}{}{{q}}^{{3}}{{2}}}{+}{56}{}{{q}}^{{5}}{{2}}}{-}{160}{}{{q}}^{{7}}{{2}}}{+}{404}{}{{q}}^{{9}}{{2}}}{-}{944}{}{{q}}^{{11}}{{2}}}{+}{\mathrm{O}}{}\left({{q}}^{{13}}{{2}}}\right)$ (79)
 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);
 ${\mathrm{\Gamma }}{}\left({a}{,}{z}\right)$ (80)
 > series((80), a, 2);
 ${{\mathrm{Ei}}}_{{1}}{}\left({z}\right){+}\left({{\mathrm{Ei}}}_{{1}}{}\left({z}\right){}{\mathrm{ln}}{}\left({z}\right){+}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[{1}{,}{1}\right]\right]{,}\left[\left[{0}{,}{0}{,}{0}\right]{,}\left[\right]\right]{,}{z}\right)\right){}{a}{+}{O}{}\left({{a}}^{{2}}\right)$ (81)
 > Ei(a,z);
 ${{\mathrm{Ei}}}_{{a}}{}\left({z}\right)$ (82)
 > series((82), a, 2);
 $\frac{{{ⅇ}}^{{-}{z}}}{{z}}{-}{\mathrm{MeijerG}}{}\left(\left[\left[\right]{,}\left[{0}\right]\right]{,}\left[\left[{-1}{,}{-1}\right]{,}\left[\right]\right]{,}{z}\right){}{a}{+}{O}{}\left({{a}}^{{2}}\right)$ (83)

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 $\left(a+bI\right)\mathrm{..}\left(c+dI\right)$ to $\left(a+r+\left(b+s\right)I\right)\mathrm{..}\left(c+r+\left(d+s\right)I\right)$. 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.
 Example
 A comparison of $\mathrm{sin}\left(x\right)$ with its cubic Taylor polynomial.
 > plots[plotcompare]( sin(x), x-x^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), x-x^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.
 Example
 > singular( tan(x) );         # works as in previous releases
 $\left\{{x}{=}\frac{{1}}{{2}}{}{\mathrm{\pi }}{+}{\mathrm{_Z1~}}{}{\mathrm{\pi }}\right\}$ (84)
 > singular( tan(x), 1..10 );  # new
 $\left\{{x}{=}\frac{{\mathrm{\pi }}}{{2}}\right\}{,}\left\{{x}{=}\frac{{3}{}{\mathrm{\pi }}}{{2}}\right\}{,}\left\{{x}{=}\frac{{5}{}{\mathrm{\pi }}}{{2}}\right\}$ (85)