Advanced Mathematics
Maple 2020 includes numerous cutting-edge updates in a variety of branches of mathematics.
assume, is, coulditbe, getassumptions, about
asympt
ComputationalGeometry:-PointInPolygon
evala
Integration
Jacobi polynomials
Logic
NumberTheory:-JordanTotient
Parametric limits
Simplification
Miscellaneous
getassumptions has been made more user-friendly
getassumptions now returns all assumptions directly or indirectly related to the variables in the input.
assumex−y>0, y−z>0, z∷real
In the following, the two assumptions not directly involving x are now also returned because together with the other assumption they provide extra information about x, namely that x is real. These facts cannot be inferred from the assumption x−y>0 alone.
getassumptionsx
z~::real,x~−y~::0,∞,y~−z~::0,∞
x, y, z ≔ 'x, y, z':
assume can now handle generic Or-type assumptions
Previously Maple could only handle Or-type assumptions involving the same subexpression, such as: assumeOrⅇx<0, ⅇx>1 Now, any conditions that can be assumed independently can also appear in an Or-type assumption:
assume⁡Or0<x,0<y
is⁡0<x
false
is0<x assuming additionally, y≤0
true
x, y ≔ 'x, y':
is now makes calls to the SMTLIB package
The is command now makes use of SMTLIB:-Satisfy to help compute some answers involving real variables.
is⁡x=0assuming0<x
coulditbe⁡x=0assuming0<x
is0≤a2+b2+2⁢a⁢b+r2assuming real
isx⁢y=x⁢yassuming real
is0≤a−b2+c−d2assuming real
Triangle Inequality:
isx+y≤x+yassuming real
Other new results from is and coulditbe
is⁡abs⁡x1⁢y2−x2⁢y1x1⁢x2+y1⁢y2,rationalassumingx1::'posint',x2::'posint',y1::'posint',y2∷'posint'
is⁡x1−x2,posintassumingx1::'posint',x2::'posint',y1::'posint',y2∷'posint'
coulditbe⁡−114=I
coulditbe⁡2=I
coulditbe⁡I⁢2=−1
is⁡a,realassuming1a⁢y−−a⁢b=z,y=x,0<x
is0<ⅇf⁡xassuming 0<x
is⁡f⁡0=0
coulditbex,1,2assuming x∷set
is⁡−∞<Y⁡∞
israndpoly⁡x,n,integerassuming x,real,n,prime
isⅇx,realassuming x∷imaginary
is⁡−n−1,−1,0,posintassumingn∷'nonposint'
coulditbe⁡−1f⁡x≤0assuming¬0<f⁡x
is⁡x,complexassumingx::Non⁡0
is⁡x1⁢y2−x2⁢y1,integerassumingx1::'posint',x2::'posint',y1::'posint',y2∷'posint'
is0<−RootOf⁡1024⁢_Z19+1216⁢_Z13−1691⁢_Z7−54⁢_Z,−0.97208064863+3⁢RootOf⁡1024⁢_Z19+1216⁢_Z13−1691⁢_Z7−54⁢_Z,−0.9720806486⁢RootOf⁡1024⁢_Z19−1216⁢_Z13−1691⁢_Z7+54⁢_Z,0.56123102422−z⁢RootOf⁡1024⁢_Z19+1216⁢_Z13−1691⁢_Z7−54⁢_Z,−0.9720806486assuming 0<z
coulditbe⁡m,0assuming12⁢n2−12⁢n<m,n::'integer',n<0∨1<n
The following result used to be true. It now returns FAIL since is cannot determine if the property is always satisfied.
is⁡x,realassumingx∷'integer'
FAIL
about
This result from about is now simpler:
about⁡xassumingx::0,∞,−x::−∞,0
Originally x, renamed x~: is assumed to be: RealRange(0,infinity)
Maple can now compute asymptotic expansions for various mathematical functions of type F11 with rational parameter values.
asymptKummerM13,1,x,x,4
3⁢Γ⁡23⁢1x232⁢π+2⁢3⁢Γ⁡23⁢1x539⁢π+25⁢3⁢Γ⁡23⁢1x8381⁢π+1600⁢3⁢Γ⁡23⁢1x1132187⁢π+O⁡1x143⁢ⅇx
asymptKummerU−13,2,−x,x,4
12+I⁢321x13+29+2⁢I⁢39⁢1x23+−281−2⁢I⁢381⁢1x53+−202187−20⁢I⁢32187⁢1x83+O⁡1x113
asymptWhittakerW13,1,x,x,4
11x13+35⁢1x2336−455⁢1x532592+60515⁢1x83279936+O⁡1x113ⅇx
The new command PointInPolygon determines if a point lies within the polygon formed by a list of points.
with⁡ComputationalGeometry:
Q≔1.1180,0.36327,0.,1.1756,−1.1180,0.36327,−0.69098,−0.95106,0.69098,−0.95106:
a≔0.,0.:b≔1.,1.:c≔0.5⁢Q1+0.5⁢Q2:
plots:-display⁡plottools:-point⁡a,b,c,symbolsize=20,plots:-textplot⁡a,a,align=above,left,plots:-textplot⁡b,b,align=above,left,plots:-textplot⁡c,c,align=below,left,plottools:-polygon⁡Q,style=line,axes=box
PointInPolygon⁡a,Q
inside
PointInPolygon⁡b,Q
outside
PointInPolygon⁡c,Q
boundary
The new command evala/Minpoly computes the minimal polynomial of
an algebraic number over the field of rational numbers (or a user-specified extension field thereof), or
an algebraic function over the field of rational functions (or a user-specified extension field thereof).
restart;
evalaMinpoly RootOf_Z2−2+1,x
x2−2⁢x−1
sortevalaMinpoly−11/4,x,2
x2−2⁢x+1
radnormaleval,x=−11/4
0
sortevalaMinpoly−11/4,x,I
x2−I
A subset of this functionality is also available through a new calling sequence in the MinimalPolynomial command in the PolynomialTools package.
PolynomialTools:-MinimalPolynomial2+−5, x
x4+6⁢x2+49
radnormal eval, x=2+−5
There have been some improvements in integration of algebraic, elementary, and piecewise functions:
simplify⁡∫−14⁢−8⁢x3+6⁢−x3+I⁢x3⁢3+3⁢x2+3⁢I⁢x2⁢3+6⁢x+1−I⁢3x2+x+1⁢x3−1⁢x3+5⁢I⁢x2⁢3−3⁢x2−I⁢x⁢3+3⁢x−6⁢−x3+I⁢x3⁢3+3⁢x2+3⁢I⁢x2⁢3+6⁢x+1−I⁢3x2+x+1⁢x3−1−1−I⁢32⁢x+1−I⁢3⁢x3−1ⅆx
2⁢−4⁢3−3⁢I⁢3⁢x~+12⁢3+I⁢x~2+I⁢x~−I2⁢arctan⁡2⁢x~+1⁢33+3⁢I⁢x~+I2⁢3−x~2−x~+12⁢ln⁡2+ln⁡x~−13+ln⁡x~2+x~+12⁢I⁢3−2⁢x~−1⁢x~−13+x~2+x~+1⁢x~−1⁢−−1+I⁢3⁢I⁢3−2⁢x~−13x~2+x~+12⁢x~−1⁢ln⁡2⁢I⁢3−3⁢I⁢3⁢I⁢3−2⁢x~−1⁢x~−1+−3⁢x~+3⁢3+3⁢I⁢x~+3⁢I2⁢I⁢x~+I−3+ln⁡2⁢I+−2⁢x~3−13⁢3⁢I⁢3+316⁢I⁢3−2⁢x~−1⁢x~−1⁢I⁢3−2⁢x~−12
simplify⁡∫x2⁢40545⁢x⁢3−29681⁢3−70226⁢x+51409⁢4⁢x3+x2+2⁢x+4−2⁢3⁢x4−2⁢x3⁢3+x5+2⁢x4−2⁢x⁢3−2⁢3−x−1+32⁢x2−x+1⁢x+1ⅆx
3912488⁢x~3+1⁢−x~−1+32⁢I⁢3+2⁢x~−1I⁢3−3⁢−3−1694157⁢I978122+1694157978122+I⁢3⁢I⁢3−2⁢x~+1I⁢3+3⁢−2⁢x~+1I⁢3−3⁢EllipticPi⁡−2⁢x~+1I⁢3−3,−I⁢3−3⁢36,−I⁢3−3I⁢3+3−1694157⁢−786261564719−978122⁢I564719+453948564719+I⁢3⁢I⁢3+2⁢x~−1I⁢3−3⁢I⁢3−2⁢x~+1I⁢3+3⁢−2⁢x~+1I⁢3−3⁢EllipticF⁡−2⁢x~+1I⁢3−3,−I⁢3−3I⁢3+31956244−786261⁢3−453948262087⁢I⁢3+2⁢x~−1I⁢3−3⁢I⁢3−2⁢x~+1I⁢3+3⁢−2⁢x~+1I⁢3−3⁢EllipticE⁡−2⁢x~+1I⁢3−3,−I⁢3−3I⁢3+3978122−37829⁢x~+1⁢3−262087151316⁢x~2−x~+11467183x~+1−3⁢x~3+1⁢−2+3
simplify⁡∫13⁢−x−2⁢I⁢3−2⁢x−1⁢x−1x2+x+1ⅆx
4⁢2⁢I⁢x~+2⁢I⁢3−3⁢x~⁢ln⁡2⁢I⁢3−3⁢I⁢3⁢I⁢3−2⁢x~−1⁢x~−1+−3⁢x~+3⁢3+3⁢I⁢x~+3⁢I2⁢I⁢x~+I−3+−32+−I⁢x~−I2⁢3⁢arctan⁡2⁢I⁢3−4⁢x~+14⁢I⁢3−2⁢x~−1⁢x~−1+3−3⁢I⁢3⁢x~2−2⁢x~+2⁢I⁢3+14⁢I⁢3−2⁢x~−1⁢x~−1+I⁢x~+2⁢I⁢3−3⁢x~⁢ln⁡2⁢I⁢3+124⁢I⁢3−48⁢x~−24
simplify⁡∫A⁢x+Bx2+1⁢x2+b⁢x+I⁢b+1ⅆx
x~+I⁢b+x~2+1⁢I⁢b⁢I⁢B+A+−I⁢B+A⁢b−2⁢I⁢A−2⁢B⁢x~+I⁢A+B⁢b−2⁢I⁢B+2⁢A⁢2⁢ln⁡−2⁢2⁢I⁢b⁢−x~+I⁢−x~+I−b+−2⁢I−b⁢x~−3⁢I⁢b−2−x~+I4I⁢b⁢−b+2⁢I⁢x~+I
simplify∫arctan⁡z⁢2−1z2+1ⅆz assuming 0<z
arctan⁡z⁢arctan⁡z⁢2−1+I⁢arctan⁡z⁢ln⁡1+I⁢2−2⁢z⁢I⁢2−1+Iz+I2−I⁢arctan⁡z⁢ln⁡−2⁢z+−1+I⁢2⁢I⁢2−1−Iz+I2+polylog⁡2,−I⁢1+I⁢z2z2+1⁢2−14−polylog⁡2,−I⁢1+I⁢z2z2+1⁢1+24
∫034⁢cosh⁡12⁢π⁢y−3π⁢cosh⁡32⁢π−43⁢cosh⁡32⁢π⁢y−3π⁢cosh⁡92⁢π+45⁢cosh⁡52⁢π⁢y−3π⁢cosh⁡152⁢π−47⁢cosh⁡72⁢π⁢y−3π⁢cosh⁡212⁢π+49⁢cosh⁡92⁢π⁢y−3π⁢cosh⁡272⁢πⅆy
4⁢91369⁢ⅇ57⁢π−381188⁢ⅇ54⁢π+869457⁢ⅇ51⁢π−1534126⁢ⅇ48⁢π+2397245⁢ⅇ45⁢π−3375383⁢ⅇ42⁢π+4331471⁢ⅇ39⁢π−5192140⁢ⅇ36⁢π+5876409⁢ⅇ33⁢π−6251259⁢ⅇ30⁢π+6251259⁢ⅇ27⁢π−5876409⁢ⅇ24⁢π+5192140⁢ⅇ21⁢π−4331471⁢ⅇ18⁢π+3375383⁢ⅇ15⁢π−2397245⁢ⅇ12⁢π+1534126⁢ⅇ9⁢π−869457⁢ⅇ6⁢π+381188⁢ⅇ3⁢π−91369⁢ⅇ−57⁢π299225⁢π2⁢cosh⁡3⁢π2⁢262144⁢cosh⁡3⁢π218−1376256⁢cosh⁡3⁢π216+3096576⁢cosh⁡3⁢π214−3899392⁢cosh⁡3⁢π212+3010560⁢cosh⁡3⁢π210−1467392⁢cosh⁡3⁢π28+447744⁢cosh⁡3⁢π26−81648⁢cosh⁡3⁢π24+7980⁢cosh⁡3⁢π22−315
∫12⁢sin⁡π⁢y⁢sin⁡_Z4⁢π⁢y⁢2⁢4⁢cos⁡π⁢y2−1_Z3=11_Z3=20otherwiseⅆy
2⁢_Z4+3⁢sin⁡_Z4−3⁢y~⁢π−sin⁡_Z4+3⁢y~⁢π⁢_Z4−32⁢π⁢_Z42−18⁢π_Z3=1_Z4+1⁢sin⁡_Z4−1⁢y~⁢π−sin⁡_Z4+1⁢y~⁢π⁢_Z4−12⁢π⁢_Z42−2⁢π_Z3=20otherwise2
∫0x{0s−6⁢floor⁡16⁢s+12<−3−10⁢sin⁡2⁢π⁢−s+6⁢floor⁡16⁢s+12s−6⁢floor⁡16⁢s+12<010⁢sin⁡2⁢π⁢s−6⁢floor⁡16⁢s+12s−6⁢floor⁡16⁢s+12<30otherwiseⅆs
−10⁢2048⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+1212+2048⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+1211−6144⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+1210−5120⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+129−1024⁢cos⁡π⁢x~6+1212+6912⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+128+4608⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+127+3072⁢cos⁡π⁢x~6+1210−3584⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+126−1792⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+125−3456⁢cos⁡π⁢x~6+128+840⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+124+280⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+123+1792⁢cos⁡π⁢x~6+126−72⁢cos⁡π⁢x~2⁢cos⁡π⁢x~6+122−12⁢sin⁡π⁢x~⁢cos⁡π⁢x~⁢sin⁡π⁢x~6+12⁢cos⁡π⁢x~6+12−420⁢cos⁡π⁢x~6+124+cos⁡π⁢x~2+36⁢cos⁡π⁢x~6+122−1π
∫BesselJn,xⅆx assuming n∷odd
1−BesselJ⁡0,x−2⁢∑i=112⁢n−12BesselJ⁡2⁢i,x
Maple now performs this change of variables correctly.
IntegrationTools:-Change⁡∫02⁢πⅇ38⁢cos⁡x⁢cos⁡38⁢sin⁡xⅆx,cos⁡x=t
2⁢∫−11ⅇ3⁢t8⁢cos⁡3⁢−t2+18−t2+1ⅆt
The integral transforms of the inttrans package have also added more functionality - see What's New in Integral Transforms.
The definition of the JacobiP function has been extended to cases when the 2nd or 3rd argument is a negative integer.
In Maple 2019 and earlier, the following used to return undefined or unevaluated:
JacobiP5,−3,0,0.5
−0.05957031250
JacobiP0.5,−3,0,0.5
−0.001269583779
JacobiP−1,−3,0,0.5
0.01562500000
sortexpandJacobiP5,−3,0,x
2132⁢x5−4532⁢x4+516⁢x3+1516⁢x2−1532⁢x−132
expandJacobiP5,−3,0,12
−611024
The Logic package contains a number of new routines for understanding the structure of logical expressions.
Incidence graph and primal graph
The new IncidenceGraph and PrimalGraph command return Graph objects which encode the incidence graph and the primal graph of a logical expression.
If e is a Boolean expression in conjunctive normal form (CNF), the primal graph of e is a graph whose vertices are the variables of e. An edge exists between two variables if these variables occur together in a clause of e, in either negated or non-negated form.
In the following example, the variables a and b share an edge because they appear together in the first clause, while a and c do not share an edge because they appear in distinct clauses.
withLogic:
expr ≔ ¬a ∨ b ∨¬d ∧¬b∨c∨¬d∧b∨¬c∨d:
PG ≔ PrimalGraph expr
PG≔Graph 1: an undirected unweighted graph with 4 vertices and 5 edge(s)
Similarly, if e is a Boolean expression in CNF, the incidence graph of e is a bipartite graph whose vertices correspond to the variables and clauses of e. Edges in the graph consist of pairs (v,c) where v is a variable and c is a clause, and clause c contains v in negated or non-negated form.
In the example seen earlier, the vertex Clause 1 shares edges with variables a, b, and d because each of these appears in the first clause of expr, but does not share an edge with c as it does not appear in this clause.
IG ≔ Logic:-IncidenceGraph expr
IG≔Graph 2: an undirected unweighted graph with 7 vertices and 9 edge(s)
Symmetry group
The new SymmetryGroup command returns a Group object describing the group of symmetries of a logical expression.
Let e be a logical expression with variables v__1,...,v__k. A symmetry is an f which maps each variable v__i to either v__j or ¬v__j for some j, while preserving the structure of e. Symmetry detection is an important problem in the simplification of logical expressions and especially in determining satisfiability, as a straightforward effort to find solutions for a highly symmetric expression could waste resources exploring paths which are the symmetric analogues of paths already visited.
In this example, we can see that the symmetry group of this logical expression has order 2:
SG ≔ SymmetryGroupexpr
SG≔2,83,74,610,11
GroupTheory:-GroupOrderSG
2
The generators of the symmetry group correspond to variables and clauses of the input expression. If we wish to see the correspondence, we can request both the group and the expressions using the output option:
SymmetryGroupexpr,output=expressions,group
a,b,c,d,¬a,¬b,¬c,¬d,¬a∨b∨¬d,¬b∨c∨¬d,b∨¬c∨d,2,83,74,610,11
Examining the above output and comparing the elements of the first list with the generators of the symmetry group, we can see that the symmetry discovered here is the one which leaves variable a unchanged but which maps b,c,d to ¬d,¬c,¬b.
The new JordanTotient command in the NumberTheory package computes the kth Jordan totient of a positive integer n, defined as the number of k-tuples a1,..,ak of positive integers such that the greatest common divisor gcd⁡a1,..,ak,n is equal to 1. This generalizes the Euler totient, which is the special case in which k=1.
with( NumberTheory ):
seq( Totient( n ) = JordanTotient( 1, n ), n = 1 .. 10 );
1=1,1=1,2=2,2=2,4=4,2=2,6=6,4=4,6=6,4=4
seq( JordanTotient( 2, n ), n = 1 ..10 );
1,3,8,12,24,24,48,48,72,72
Matrix( 10, 10, JordanTotient );
11224264641381224244848727217265612418234244870286811580240624120024003840648093601312429923124750216806317445880696844163728403215624458641176482580485307129843121127218616256781242776228235422080768478078299217481255656065280390624167280057648001671168043040160996091201511196822616321953124100575024035360613395558438740080699804636411023590481047552976562460406104282475248107269324834867253529990233352
The limit command has a new option parametric. If specified, limit will attempt to return a (piecewise) answer that is correct for all real parameter values.
limitxa,x=∞
limx→∞⁡xa
limitxa,x=∞,'parametric'
0a<01a=0∞0<alimx→∞⁡xaotherwise
See limit for more examples.
abs, csgn, signum, and sqrt have improved normalization and simplification:
t⁢x−1−t⁢1−x
csgn⁡x−y2−csgn⁡y−x2
1x⁢y
signum⁡1x⁢y
1signum⁡x⁢y
a2assuming0<ℜ⁡a
a
a2assumingℜa<0
−a
radnormal is now more careful at simplifying expressions containing roots of negative numbers:
radnormal⁡−−2⁢−5+10⁢I⁢−5−10⁢I−5−5+10⁢I−−5−10⁢I2
−I⁢−5+10⁢I+−5−10⁢I−5+10⁢I−−5−10⁢I
simplify is more careful not to expand powers, avoiding large expressions:
simplify⁡cos⁡π60+I⁢sin⁡π6020
12+I⁢32
There have been some improvements in simplification of special functions:
simplify⁡WeierstrassP⁡t,0,13⁢WeierstrassPPrime⁡t,0,1
WeierstrassPPrime⁡t,0,134+WeierstrassPPrime⁡t,0,14
simplify⁡−ln⁡−1LambertW⁡z+LambertW⁡z,LambertWassuming¬0<LambertW⁡z
ln⁡−z
Trig simplifications have been improved:
simplify⁡cos⁡π12−sin⁡π12⁢sin⁡42+cos⁡42⁢−115⁢3−−125⁢3+−135⁢3−−145⁢3⁢t
t⁢62
Some improvements in simplification of piecewise functions:
simplify⁡x24+x4−∑n=x+10⁡n⁢signum⁡n+122x<00otherwise
simplifyg⁢−c2⁢0x<c⁢tundefinedx=c⁢t2c⁢t<x+2⁢c2t<xcundefinedt=xc0xc<tassuming 0<c
simplify⁡Dirac⁡ttμ=0tμotherwiset
Dirac⁡ttμ=01μotherwise
simplify can now recognize that the following expressions are 0:
simplify⁡−20⁢ln⁡3+20⁢ln⁡2+20⁢ln⁡5−10⁢ln⁡9+80⁢ⅇ−1+10⁢ln⁡1+8⁢ⅇ−1−1⁢ⅇ−tt101010−ⅇ−tt1010⁢−1−10⁢ln⁡9⁢ⅇ+80+10⁢ln⁡ⅇ+8−20⁢ln⁡3+20⁢ln⁡5+20⁢ln⁡210
simplify⁡I⁢n⁢n+1−12⁢ⅇπ⁢8⁢I⁢n⁢n+1⁢t−2⁢I⁢n⁢x−I⁢x−4⁢t6+−I⁢n⁢n+1−12⁢ⅇ−π⁢8⁢I⁢n⁢n+1⁢t−2⁢I⁢n⁢x−I⁢x+4⁢t6+−I⁢n⁢n+1+12⁢ⅇπ⁢8⁢I⁢n⁢n+1⁢t+2⁢I⁢n⁢x+I⁢x−4⁢t6+I⁢n⁢n+1+12⁢ⅇ−π⁢8⁢I⁢n⁢n+1⁢t+2⁢I⁢n⁢x+I⁢x+4⁢t6+−2⁢n⁢n+1+I⁢ⅇ2⁢I3⁢π⁢−2⁢n⁢n+1+I⁢t−ⅇ2⁢I3⁢π⁢2⁢n⁢n+1+I⁢t⁢2⁢n⁢n+1+I⁢sin⁡π⁢x⁢2⁢n+16
Combining expressions with trig functions is now more efficient in many cases:
combine⁡−2⁢sin⁡1102−cos⁡1102+14⁢sin⁡152−cos⁡152+18⁢sin⁡1102−cos⁡1102−18⁢sin⁡152⁢sin⁡1102−sin⁡152⁢cos⁡1102−4⁢sin⁡15⁢cos⁡15⁢sin⁡110⁢cos⁡110−cos⁡152⁢sin⁡1102+cos⁡152⁢cos⁡1102−sin⁡152+cos⁡152+sin⁡1102−cos⁡1102−14⁢sin⁡152⁢sin⁡1104−6⁢sin⁡152⁢sin⁡1102⁢cos⁡1102+sin⁡152⁢cos⁡1104−8⁢sin⁡15⁢cos⁡15⁢sin⁡1103⁢cos⁡110+8⁢sin⁡15⁢cos⁡15⁢sin⁡110⁢cos⁡1103−cos⁡152⁢sin⁡1104+6⁢cos⁡152⁢sin⁡1102⁢cos⁡1102−cos⁡152⁢cos⁡1104+sin⁡1104−6⁢sin⁡1102⁢cos⁡1102+cos⁡1104−sin⁡152+cos⁡152−12⁢−8⁢sin⁡1103⁢cos⁡110⁢sin⁡15⁢cos⁡15⁢sin⁡25⁢cos⁡25+8⁢sin⁡110⁢cos⁡1103⁢sin⁡15⁢cos⁡15⁢sin⁡25⁢cos⁡25+sin⁡25−2⁢sin⁡1103⁢cos⁡110+2⁢sin⁡110⁢cos⁡1103−sin⁡25⁢sin⁡1104−sin⁡25⁢cos⁡1104+sin⁡25⁢sin⁡152−sin⁡25⁢cos⁡152+sin⁡15⁢cos⁡15−sin⁡25⁢cos⁡25+8⁢sin⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1103⁢cos⁡110−8⁢sin⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡110⁢cos⁡1103−12⁢cos⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1102⁢cos⁡1102−6⁢sin⁡1102⁢cos⁡1102⁢sin⁡152⁢sin⁡25⁢cos⁡25−6⁢sin⁡1102⁢cos⁡1102⁢sin⁡15⁢cos⁡15⁢sin⁡252+6⁢sin⁡1102⁢cos⁡1102⁢sin⁡15⁢cos⁡15⁢cos⁡252+6⁢sin⁡1102⁢cos⁡1102⁢cos⁡152⁢sin⁡25⁢cos⁡25−2⁢sin⁡1103⁢cos⁡110⁢cos⁡252+2⁢sin⁡110⁢cos⁡1103⁢cos⁡252+6⁢sin⁡25⁢sin⁡1102⁢cos⁡1102+4⁢cos⁡25⁢sin⁡1103⁢cos⁡110−4⁢cos⁡25⁢sin⁡110⁢cos⁡1103−2⁢cos⁡25⁢sin⁡15⁢cos⁡15+2⁢sin⁡152⁢sin⁡110⁢cos⁡1103+2⁢cos⁡152⁢sin⁡1103⁢cos⁡110−2⁢cos⁡152⁢sin⁡110⁢cos⁡1103−2⁢sin⁡152⁢sin⁡1103⁢cos⁡110−2⁢sin⁡110⁢cos⁡1103⁢sin⁡252+2⁢sin⁡1103⁢cos⁡110⁢sin⁡252+6⁢sin⁡15⁢cos⁡15⁢sin⁡1102⁢cos⁡1102+2⁢sin⁡1103⁢cos⁡110⁢sin⁡152⁢sin⁡252−2⁢sin⁡1103⁢cos⁡110⁢sin⁡152⁢cos⁡252−2⁢sin⁡1103⁢cos⁡110⁢cos⁡152⁢sin⁡252+2⁢sin⁡1103⁢cos⁡110⁢cos⁡152⁢cos⁡252−2⁢sin⁡110⁢cos⁡1103⁢sin⁡152⁢sin⁡252+2⁢sin⁡110⁢cos⁡1103⁢sin⁡152⁢cos⁡252+2⁢sin⁡110⁢cos⁡1103⁢cos⁡152⁢sin⁡252−sin⁡15⁢cos⁡15⁢cos⁡1104+cos⁡1104⁢sin⁡152⁢sin⁡25⁢cos⁡25+cos⁡1104⁢sin⁡15⁢cos⁡15⁢sin⁡252−cos⁡1104⁢sin⁡15⁢cos⁡15⁢cos⁡252−cos⁡1104⁢cos⁡152⁢sin⁡25⁢cos⁡25+sin⁡1104⁢sin⁡152⁢sin⁡25⁢cos⁡25+sin⁡1104⁢sin⁡15⁢cos⁡15⁢sin⁡252−sin⁡1104⁢sin⁡15⁢cos⁡15⁢cos⁡252−sin⁡1104⁢cos⁡152⁢sin⁡25⁢cos⁡25+6⁢sin⁡25⁢sin⁡152⁢sin⁡1102⁢cos⁡1102−6⁢sin⁡25⁢cos⁡152⁢sin⁡1102⁢cos⁡1102+4⁢cos⁡25⁢sin⁡152⁢sin⁡1103⁢cos⁡110−4⁢cos⁡25⁢sin⁡152⁢sin⁡110⁢cos⁡1103+2⁢cos⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1104+2⁢cos⁡25⁢sin⁡15⁢cos⁡15⁢cos⁡1104−4⁢cos⁡25⁢cos⁡152⁢sin⁡1103⁢cos⁡110+4⁢cos⁡25⁢cos⁡152⁢sin⁡110⁢cos⁡1103−2⁢sin⁡110⁢cos⁡1103⁢cos⁡152⁢cos⁡252−6⁢sin⁡1102⁢cos⁡1102⁢sin⁡25⁢cos⁡25−sin⁡25⁢sin⁡152⁢sin⁡1104−sin⁡25⁢sin⁡152⁢cos⁡1104+sin⁡25⁢cos⁡152⁢sin⁡1104+sin⁡25⁢cos⁡152⁢cos⁡1104−sin⁡15⁢cos⁡15⁢sin⁡1104+sin⁡1104⁢sin⁡25⁢cos⁡25+cos⁡1104⁢sin⁡25⁢cos⁡25−sin⁡152⁢sin⁡25⁢cos⁡25−sin⁡15⁢cos⁡15⁢sin⁡252+sin⁡15⁢cos⁡15⁢cos⁡252+cos⁡152⁢sin⁡25⁢cos⁡25⁢cos⁡25−12⁢1+sin⁡152−cos⁡152−sin⁡1104−cos⁡1104−cos⁡25+cos⁡25⁢sin⁡1104+cos⁡25⁢cos⁡1104−cos⁡25⁢sin⁡152+cos⁡25⁢cos⁡152+6⁢sin⁡1102⁢cos⁡1102−sin⁡152⁢sin⁡1104−sin⁡152⁢cos⁡1104+cos⁡152⁢sin⁡1104+cos⁡152⁢cos⁡1104−12⁢sin⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1102⁢cos⁡1102−8⁢cos⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1103⁢cos⁡110+8⁢cos⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡110⁢cos⁡1103−2⁢sin⁡25⁢sin⁡15⁢cos⁡15+6⁢sin⁡152⁢sin⁡1102⁢cos⁡1102+4⁢sin⁡25⁢sin⁡1103⁢cos⁡110−4⁢sin⁡25⁢sin⁡110⁢cos⁡1103−6⁢cos⁡25⁢sin⁡1102⁢cos⁡1102−6⁢cos⁡152⁢sin⁡1102⁢cos⁡1102+4⁢sin⁡25⁢sin⁡152⁢sin⁡1103⁢cos⁡110−4⁢sin⁡25⁢sin⁡152⁢sin⁡110⁢cos⁡1103+2⁢sin⁡25⁢sin⁡15⁢cos⁡15⁢sin⁡1104+2⁢sin⁡25⁢sin⁡15⁢cos⁡15⁢cos⁡1104−4⁢sin⁡25⁢cos⁡152⁢sin⁡1103⁢cos⁡110+4⁢sin⁡25⁢cos⁡152⁢sin⁡110⁢cos⁡1103−6⁢cos⁡25⁢sin⁡152⁢sin⁡1102⁢cos⁡1102+6⁢cos⁡25⁢cos⁡152⁢sin⁡1102⁢cos⁡1102+cos⁡25⁢sin⁡152⁢sin⁡1104+cos⁡25⁢sin⁡152⁢cos⁡1104−cos⁡25⁢cos⁡152⁢sin⁡1104−cos⁡25⁢cos⁡152⁢cos⁡1104+8⁢sin⁡15⁢cos⁡15⁢sin⁡1103⁢cos⁡110−8⁢sin⁡15⁢cos⁡15⁢sin⁡110⁢cos⁡1103,trig
cos⁡45+28⁢cos⁡25+35−8⁢cos⁡35−56⁢cos⁡15⁢cos⁡25−18⁢1+cos⁡158⁢−1−cos⁡15+cos⁡35+cos⁡254⁢cos⁡85+7−12⁢cos⁡25−4⁢cos⁡65+8⁢cos⁡45⁢sin⁡85−4⁢sin⁡65−4⁢sin⁡25+6⁢sin⁡45⁢cos⁡45+3−4⁢cos⁡25⁢1−3⁢cos⁡25−cos⁡65+3⁢cos⁡4532
Some other miscellaneous improvements:
series⁡tan⁡series⁡csgn⁡BesselY⁡2,x2−1,x,x
tan⁡csgn⁡BesselY⁡2,x2−1
signumRootOf⁡1024⁢_Z19+1216⁢_Z13−1691⁢_Z7−54⁢_Z,−0.97208064862−3⁢RootOf⁡1024⁢_Z19−1216⁢_Z13−1691⁢_Z7+54⁢_Z,0.56123102422+zassuming 0<z
1
evalrC has been improved. The output means that abs(1/xy) can take values in the interval from 0+0*I to infinity+0*I.
evalrC⁡1xy
INTERVAL⁡0,0,∞,0
This result from isolate is now correctly expressed in terms of a RootOf:
isolate⁡1−fg+12=q,g
g=RootOf⁡f+q−1⁢_Z2−1
frontend is now more careful when recursing:
frontendprocz signnormalI⋅z; end proc, y⋅I
−1
Download Help Document