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 Mathematics

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

Integration

The int command now supports the method option for indefinite integrals. Methods include Risch, MeijerG, Elliptic, Norman and Trager. More methods and details can be found on the help page.

 > $\mathrm{int}\left(\mathrm{cos}\left(x+1\right),x,\mathrm{method}=\mathrm{meijerg_raw}\right)$
 ${\mathrm{cos}}\left({1}\right){}{x}{}{\mathrm{hypergeom}}\left(\left[\right]{,}\left[\frac{{3}}{{2}}\right]{,}{-}\frac{{{x}}^{{2}}}{{4}}\right){-}\frac{{\mathrm{sin}}\left({1}\right){}{{x}}^{{2}}{}{\mathrm{hypergeom}}\left(\left[{1}\right]{,}\left[\frac{{3}}{{2}}{,}{2}\right]{,}{-}\frac{{{x}}^{{2}}}{{4}}\right)}{{2}}$ (1.1)
 > $\mathrm{int}\left(\mathrm{cos}\left(x+1\right),x,\mathrm{method}=\mathrm{risch}\right)$
 ${\mathrm{sin}}\left({x}{+}{1}\right)$ (1.2)

Additionally, the new meta-method _RETURNVERBOSE has been added for both definite and indefinite integration. It returns the result of integration for most of the available integration methods.

 > $\mathrm{int}\left(\mathrm{cos}\left(x+1\right),x,\mathrm{method}=\mathrm{_RETURNVERBOSE}\right)$
 $\left[{"derivativedivides"}{=}{\mathrm{sin}}\left({x}{+}{1}\right){,}{"default"}{=}{\mathrm{sin}}\left({x}{+}{1}\right){,}{"norman"}{=}\frac{{2}{}{\mathrm{tan}}\left(\frac{{x}}{{2}}{+}\frac{{1}}{{2}}\right)}{{1}{+}{{\mathrm{tan}}\left(\frac{{x}}{{2}}{+}\frac{{1}}{{2}}\right)}^{{2}}}{,}{"meijerg"}{=}{\mathrm{cos}}\left({1}\right){}{\mathrm{sin}}\left({x}\right){-}{\mathrm{sin}}\left({1}\right){}\sqrt{{\mathrm{\pi }}}{}\left(\frac{{1}}{\sqrt{{\mathrm{\pi }}}}{-}\frac{{\mathrm{cos}}\left({x}\right)}{\sqrt{{\mathrm{\pi }}}}\right){,}{"risch"}{=}{\mathrm{sin}}\left({x}{+}{1}\right){,}{\mathrm{FAILS}}{=}\left({"gosper"}{,}{"lookup"}{,}{"trager"}{,}{"elliptic"}\right)\right]$ (1.3)
 > $\mathrm{int}\left(\frac{1}{\sqrt{\left(-{t}^{2}+1\right)\left(-2{t}^{2}+1\right)}},t=0..1,\mathrm{method}=\mathrm{_RETURNVERBOSE}\right)$
 $\left[{\mathrm{ftoc}}{=}{\mathrm{EllipticK}}\left(\sqrt{{2}}\right){,}{\mathrm{elliptic}}{=}{-}\frac{{I}{}\sqrt{{2}}{}{\mathrm{EllipticK}}\left(\frac{\sqrt{{2}}}{{2}}\right)}{{2}}{+}\frac{\sqrt{{2}}{}{\mathrm{EllipticK}}\left(\frac{\sqrt{{2}}}{{2}}\right)}{{2}}{,}{\mathrm{ftocms}}{=}{\mathrm{EllipticK}}\left(\sqrt{{2}}\right){,}{\mathrm{FAILS}}{=}\left({\mathrm{distribution}}{,}{\mathrm{piecewise}}{,}{\mathrm{series}}{,}{o}{,}{\mathrm{polynomial}}{,}{\mathrm{ln}}{,}{\mathrm{lookup}}{,}{\mathrm{cook}}{,}{\mathrm{ratpoly}}{,}{\mathrm{elliptictrig}}{,}{\mathrm{meijergspecial}}{,}{\mathrm{improper}}{,}{\mathrm{asymptotic}}{,}{\mathrm{meijerg}}{,}{\mathrm{contour}}\right)\right]$ (1.4)

The internal algorithms of indefinite integration have been improved. The Risch-Trager algorithm gets called more often so that fewer integrals containing radical expressions will return partially evaluated. In Maple 2020, the integral  returned as $-\frac{x\sqrt{{x}^{5}+{x}^{2}-1}}{{x}^{5}-1}+\int \frac{3{x}^{5}+2}{2\left({x}^{5}-1\right)\sqrt{{x}^{5}+{x}^{2}-1}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}ⅆx$.
Now, an elementary answer is computed.

 > $\int \frac{\left(2+3{x}^{5}\right){\left(-1+{x}^{2}+{x}^{5}\right)}^{\frac{1}{2}}}{{\left(-1+{x}^{5}\right)}^{2}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}ⅆx$
 ${-}\frac{{x}{}\sqrt{{{x}}^{{5}}{+}{{x}}^{{2}}{-}{1}}}{{{x}}^{{5}}{-}{1}}{+}\frac{{\mathrm{ln}}\left({-}\frac{{-}{{x}}^{{5}}{+}{2}{}\sqrt{{{x}}^{{5}}{+}{{x}}^{{2}}{-}{1}}{}{x}{-}{2}{}{{x}}^{{2}}{+}{1}}{\left({x}{-}{1}\right){}\left({{x}}^{{4}}{+}{{x}}^{{3}}{+}{{x}}^{{2}}{+}{x}{+}{1}\right)}\right)}{{2}}$ (1.5)

