sursumCorda

1279 Reputation

15 Badges

2 years, 353 days

MaplePrimes Activity


These are questions asked by sursumCorda

For example, I'd like to do something like this (and then plot the graph): 

 # display LaTeX markup
label__1 := '"\[\cfrac{\biguplus_\LaTeX}{{\color{red}\leadsto}^\unicode{2254}}\]"':
 # display non-executable notation
label__2 := '(Product(Int(i, j), Sum(k, l)) %assuming convert(log2(1 - 'x'), confrac, subdiagonal))':
 # display graphical object
label__3 := 'plots:-display(plottools:-stellate(plottools:-icosahedron()))':
 # note that the desired one is  instead of 
GraphTheory:-RelabelVertices(`some graph with 3 nodes`, [label__1, label__2, label__3]):

But unfortunately, the second argument of GraphTheory:-RelabelVertices must be of type list({indexed, integer, string, symbol}), and the GraphTheory:-SetVertexAttribute command doesn't work here. Is it possible to do so in Maple® (rather than in other mathematical softwares)?

 

The result of is said to be the Catalan constant, but unfortunately, Maple® only returns a lengthy output, so I have to apply the simplify command to get a shorter (and equivalent) form of it. However, I find that these do not work here: 

restart;

expr__1 := expand(value(student[Doubleint](sec(x+y)*sec(x-y)/(sec(x)*sec(y)), x = 0 .. (1/4)*Pi, y = 0 .. (1/4)*Pi)))

MmaTranslator:-Mma:-Chop(evalf(expr__1-Catalan))

((1/2)*I)*dilog(1-(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))+((1/2)*I)*dilog(1-(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/8)*I)*Pi^2+Catalan

 

0

(1)

simplify(expr__1, size = false)-Catalan; Physics:-Simplify(expr__1)-Catalan; simplify(expr__1-Catalan, size = false); Physics:-Simplify(expr__1-Catalan); verify(expr__1, Catalan, equal); is(expr__1 = Catalan); verify(expr__1-Catalan, 0, equal); is(expr__1-Catalan, 0)

((1/2)*I)*dilog(1-(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))+((1/2)*I)*dilog(1-(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/8)*I)*Pi^2

 

