Question: Kernel connection has been lost when calculating Groebner Basis

Hello. I am trying to do a project. Howerver the following code is causing Windows 7(x64) to error.

First, I get a message from mserver.exe saying: mserver has stopped working.

I click "Close the program" and I get "Kernel connection has been lost."

This is happening when I calculate the Groebner Basis by the following code. It is all right when I calculate the Groebner Basis when the problem to be solved is simpler. The memory of my computer is 30G. The error is happen when 17% of the memory was used.

I do not know the reason of the  error and how to fix Maple. I am using Maple 16 of 64bit.

Thank you in advance for your help.

 

case.mw

restart; with(Groebner); st := time()

输入节点个数及节点导纳矩阵:
N := 9
G := Matrix(9, 9, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (1, 9) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (2, 9) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (3, 9) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 77945/23567, (4, 5) = -17000/8753, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (4, 9) = -400/293, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = -17000/8753, (5, 5) = 41834/12975, (5, 6) = -39000/30421, (5, 7) = 0, (5, 8) = 0, (5, 9) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = -39000/30421, (6, 6) = 50599/20762, (6, 7) = -6800/5887, (6, 8) = 0, (6, 9) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = -6800/5887, (7, 7) = 16320/5887, (7, 8) = -1360/841, (7, 9) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = -1360/841, (8, 8) = 7239/2581, (8, 9) = -6400/5389, (9, 1) = 0, (9, 2) = 0, (9, 3) = 0, (9, 4) = -400/293, (9, 5) = 0, (9, 6) = 0, (9, 7) = 0, (9, 8) = -6400/5389, (9, 9) = 48549/19018}); B := Matrix(9, 9, {(1, 1) = -625/36, (1, 2) = 0, (1, 3) = 0, (1, 4) = 625/36, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (1, 9) = 0, (2, 1) = 0, (2, 2) = -16, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 16, (2, 9) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = -5000/293, (3, 4) = 0, (3, 5) = 0, (3, 6) = 5000/293, (3, 7) = 0, (3, 8) = 0, (3, 9) = 0, (4, 1) = 625/36, (4, 2) = 0, (4, 3) = 0, (4, 4) = -523162/13309, (4, 5) = 92000/8753, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (4, 9) = 3400/293, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 92000/8753, (5, 5) = -100479/6343, (5, 6) = 67981/12165, (5, 7) = 0, (5, 8) = 0, (5, 9) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 5000/293, (6, 4) = 0, (6, 5) = 67981/12165, (6, 6) = -157779/4907, (6, 7) = 57600/5887, (6, 8) = 0, (6, 9) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 57600/5887, (7, 7) = -1133237/48630, (7, 8) = 11520/841, (7, 9) = 0, (8, 1) = 0, (8, 2) = 16, (8, 3) = 0, (8, 4) = 0, (8, 5) = 0, (8, 6) = 0, (8, 7) = 11520/841, (8, 8) = -138167/3898, (8, 9) = 32200/5389, (9, 1) = 0, (9, 2) = 0, (9, 3) = 0, (9, 4) = 3400/293, (9, 5) = 0, (9, 6) = 0, (9, 7) = 0, (9, 8) = 32200/5389, (9, 9) = -97961/5650})

x[1] := 1; y[1] := 0

x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9]

 

y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9]

(1)

for i to N do p[i] := add(x[i]*(G[i, j]*x[j]-B[i, j]*y[j]), j = 1 .. N)+add(y[i]*(G[i, j]*y[j]+B[i, j]*x[j]), j = 1 .. N) end do


for i to N do q[i] := y[i]*add(G[i, j]*x[j]-B[i, j]*y[j], j = 1 .. N)-x[i]*add(G[i, j]*y[j]+B[i, j]*x[j], j = 1 .. N) end do

Pd[2] := 0; Pd[3] := 0; Pd[4] := 0; Qd[4] := 0; Pd[5] := -9/10; Qd[5] := -3/10; Pd[6] := 0; Qd[6] := 0; Pd[7] := -1; Qd[7] := -35*(1/100); Pd[8] := 0; Qd[8] := 0; Pd[9] := -5/4; Qd[9] := -1/2; LL := [p[2]-Pd[2], x[2]^2+y[2]^2-1, p[3]-Pd[3], x[3]^2+y[3]^2-1, p[4]-Pd[4], q[4]-Qd[4], p[5]-Pd[5], q[5]-Qd[5], p[6]-Pd[6], q[6]-Qd[6], p[7]-Pd[7], q[7]-Qd[7], p[8]-Pd[8], q[8]-Qd[8], p[9]-Pd[9], q[9]-Qd[9]]; VV := SuggestVariableOrder(LL); tord := plex(VV)

y[3], x[3], y[2], x[2], y[7], x[7], y[5], x[5], y[9], x[9], y[4], x[4], y[6], x[6], y[8], x[8]

 

plex(y[3], x[3], y[2], x[2], y[7], x[7], y[5], x[5], y[9], x[9], y[4], x[4], y[6], x[6], y[8], x[8])

(2)

XX := Basis(LL, tord)

``




Download case.mw

Please Wait...