Multivariate limits

The limit command has been improved for the multivariate case of quotients of analytic functions. The following limits can now be computed.

 >

g is not homogeneous but has an isolated root at the origin. It is, however, weighted homogeneous.

 > $\mathrm{PolynomialTools}:-\mathrm{IsHomogeneous}\left(g\right)$
 ${\mathrm{false}}$ (2.1)
 > $\mathrm{PolynomialTools}:-\mathrm{IsHomogeneous}\left(g,\left[x,y,z\right],\left[2,2,1\right]\right)$
 ${\mathrm{true}}$ (2.2)
 >
 $\left[\left\{\begin{array}{cc}{x}{=}{0}& {}\\ {y}{=}{0}& {}\\ {z}{=}{0}& {}\end{array}\right\\right]$ (2.3)
 > $\mathrm{limit}\left(\frac{x\cdot y\cdot z}{g},\left\{x,y,z\right\}=~0\right)$
 ${0}$ (2.4)
 > $\mathrm{limit}\left(\frac{g+x\cdot y\cdot z}{g+x\cdot {y}^{3}-y\cdot {z}^{3}},\left\{x,y,z\right\}=~0\right)$
 ${1}$ (2.5)
 > $\mathrm{limit}\left(\frac{g+x\cdot {z}^{2}}{g+y\cdot {z}^{2}},\left\{x,y,z\right\}=~0\right)$
 ${\mathrm{undefined}}$ (2.6)
 > $\mathrm{limit}\left(\frac{\mathrm{sin}\left(x+y\right)+{z}^{2}}{g},\left\{x,y,z\right\}=~0\right)$
 ${\mathrm{undefined}}$ (2.7)
 > $\mathrm{limit}\left(\frac{g}{{\left(x-{z}^{2}\right)}^{4}},\left\{x,y,z\right\}=~0\right)$
 ${\mathrm{\infty }}$ (2.8)

New MultivariatePowerSeries package

The MultivariatePowerSeries package is new. It provides functionality for doing lazy computations with multivariate power series at high speed and high precision. The word 'lazy' here means that terms are computed only when necessary; further terms can always be computed at relatively little cost.

$\mathrm{with}\left(\mathrm{MultivariatePowerSeries}\right);$

 $\left[{\mathrm{Add}}{,}{\mathrm{ApproximatelyEqual}}{,}{\mathrm{ApproximatelyZero}}{,}{\mathrm{Copy}}{,}{\mathrm{Degree}}{,}{\mathrm{Display}}{,}{\mathrm{Divide}}{,}{\mathrm{EvaluateAtOrigin}}{,}{\mathrm{Exponentiate}}{,}{\mathrm{GeometricSeries}}{,}{\mathrm{GetAnalyticExpression}}{,}{\mathrm{GetCoefficient}}{,}{\mathrm{HenselFactorize}}{,}{\mathrm{HomogeneousPart}}{,}{\mathrm{Inverse}}{,}{\mathrm{IsUnit}}{,}{\mathrm{MainVariable}}{,}{\mathrm{Multiply}}{,}{\mathrm{Negate}}{,}{\mathrm{PowerSeries}}{,}{\mathrm{Precision}}{,}{\mathrm{SetDefaultDisplayStyle}}{,}{\mathrm{SetDisplayStyle}}{,}{\mathrm{Subtract}}{,}{\mathrm{SumOfAllMonomials}}{,}{\mathrm{TaylorShift}}{,}{\mathrm{Truncate}}{,}{\mathrm{UnivariatePolynomialOverPowerSeries}}{,}{\mathrm{UpdatePrecision}}{,}{\mathrm{Variables}}{,}{\mathrm{WeierstrassPreparation}}\right]$ (3.1)

 ${a}{≔}\left[{PowⅇrSⅇriⅇs of}\frac{{1}}{{1}{-}{x}{-}{y}}{:}{1}{+}{x}{+}{y}{+}{\dots }\right]$ (3.2)

 ${b}{≔}\left[{PowⅇrSⅇriⅇs of}\frac{{1}}{\left({1}{-}{x}\right){}\left({1}{-}{y}\right)}{:}{1}{+}{x}{+}{y}{+}{\dots }\right]$ (3.3)

 ${c}{≔}\left[{PowⅇrSⅇriⅇs of}\frac{{1}}{{1}{-}{x}{-}{y}}{-}\frac{{1}}{\left({1}{-}{x}\right){}\left({1}{-}{y}\right)}{:}{0}{+}{\dots }\right]$ (3.4)

 ${99}{}{{x}}^{{99}}{}{y}{+}{4949}{}{{x}}^{{98}}{}{{y}}^{{2}}{+}{161699}{}{{x}}^{{97}}{}{{y}}^{{3}}{+}{3921224}{}{{x}}^{{96}}{}{{y}}^{{4}}{+}{75287519}{}{{x}}^{{95}}{}{{y}}^{{5}}{+}{1192052399}{}{{x}}^{{94}}{}{{y}}^{{6}}{+}{16007560799}{}{{x}}^{{93}}{}{{y}}^{{7}}{+}{186087894299}{}{{x}}^{{92}}{}{{y}}^{{8}}{+}{1902231808399}{}{{x}}^{{91}}{}{{y}}^{{9}}{+}{17310309456439}{}{{x}}^{{90}}{}{{y}}^{{10}}{+}{141629804643599}{}{{x}}^{{89}}{}{{y}}^{{11}}{+}{1050421051106699}{}{{x}}^{{88}}{}{{y}}^{{12}}{+}{7110542499799199}{}{{x}}^{{87}}{}{{y}}^{{13}}{+}{44186942677323599}{}{{x}}^{{86}}{}{{y}}^{{14}}{+}{253338471349988639}{}{{x}}^{{85}}{}{{y}}^{{15}}{+}{1345860629046814649}{}{{x}}^{{84}}{}{{y}}^{{16}}{+}{6650134872937201799}{}{{x}}^{{83}}{}{{y}}^{{17}}{+}{30664510802988208299}{}{{x}}^{{82}}{}{{y}}^{{18}}{+}{132341572939212267399}{}{{x}}^{{81}}{}{{y}}^{{19}}{+}{535983370403809682969}{}{{x}}^{{80}}{}{{y}}^{{20}}{+}{2041841411062132125599}{}{{x}}^{{79}}{}{{y}}^{{21}}{+}{7332066885177656269199}{}{{x}}^{{78}}{}{{y}}^{{22}}{+}{24865270306254660391199}{}{{x}}^{{77}}{}{{y}}^{{23}}{+}{79776075565900368755099}{}{{x}}^{{76}}{}{{y}}^{{24}}{+}{242519269720337121015503}{}{{x}}^{{75}}{}{{y}}^{{25}}{+}{699574816500972464467799}{}{{x}}^{{74}}{}{{y}}^{{26}}{+}{1917353200780443050763599}{}{{x}}^{{73}}{}{{y}}^{{27}}{+}{4998813702034726525205099}{}{{x}}^{{72}}{}{{y}}^{{28}}{+}{12410847811948286545336799}{}{{x}}^{{71}}{}{{y}}^{{29}}{+}{29372339821610944823963759}{}{{x}}^{{70}}{}{{y}}^{{30}}{+}{66324638306863423796047199}{}{{x}}^{{69}}{}{{y}}^{{31}}{+}{143012501349174257560226774}{}{{x}}^{{68}}{}{{y}}^{{32}}{+}{294692427022540894366527899}{}{{x}}^{{67}}{}{{y}}^{{33}}{+}{580717429720889409486981449}{}{{x}}^{{66}}{}{{y}}^{{34}}{+}{1095067153187962886461165019}{}{{x}}^{{65}}{}{{y}}^{{35}}{+}{1977204582144932989443770174}{}{{x}}^{{64}}{}{{y}}^{{36}}{+}{3420029547493938143902737599}{}{{x}}^{{63}}{}{{y}}^{{37}}{+}{5670048986634686922786117599}{}{{x}}^{{62}}{}{{y}}^{{38}}{+}{9013924030034630492634340799}{}{{x}}^{{61}}{}{{y}}^{{39}}{+}{13746234145802811501267369719}{}{{x}}^{{60}}{}{{y}}^{{40}}{+}{20116440213369968050635175199}{}{{x}}^{{59}}{}{{y}}^{{41}}{+}{28258808871162574166368460399}{}{{x}}^{{58}}{}{{y}}^{{42}}{+}{38116532895986727945334202399}{}{{x}}^{{57}}{}{{y}}^{{43}}{+}{49378235797073715747364762199}{}{{x}}^{{56}}{}{{y}}^{{44}}{+}{61448471214136179596720592959}{}{{x}}^{{55}}{}{{y}}^{{45}}{+}{73470998190814997343905056799}{}{{x}}^{{54}}{}{{y}}^{{46}}{+}{84413487283064039501507937599}{}{{x}}^{{53}}{}{{y}}^{{47}}{+}{93206558875049876949581681099}{}{{x}}^{{52}}{}{{y}}^{{48}}{+}{98913082887808032681188722799}{}{{x}}^{{51}}{}{{y}}^{{49}}{+}{100891344545564193334812497255}{}{{x}}^{{50}}{}{{y}}^{{50}}{+}{98913082887808032681188722799}{}{{x}}^{{49}}{}{{y}}^{{51}}{+}{93206558875049876949581681099}{}{{x}}^{{48}}{}{{y}}^{{52}}{+}{84413487283064039501507937599}{}{{x}}^{{47}}{}{{y}}^{{53}}{+}{73470998190814997343905056799}{}{{x}}^{{46}}{}{{y}}^{{54}}{+}{61448471214136179596720592959}{}{{x}}^{{45}}{}{{y}}^{{55}}{+}{49378235797073715747364762199}{}{{x}}^{{44}}{}{{y}}^{{56}}{+}{38116532895986727945334202399}{}{{x}}^{{43}}{}{{y}}^{{57}}{+}{28258808871162574166368460399}{}{{x}}^{{42}}{}{{y}}^{{58}}{+}{20116440213369968050635175199}{}{{x}}^{{41}}{}{{y}}^{{59}}{+}{13746234145802811501267369719}{}{{x}}^{{40}}{}{{y}}^{{60}}{+}{9013924030034630492634340799}{}{{x}}^{{39}}{}{{y}}^{{61}}{+}{5670048986634686922786117599}{}{{x}}^{{38}}{}{{y}}^{{62}}{+}{3420029547493938143902737599}{}{{x}}^{{37}}{}{{y}}^{{63}}{+}{1977204582144932989443770174}{}{{x}}^{{36}}{}{{y}}^{{64}}{+}{1095067153187962886461165019}{}{{x}}^{{35}}{}{{y}}^{{65}}{+}{580717429720889409486981449}{}{{x}}^{{34}}{}{{y}}^{{66}}{+}{294692427022540894366527899}{}{{x}}^{{33}}{}{{y}}^{{67}}{+}{143012501349174257560226774}{}{{x}}^{{32}}{}{{y}}^{{68}}{+}{66324638306863423796047199}{}{{x}}^{{31}}{}{{y}}^{{69}}{+}{29372339821610944823963759}{}{{x}}^{{30}}{}{{y}}^{{70}}{+}{12410847811948286545336799}{}{{x}}^{{29}}{}{{y}}^{{71}}{+}{4998813702034726525205099}{}{{x}}^{{28}}{}{{y}}^{{72}}{+}{1917353200780443050763599}{}{{x}}^{{27}}{}{{y}}^{{73}}{+}{699574816500972464467799}{}{{x}}^{{26}}{}{{y}}^{{74}}{+}{242519269720337121015503}{}{{x}}^{{25}}{}{{y}}^{{75}}{+}{79776075565900368755099}{}{{x}}^{{24}}{}{{y}}^{{76}}{+}{24865270306254660391199}{}{{x}}^{{23}}{}{{y}}^{{77}}{+}{7332066885177656269199}{}{{x}}^{{22}}{}{{y}}^{{78}}{+}{2041841411062132125599}{}{{x}}^{{21}}{}{{y}}^{{79}}{+}{535983370403809682969}{}{{x}}^{{20}}{}{{y}}^{{80}}{+}{132341572939212267399}{}{{x}}^{{19}}{}{{y}}^{{81}}{+}{30664510802988208299}{}{{x}}^{{18}}{}{{y}}^{{82}}{+}{6650134872937201799}{}{{x}}^{{17}}{}{{y}}^{{83}}{+}{1345860629046814649}{}{{x}}^{{16}}{}{{y}}^{{84}}{+}{253338471349988639}{}{{x}}^{{15}}{}{{y}}^{{85}}{+}{44186942677323599}{}{{x}}^{{14}}{}{{y}}^{{86}}{+}{7110542499799199}{}{{x}}^{{13}}{}{{y}}^{{87}}{+}{1050421051106699}{}{{x}}^{{12}}{}{{y}}^{{88}}{+}{141629804643599}{}{{x}}^{{11}}{}{{y}}^{{89}}{+}{17310309456439}{}{{x}}^{{10}}{}{{y}}^{{90}}{+}{1902231808399}{}{{x}}^{{9}}{}{{y}}^{{91}}{+}{186087894299}{}{{x}}^{{8}}{}{{y}}^{{92}}{+}{16007560799}{}{{x}}^{{7}}{}{{y}}^{{93}}{+}{1192052399}{}{{x}}^{{6}}{}{{y}}^{{94}}{+}{75287519}{}{{x}}^{{5}}{}{{y}}^{{95}}{+}{3921224}{}{{x}}^{{4}}{}{{y}}^{{96}}{+}{161699}{}{{x}}^{{3}}{}{{y}}^{{97}}{+}{4949}{}{{x}}^{{2}}{}{{y}}^{{98}}{+}{99}{}{x}{}{{y}}^{{99}}$ (3.5)

 ${d}{≔}\left[{PowⅇrSⅇriⅇs of}{{ⅇ}}^{{x}{+}{y}}{:}{1}{+}{\dots }\right]$ (3.6)

 ${e}{≔}\left[{PowⅇrSⅇriⅇs of}{\mathrm{sin}}\left({x}\right){:}{0}{+}{\dots }\right]$ (3.7)

The package also has functionality for univariate polynomials over such power series, including Hensel factorization. Mathematically, these objects are just power series where one of the variables occurs only up to a given finite degree, but implementation-wise, they allow for more and more efficient functionality.

 ${u}{≔}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({4}{+}{\dots }\right){+}\left({0}{+}{\dots }\right){}{z}{+}\left({-3}{+}{\dots }\right){}{{z}}^{{2}}{+}\left({1}\right){}{{z}}^{{3}}\right]$ (3.8)

 ${\mathrm{factorization}}{≔}\left[\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({1}{+}{\dots }\right){+}\left({1}\right){}{z}\right]{,}\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({4}{+}{\dots }\right){+}\left({-4}{+}{\dots }\right){}{z}{+}\left({1}\right){}{{z}}^{{2}}\right]\right]$ (3.9)