((1/2)*I)*dilog(1-(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))+((1/2)*I)*dilog(1-(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-((1/2)*I)*dilog(1+(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-((1/8)*I)*Pi^2

 

((1/8)*I)*(-Pi^2+4*dilog(1-(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))+4*dilog(1-(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-4*dilog(1+(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-4*dilog(1+(1/2)*2^(1/2)-((1/2)*I)*2^(1/2)))

 

((1/8)*I)*(-Pi^2+4*dilog(1-(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))+4*dilog(1-(1/2)*2^(1/2)-((1/2)*I)*2^(1/2))-4*dilog(1+(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-4*dilog(1+(1/2)*2^(1/2)-((1/2)*I)*2^(1/2)))

 

FAIL

 

FAIL

 

FAIL

 

FAIL

(2)

expr__2 := expand(convert(expr__1, polylog, simplifier = NONE))

((1/2)*I)*polylog(2, (1/2)*2^(1/2)-((1/2)*I)*2^(1/2))+((1/2)*I)*polylog(2, (1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-((1/2)*I)*polylog(2, -((1/2)*I)*2^(1/2)-(1/2)*2^(1/2))-((1/2)*I)*polylog(2, -(1/2)*2^(1/2)+((1/2)*I)*2^(1/2))-((1/8)*I)*Pi^2+Catalan

(3)

simplify(expr__2, size = false)-Catalan; Physics:-Simplify(expr__2)-Catalan; simplify(expr__2-Catalan, size = false); Physics:-Simplify(expr__2-Catalan); verify(expr__2, Catalan, equal); is(expr__2 = Catalan); verify(expr__2-Catalan, 0, equal); is(expr__2-Catalan, 0)

0

 

((1/2)*I)*polylog(2, (1/2-(1/2)*I)*2^(1/2))+((1/2)*I)*polylog(2, (1/2+(1/2)*I)*2^(1/2))-((1/2)*I)*polylog(2, (-1/2-(1/2)*I)*2^(1/2))-((1/2)*I)*polylog(2, (-1/2+(1/2)*I)*2^(1/2))-((1/8)*I)*Pi^2

 

0

 

-((1/8)*I)*(Pi^2+4*polylog(2, (-1/2+(1/2)*I)*2^(1/2))+4*polylog(2, (-1/2-(1/2)*I)*2^(1/2))-4*polylog(2, (1/2+(1/2)*I)*2^(1/2))-4*polylog(2, (1/2-(1/2)*I)*2^(1/2)))

 

true

 

true

 

true

 

true

(4)

NULL

Download Unable_to_simplify_expressions_containing_dilog.mw

(By the way, Mathematica's Integrate cannot compute this double integral explicitly.)

Certainly, ½ cannot be a root of the following equations: 
 

interface(version)

restart;

`Standard Worksheet Interface, Maple 2023.0, Windows 10, March 6 2023 Build ID 1689885`

(1)

solvefor[x]((x-RealDomain:-`^`(2, -1))*RealDomain:-`^`(x-2*RealDomain:-`^`(3, -1), -1)*(1-sqrt(1-x*(x-2*RealDomain:-`^`(3, -1))*RealDomain:-`^`(RealDomain:-`^`(x-RealDomain:-`^`(2, -1), 2), -1))) = 0)

Warning, solvefor is deprecated. Please use solve command.

 

[x = 0, x = 1/2]

(2)

`~`[limit]((x-1/2)*(1-sqrt(1-x*(x-2/3)/(x-1/2)^2))/(x-2/3), [x = 0, x = 1/2])

[0, undefined]

(3)

solvefor[x]((x-RealDomain:-`^`(2, -1))*RealDomain:-`^`(x-2*RealDomain:-`^`(3, -1), -1)*(1-sqrt(1+3*x*(x-2*RealDomain:-`^`(3, -1))*RealDomain:-`^`(5*RealDomain:-`^`(x-RealDomain:-`^`(2, -1), 2), -1))) = 0)

Warning, solvefor is deprecated. Please use solve command.

 

[x = 0, x = 1/2]

(4)

`~`[limit]((x-1/2)*(1-sqrt(1+3*x*(x-2/3)/(5*(x-1/2)^2)))/(x-2/3), [x = 0, x = 1/2])

[0, undefined]

(5)

``


 

Download solvefor_BUG.mw

But why can't Maple's solvefor rigorously verify (or at least try to check) the solution by itself?
Please note that this issue is irrelevant to the alleged deprecated command. You may reproduce these via :-solve, Degrees:-solveRealDomain:-solvePDEtools:-Solve, etc.

The following results should be true or false, but unfortunately, both of them become FAIL (in Maple 2023): 

interface(version)

_EnvTry := hard:

`Standard Worksheet Interface, Maple 2023.0, Windows 10, March 6 2023 Build ID 1689885`

(1)

assume(`or`(n < 0, n >= 1), m > (1/2)*n*(n-1))

is(m < 0);

is(m > 0)

false

 

FAIL

(2)

coulditbe(m, 0)

FAIL

(3)

NULL


Download Unable_to_prove.mw

Does anyone know why?

Here is a demonstration involving two decision problems (where evalf is applied to the output for better readability): 
 

interface(version);

restart;

`Standard Worksheet Interface, Maple 2023.0, Windows 10, March 6 2023 Build ID 1689885`

(1)

RealDomain:-solve({x*y = 3*z^5+4, x^2*y^2-3*x^2*z^2 = 1., x^3+y^3+z^3 = 12})

{x = 2.948903259, y = -2.257458014, z = -1.288554964}, {x = -.7294615910, y = 2.402430460, z = -1.139060479}, {x = .6177631401, y = 2.331476708, z = -.9687540923}, {x = 2.113678892, y = 1.450731881, z = -.7917893433}

(2)

SMTLIB:-Satisfy({x*y = 3*z^5+4, x^2*y^2-3*x^2*z^2 = 1, x^3+y^3+z^3 = 12}, showsmtlib)

(declare-fun x () Real)
(declare-fun y () Real)
(declare-fun z () Real)
(assert (and (= (* x y) (+ (* (* z z z z z) 3) 4)) (= (+ (* (* x x) (* y y)) (* (* (* x x) (* z z)) (- 3))) 1) (= (+ (* x x x) (* y y y) (* z z z)) 12)))
(check-sat)
(exit)

 

Error, (in SMTLIB:-smtlib_execute) external linking: error loading external library mplsmtlib.dll: Ҳ���ָ����ģ�顣

 

RealDomain:-solve({(x^2-2*y*z)*(x^3-y+z) = 0, x^4-y*z^3 = 2., z^4+x^3-2*x*y+3*y*z = 0})

{x = -1.130532018, y = -.1818551573, z = 1.263080805}, {x = 1.123233144, y = .4467032548, z = -.9704268675}, {x = 1.250562423, y = 2.517328867, z = .5615663246}, {x = 2.489770959, y = 16.73009962, z = 1.296110460}, {x = -1.336432744, y = -.7736167557, z = -1.154352246}, {x = 1.209937072, y = 1.655230257, z = .4422187526}

(3)

SMTLIB:-Satisfy({(x^2-2*y*z)*(x^3-y+z) = 0, x^4-y*z^3 = 2, z^4+x^3-2*x*y+3*y*z = 0}, showsmtlib)

(declare-fun x () Real)
(declare-fun y () Real)
(declare-fun z () Real)
(assert (and (= (* (+ (* x x) (* (* y z) (- 2))) (+ (* x x x) (* y (- 1)) z)) 0) (= (- (* x x x x) (* y (* z z z))) 2) (= (+ (* z z z z) (* x x x) (* (* x y) (- 2)) (* (* y z) 3)) 0)))
(check-sat)
(exit)

 

Error, (in SMTLIB:-smtlib_execute) external linking: error loading external library mplsmtlib.dll: Ҳ���ָ����ģ�顣

 

?SMTLIB:-Satisfy


 

Download SMTLIB[Satisfy].mw

As you can see, the SMTLIB:-Satisfy command fails to work in Maple 2023, and I have to install the Visual Studio 2013 (VC++ 12.0) manually. But unfortunately, even if I have installed the vcredist_x64.exe beforehand, the computation still cannot be done in 1000 seconds! (Please note that I just require one real instance rather than all solutions.) Does anyone know why? 
By the way, since the default SMT solver (in Maple 2023) is Z3, will another SMT solver (like cvc5) be supported in future Maple releases?

First 16 17 18 19 20 21 22 Page 18 of 23