sursumCorda

1284 Reputation

15 Badges

3 years, 82 days

MaplePrimes Activity


These are questions asked by sursumCorda

According to this help page

the transitive reduction of graph G, is the graph with the fewest edges that still shares the same reachability as G (but might contain new edges not present in G). 

However, in Maple 2023, things become strange; different branches return distinct numbers of edges: 
(33 arcs or 40 arcs?)

restart;

with(GraphTheory):

showstat(TransitiveReduction, 4)


GraphTheory:-TransitiveReduction := proc(G::GRAPHLN, $)
local D, V, T, i, j, k, A, M, n, flags, B;
       ...
   4   if _EnvDisableExt <> true then
           ...
       elif D <> (':-directed') then
           ...
       else
           ...
       end if;
       ...
end proc
 

 

G__0 := Digraph({[2, 8], [3, 1], [4, 9], [5, 10], [6, 19], [7, 12], [8, 13], [9, 3], [10, 4], [10, 14], [11, 5], [11, 15], [12, 6], [12, 16], [13, 7], [13, 17], [14, 9], [15, 10], [15, 18], [16, 19], [17, 12], [17, 20], [18, 14], [19, 11], [19, 21], [20, 22], [21, 18], [22, 16], [22, 23], [23, 19]})

G__0 := `Graph 1: a directed graph with 23 vertices and 30 arc(s)`

(1)

G__1 := TransitiveReduction(G__0)

G__1 := `Graph 2: a directed graph with 23 vertices and 33 arc(s)`

(2)

_EnvDisableExt := trueG__2 := TransitiveReduction(G__0)

G__2 := `Graph 3: a directed graph with 23 vertices and 40 arc(s)`

(3)

IsIsomorphic(G__1, G__2)

false

(4)

 


 

Download TransReduction.mw

Any bugs? 

G__0 := GraphTheory:-Digraph({[3, 1], [9, 3], [4, 9], [14, 9], [10, 4], [5, 10], [15, 10], [11, 5], [19, 11], [12, 6], [7, 12], [17, 12], [13, 7], [8, 13], [2, 8], [10, 14], [18, 14], [11, 15], [6, 19], [16, 19], [23, 19], [13, 17], [15, 18], [21, 18], [12, 16], [22, 16], [22, 23], [20, 22], [19, 21], [17, 20]}):

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?

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