Let us examine the coefficients of the quadratic factor further.

 $\left[{UnivariatⅇPolynomialOvⅇrPowⅇrSⅇriⅇs:}\left({4}{+}{4}{}{x}{+}\frac{{32}{}{y}}{{9}}{+}\frac{{22}{}{{x}}^{{2}}}{{9}}{+}\frac{{388}{}{x}{}{y}}{{81}}{+}\frac{{578}{}{{y}}^{{2}}}{{243}}{+}\frac{{140}{}{{x}}^{{3}}}{{81}}{+}\frac{{3968}{}{{x}}^{{2}}{}{y}}{{729}}{+}\frac{{3974}{}{x}{}{{y}}^{{2}}}{{729}}{+}\frac{{11876}{}{{y}}^{{3}}}{{6561}}{+}\frac{{2291}{}{{x}}^{{4}}}{{1458}}{+}\frac{{41530}{}{{x}}^{{3}}{}{y}}{{6561}}{+}\frac{{62197}{}{{x}}^{{2}}{}{{y}}^{{2}}}{{6561}}{+}\frac{{124138}{}{x}{}{{y}}^{{3}}}{{19683}}{+}\frac{{185939}{}{{y}}^{{4}}}{{118098}}{+}\left(\frac{{47494}{}{{x}}^{{5}}}{{32805}}{+}\frac{{424718}{}{{x}}^{{4}}{}{y}}{{59049}}{+}\frac{{2546836}{}{{x}}^{{3}}{}{{y}}^{{2}}}{{177147}}{+}\frac{{7642522}{}{{x}}^{{2}}{}{{y}}^{{3}}}{{531441}}{+}\frac{{22924393}{}{x}{}{{y}}^{{4}}}{{3188646}}{+}{\dots }\right){+}{\dots }\right){+}{\dots }\right]$ (3.10)

New simplifications involving the LambertW function

Before Maple 2021, the following calls to the simplify command returned their arguments unchanged, or with minor changes that left a call to LambertW in the answer.

 >
 $\frac{{5}{}{\mathrm{ln}}\left({2}\right)}{{4}}$ (4.1)
 > $\mathrm{simplify}\left(W\left(\frac{2\cdot {617673396283947}^{\frac{14}{15}}\cdot {\left({14}^{\frac{2}{9}}\cdot {3}^{\frac{7}{9}}\right)}^{\frac{1}{15}}\cdot \mathrm{ln}\left(\frac{14}{3}\right)}{9265100944259205}\right)\right)$
 $\frac{{2}{}{\mathrm{ln}}\left({2}\right)}{{135}}{+}\frac{{2}{}{\mathrm{ln}}\left({7}\right)}{{135}}{-}\frac{{2}{}{\mathrm{ln}}\left({3}\right)}{{135}}$ (4.2)
 >
 ${4}{}{\mathrm{ln}}\left({3}\right){-}{8}{}{\mathrm{ln}}\left({2}\right)$ (4.3)
 >
 ${-}\frac{{13}{}{\mathrm{ln}}\left({13}\right)}{{8}}{+}\frac{{13}{}{\mathrm{ln}}\left({5}\right)}{{8}}$ (4.4)
 >
 $\frac{{39134}{}{\mathrm{ln}}\left({3}\right)}{{10561}}{-}\frac{{39134}{}{\mathrm{ln}}\left({2}\right)}{{10561}}$ (4.5)

Numerical solution of vectorized ODEs

You can now numerically solve differential equations that are collected together in vectors.

 > $\mathrm{dEqs}≔\left[\begin{array}{c}\frac{ⅆ}{ⅆt}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\mathrm{A__1}\left(t\right)\\ \frac{ⅆ}{ⅆt}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\mathrm{A__2}\left(t\right)\end{array}\right]=\left[\begin{array}{c}\mathrm{B__1}\left(t\right)\\ \mathrm{B__2}\left(t\right)\end{array}\right],\left[\begin{array}{c}\frac{ⅆ}{ⅆt}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\mathrm{B__1}\left(t\right)\\ \frac{ⅆ}{ⅆt}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\mathrm{B__2}\left(t\right)\end{array}\right]=\left[\begin{array}{c}1.2\mathrm{A__1}\left(t\right)\\ 2.3\mathrm{A__2}\left(t\right)\end{array}\right]:$
 > $\mathrm{InEqs}≔\left[\begin{array}{c}\mathrm{A__1}\left(0\right)\\ \mathrm{A__2}\left(0\right)\end{array}\right]=\left[\begin{array}{c}1.1\\ 0.3\end{array}\right],\left[\begin{array}{c}\mathrm{B__1}\left(0\right)\\ \mathrm{B__2}\left(0\right)\end{array}\right]=\left[\begin{array}{c}0\\ 0\end{array}\right]:$
 >
 ${\mathrm{sol}}{≔}{\mathbf{proc}}\left({\mathrm{x_rkf45}}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{...}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end proc}}$ (5.1)
 > $\mathrm{plots}:-\mathrm{odeplot}\left(\mathrm{sol},\left[\left[t,\mathrm{A__1}\left(t\right)\right],\left[t,\mathrm{A__2}\left(t\right)\right],\left[t,\mathrm{B__1}\left(t\right)\right],\left[t,\mathrm{B__2}\left(t\right)\right]\right],0..5,\mathrm{legend}=\left[\mathrm{A__1}\left(t\right),\mathrm{A__2}\left(t\right),\mathrm{B__1}\left(t\right),\mathrm{B__2}\left(t\right)\right]\right)$



Polyhedral sets

A new and faster algorithm that checks for redundant constraints is available for the Project command in the PolyhedralSets package. The following example now runs about 4 times faster:

 > $\mathrm{with}\left(\mathrm{PolyhedralSets}\right)$
 $\left[{\mathrm{AffineHull}}{,}{\mathrm{Area}}{,}{\mathrm{CharacteristicCone}}{,}{\mathrm{ConvexHull}}{,}{\mathrm{Coordinates}}{,}{\mathrm{Dimension}}{,}{\mathrm{Display}}{,}{\mathrm{DualSet}}{,}{\mathrm{Edges}}{,}{\mathrm{Equal}}{,}{\mathrm{ExampleSets}}{,}{\mathrm{Faces}}{,}{\mathrm{Facets}}{,}{\mathrm{Graph}}{,}{\mathrm{ID}}{,}{\mathrm{InteriorPoint}}{,}{\mathrm{IsBounded}}{,}{\mathrm{IsEmpty}}{,}{\mathrm{IsFace}}{,}{\mathrm{IsInInterior}}{,}{\mathrm{IsUniversalSet}}{,}{\mathrm{Length}}{,}{\mathrm{LinearTransformation}}{,}{\mathrm{LinearitySpace}}{,}{\mathrm{LocatePoint}}{,}{\mathrm{Plot}}{,}{\mathrm{PolyhedralSet}}{,}{\mathrm{PrintLevel}}{,}{\mathrm{Project}}{,}{\mathrm{Relations}}{,}{\mathrm{SplitIntoSimplices}}{,}{\mathrm{Translate}}{,}{\mathrm{Vertices}}{,}{\mathrm{VerticesAndRays}}{,}{\mathrm{Volume}}{,}{\mathrm{in}}{,}{\mathrm{intersect}}{,}{\mathrm{subset}}\right]$ (6.1)
 >
 > $P≔\mathrm{PolyhedralSet}\left(l\right)$
 ${P}{≔}{{}\begin{array}{lll}{\mathrm{Coordinates}}& {:}& \left[\mathrm{x__1}{,}\mathrm{x__2}{,}\mathrm{x__3}{,}\mathrm{x__4}{,}\mathrm{x__5}\right]\\ {\mathrm{Relations}}& {:}& \left[{-}\mathrm{x__1}{-}\frac{{63}{}\mathrm{x__2}}{{65}}{-}\frac{{87}{}\mathrm{x__3}}{{65}}{+}\frac{{66}{}\mathrm{x__4}}{{65}}{+}\frac{{2}{}\mathrm{x__5}}{{13}}{\le }\frac{{77}}{{65}}{,}{-}\mathrm{x__1}{+}\frac{\mathrm{x__2}}{{81}}{+}\frac{{2}{}\mathrm{x__3}}{{27}}{+}\frac{{23}{}\mathrm{x__4}}{{81}}{-}\frac{{92}{}\mathrm{x__5}}{{81}}{\le }{-}\frac{{17}}{{81}}{,}{-}\mathrm{x__1}{+}\frac{{43}{}\mathrm{x__2}}{{99}}{+}\frac{{40}{}\mathrm{x__3}}{{99}}{-}\frac{{2}{}\mathrm{x__4}}{{3}}{-}\frac{{7}{}\mathrm{x__5}}{{33}}{\le }{-}\frac{{56}}{{99}}{,}{-}\mathrm{x__1}{+}{21}{}\mathrm{x__2}{-}\frac{{22}{}\mathrm{x__3}}{{3}}{-}\frac{{82}{}\mathrm{x__4}}{{3}}{+}\frac{{85}{}\mathrm{x__5}}{{3}}{\le }\frac{{70}}{{3}}{,}\mathrm{x__1}{-}\frac{{64}{}\mathrm{x__2}}{{37}}{+}\frac{{88}{}\mathrm{x__3}}{{37}}{+}\frac{{29}{}\mathrm{x__4}}{{37}}{-}\frac{{43}{}\mathrm{x__5}}{{37}}{\le }{-}\frac{{98}}{{37}}{,}\mathrm{x__1}{-}\frac{{38}{}\mathrm{x__2}}{{41}}{+}\frac{{66}{}\mathrm{x__3}}{{41}}{+}\frac{{38}{}\mathrm{x__4}}{{41}}{-}\frac{{28}{}\mathrm{x__5}}{{41}}{\le }\frac{{10}}{{41}}{,}\mathrm{x__1}{-}\frac{{52}{}\mathrm{x__2}}{{71}}{-}\frac{{34}{}\mathrm{x__3}}{{71}}{+}\frac{{80}{}\mathrm{x__4}}{{71}}{+}\frac{{38}{}\mathrm{x__5}}{{71}}{\le }\frac{{75}}{{71}}{,}\mathrm{x__1}{-}\frac{{9}{}\mathrm{x__2}}{{25}}{-}\frac{\mathrm{x__3}}{{5}}{-}\frac{{77}{}\mathrm{x__4}}{{25}}{+}\frac{{99}{}\mathrm{x__5}}{{25}}{\le }\frac{{91}}{{25}}{,}\mathrm{x__1}{-}\frac{{5}{}\mathrm{x__2}}{{33}}{+}\frac{{10}{}\mathrm{x__3}}{{11}}{-}\frac{{82}{}\mathrm{x__4}}{{33}}{+}\frac{{97}{}\mathrm{x__5}}{{33}}{\le }{-}\frac{{16}}{{33}}{,}\mathrm{x__1}{+}\frac{{11}{}\mathrm{x__2}}{{8}}{+}\frac{{6}{}\mathrm{x__3}}{{7}}{-}\frac{{11}{}\mathrm{x__4}}{{56}}{+}\frac{{15}{}\mathrm{x__5}}{{14}}{\le }{-}\frac{{29}}{{28}}\right]\end{array}$ (6.2)
 > $\mathrm{CodeTools}:-\mathrm{Usage}\left(\mathrm{Project}\left(P,\left[\mathrm{x__5}\right]\right)\right)$
 memory used=261.74MiB, alloc change=64.00MiB, cpu time=1.80s, real time=1.72s, gc time=187.50ms
 ${{}\begin{array}{lll}{\mathrm{Coordinates}}& {:}& \left[\mathrm{x__1}{,}\mathrm{x__2}{,}\mathrm{x__3}{,}\mathrm{x__4}{,}\mathrm{x__5}\right]\\ {\mathrm{Relations}}& {:}& \left[\mathrm{x__5}{\le }{-}\frac{{161907933}}{{1240163204}}{,}\mathrm{x__4}{=}{0}{,}\mathrm{x__3}{=}{0}{,}\mathrm{x__2}{=}{0}{,}\mathrm{x__1}{=}{0}\right]\end{array}$ (6.3)

Asymptotic expansions

The asympt command can now compute asymptotic expansions of the logarithmic integral:

 > $\mathrm{asympt}\left(\mathrm{Li}\left(x\right),x\right)$
 $\left(\frac{{1}}{{\mathrm{ln}}\left({x}\right)}{+}\frac{{1}}{{{\mathrm{ln}}\left({x}\right)}^{{2}}}{+}\frac{{2}}{{{\mathrm{ln}}\left({x}\right)}^{{3}}}{+}\frac{{6}}{{{\mathrm{ln}}\left({x}\right)}^{{4}}}{+}\frac{{24}}{{{\mathrm{ln}}\left({x}\right)}^{{5}}}{+}{\mathrm{O}}\left(\frac{{1}}{{{\mathrm{ln}}\left({x}\right)}^{{6}}}\right)\right){}{x}$ (7.1)
 > $\mathrm{asympt}\left(\mathrm{Li}\left(\frac{1}{x}\right),x\right)$
 $\frac{{-}\frac{{1}}{{\mathrm{ln}}\left({x}\right)}{+}\frac{{1}}{{{\mathrm{ln}}\left({x}\right)}^{{2}}}{-}\frac{{2}}{{{\mathrm{ln}}\left({x}\right)}^{{3}}}{+}\frac{{6}}{{{\mathrm{ln}}\left({x}\right)}^{{4}}}{-}\frac{{24}}{{{\mathrm{ln}}\left({x}\right)}^{{5}}}{+}{\mathrm{O}}\left(\frac{{1}}{{{\mathrm{ln}}\left({x}\right)}^{{6}}}\right)}{{x}}$ (7.2)

GF package

After a finite Galois field has been constructed using the GF package, there is now an easy syntax to create new field elements:

 >
 ${\mathrm{F8}}{≔}{{𝔽}}_{{8}}$ (8.1)
 > $a≔\mathrm{F8}\left({t}^{2}+1\right);\phantom{\rule[-0.0ex]{0.0em}{0.0ex}}b≔\mathrm{F8}\left({t}^{2}+t\right)$
 ${a}{≔}\left({{t}}^{{2}}{+}{1}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{mod}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{2}$
 ${b}{≔}\left({{t}}^{{2}}{+}{t}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{mod}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{2}$ (8.2)
 > $\mathrm{F8}\left[\mathrm{+}\right]\left(a,b\right);\phantom{\rule[-0.0ex]{0.0em}{0.0ex}}\phantom{\rule[-0.0ex]{0.0em}{0.0ex}}\mathrm{F8}\left[\mathrm{*}\right]\left(a,b\right)$
 $\left({t}{+}{1}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{mod}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{2}$
 $\left({t}{+}{1}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{mod}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{2}$ (8.3)

Additions to the intsolve command

The intsolve command has been updated to recognize some integral equations that contain integral transforms. For example:

 > $\mathrm{unassign}\left('f','x','y'\right)$
 > $\mathrm{ie1}≔{{\int }}_{0}^{\mathrm{\infty }}\frac{f\left(y\right)}{5+\mathrm{sin}\left(y\right)}\mathrm{cos}\left(xy\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}y={ⅇ}^{-x}$
 ${\mathrm{ie1}}{≔}{{\int }}_{{0}}^{{\mathrm{\infty }}}\frac{{f}\left({y}\right){}{\mathrm{cos}}\left({x}{}{y}\right)}{{5}{+}{\mathrm{sin}}\left({y}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{y}{=}{{ⅇ}}^{{-}{x}}$ (9.1)
 > $\mathrm{intsolve}\left(\mathrm{ie1},f\left(x\right)\right)$
 ${f}\left({x}\right){=}\frac{{2}{}\left({5}{+}{\mathrm{sin}}\left({x}\right)\right)}{{\mathrm{\pi }}{}\left({{x}}^{{2}}{+}{1}\right)}$ (9.2)

Furthermore, the method of collocation is now available to provide approximate solutions for certain types of integral equations. For example:

 > $\mathrm{unassign}\left('g','k','u','v'\right)$
 > $k≔\left(u,v\right)↦\left\{\begin{array}{cc}u\cdot \left(2-v\right)& u
 ${k}{≔}\left({u}{,}{v}\right){↦}\left\{\begin{array}{cc}{u}{\cdot }\left({2}{-}{v}\right)& {u}{<}{v}\\ {v}{\cdot }\left({2}{-}{u}\right)& {\mathrm{otherwise}}\end{array}\right\$ (9.3)
 > $\mathrm{ie2}≔g\left(u\right)+{{\int }}_{0}^{2}g\left(v\right)'k'\left(u,v\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}v+{u}^{2}=0$
 ${\mathrm{ie2}}{≔}{g}\left({u}\right){+}{{\int }}_{{0}}^{{2}}{g}\left({v}\right){}{k}\left({u}{,}{v}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{v}{+}{{u}}^{{2}}{=}{0}$ (9.4)
 > $\mathrm{intsolve}\left(\mathrm{ie2},g\left(u\right),'\mathrm{method}'='\mathrm{collocation}','\mathrm{order}'=5\right)$
 ${g}\left({u}\right){=}{-}\frac{{1875}}{{35993}}{}{{u}}^{{5}}{+}\frac{{34265625}}{{4018042562}}{}{{u}}^{{4}}{+}\frac{{1240000}}{{2009021281}}{}{{u}}^{{3}}{-}\frac{{1813412625}}{{2009021281}}{}{{u}}^{{2}}{+}\frac{{1141270188}}{{2009021281}}{}{u}$ (9.5)

LREtools

The LREtools package for linear recurrence equations has been enhanced with the addition of several commands related to recurrence factorization and recognition:
GCRD, GeneralizedExponents, GuessRecurrence, LCLM, MinimalRecurrence, MultiplyOperators, OperatorToRecurrence, RecurrenceToOperator, RightDivision, RightFactors, SumDecompose

 > $\mathrm{with}\left(\mathrm{LREtools}\right)$
 $\left[{\mathrm{AnalyticityConditions}}{,}{\mathrm{GCRD}}{,}{\mathrm{GeneralizedExponents}}{,}{\mathrm{GuessRecurrence}}{,}{\mathrm{HypergeometricTerm}}{,}{\mathrm{IsDesingularizable}}{,}{\mathrm{LCLM}}{,}{\mathrm{MinimalRecurrence}}{,}{\mathrm{MultiplyOperators}}{,}{\mathrm{OperatorToRecurrence}}{,}{\mathrm{REcontent}}{,}{\mathrm{REcreate}}{,}{\mathrm{REplot}}{,}{\mathrm{REprimpart}}{,}{\mathrm{REreduceorder}}{,}{\mathrm{REtoDE}}{,}{\mathrm{REtodelta}}{,}{\mathrm{REtoproc}}{,}{\mathrm{RecurrenceToOperator}}{,}{\mathrm{RightDivision}}{,}{\mathrm{RightFactors}}{,}{\mathrm{SumDecompose}}{,}{\mathrm{ValuesAtPoint}}{,}{\mathrm{autodispersion}}{,}{\mathrm{constcoeffsol}}{,}{\mathrm{dAlembertiansols}}{,}{\mathrm{\delta }}{,}{\mathrm{dispersion}}{,}{\mathrm{divconq}}{,}{\mathrm{firstlin}}{,}{\mathrm{hypergeomsols}}{,}{\mathrm{polysols}}{,}{\mathrm{ratpolysols}}{,}{\mathrm{riccati}}{,}{\mathrm{shift}}\right]$ (10.1)

As an example consider the well known Fibonacci sequence:

 >
 ${\mathrm{vals}}{≔}\left[{0}{,}{1}{,}{1}{,}{2}{,}{3}{,}{5}{,}{8}{,}{13}{,}{21}{,}{34}{,}{55}{,}{89}{,}{144}{,}{233}{,}{377}{,}{610}{,}{987}{,}{1597}{,}{2584}{,}{4181}{,}{6765}\right]$ (10.2)

The GuessRecurrence command can be used to algorithmically determine the underlying recurrence under the assumption that it is holonomic:

 >
 ${F}\left({i}{+}{2}\right){-}{F}\left({i}{+}{1}\right){-}{F}\left({i}\right){=}{0}$ (10.3)

Consider the following recurrence written in operator form:

 > $\mathrm{_Env_LRE_tau}≔E:$$\mathrm{_Env_LRE_x}≔x:$
 > $L≔{E}^{3}-3{E}^{2}+3E-1$
 ${L}{≔}{{E}}^{{3}}{-}{3}{}{{E}}^{{2}}{+}{3}{}{E}{-}{1}$ (10.4)

We can obtain all order 1 right factors as follows:

 > $\mathrm{RightFactors}\left(L,1\right)$
 $\left\{{E}{-}{1}{,}\left[\left({x}{+}{{\mathrm{_Z}}}_{{1}}\right){}{E}{-}{x}{-}{{\mathrm{_Z}}}_{{1}}{-}{1}{,}{"a family of dimension"}{,}{1}{,}{"with equations"}{,}{\varnothing }\right]{,}\left[\left({{x}}^{{2}}{+}{{\mathrm{_Z}}}_{{2}}{}{x}{+}{{\mathrm{_Z}}}_{{1}}\right){}{E}{-}{{x}}^{{2}}{-}{{\mathrm{_Z}}}_{{2}}{}{x}{-}{2}{}{x}{-}{{\mathrm{_Z}}}_{{1}}{-}{{\mathrm{_Z}}}_{{2}}{-}{1}{,}{"a family of dimension"}{,}{2}{,}{"with equations"}{,}{\varnothing }\right]\right\}$ (10.5)

and order 2 right factors as follows.

 > $\mathrm{RightFactors}\left(L,2\right)$
 $\left\{{{E}}^{{2}}{-}{2}{}{E}{+}{1}{,}\left[\left({x}{+}{{\mathrm{_Z}}}_{{1}}\right){}{{E}}^{{2}}{+}\left({-}{2}{}{x}{-}{2}{}{{\mathrm{_Z}}}_{{1}}{-}{1}\right){}{E}{+}{x}{+}{{\mathrm{_Z}}}_{{1}}{+}{1}{,}{"a family of dimension"}{,}{1}{,}{"with equations"}{,}{\varnothing }\right]{,}\left[\left({{x}}^{{2}}{+}{{\mathrm{_Z}}}_{{2}}{}{x}{+}{{\mathrm{_Z}}}_{{1}}\right){}{{E}}^{{2}}{+}\left({-}{2}{}{{x}}^{{2}}{-}{2}{}{{\mathrm{_Z}}}_{{2}}{}{x}{-}{2}{}{x}{-}{2}{}{{\mathrm{_Z}}}_{{1}}{-}{{\mathrm{_Z}}}_{{2}}{+}{1}\right){}{E}{+}{{x}}^{{2}}{+}{{\mathrm{_Z}}}_{{2}}{}{x}{+}{2}{}{x}{+}{{\mathrm{_Z}}}_{{1}}{+}{{\mathrm{_Z}}}_{{2}}{+}{1}{,}{"a family of dimension"}{,}{2}{,}{"with equations"}{,}{\varnothing }\right]\right\}$ (10.6)
 Generic linear algebra Two new commands MatrixAdd and VectorAdd were added to the LinearAlgebra:-Generic package. These can be used for addition and scalar multiplication of Matrices and Vectors. See the corresponding help page for more details.