Maple 2024 Questions and Posts

These are Posts and Questions associated with the product, Maple 2024

Hey guys,

I have to solve a bunch of systems of polynomial equations und dome restrictions given by inequalitites. I have 8 variables, 8 equations and and 13 inequalitites. Since the simple solve or SemiAlgebraic command are not able to solve every system I tryd some other ways. Right now I try to bring the set of equations and ineqaulities in a better from or structure using RealTriangulize from the RegularChains library. Later on I want to take those results and use solve or SemiAlgebraic again, hoping, that Maple than finds the solutions and is not calculating for houres without a result. I already know, that you can have diffrent outputs for RealTriangularize (I know list, record, piecewise and zerodimensional, althought the last one is not really helpful). Since I want to go on wirking with the results I need to have them in a form, that I can read of the new equations and inequalities to put them into solve. Often that works totaly fine, but sometimes I get an output I dont understand. I understand what It means but I dont understand why Maple uses that type of output. If you have a look in the attached file you can see what I mean:

restart; with(RegularChains); eq_5334 := {y*(m*x-m-n+1)+(-x+1)*n-x = 0, (-p+t)*k+p*y-t = 0, (k-x-y)*t-k*p+y = 0, (-x-y+1)*t+(-k+y)*n+x*s = 0, (-x-y+1)*p+m*y^2+x-y = 0, (x^2-x)*m+y*(t-1)-n+1 = 0, -k*n+s*x = 0, m*x*y-p = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < n+(t-1)*p, 0 < (m*y-1)*n+(1-p)*(m*x-m+1), 0 < (m*x-m-t+1)*p+m*y*(t-n), 1 < x+y, k < 1, m < 1, s < t, t < 1}; eq_5380 := {(-x-y+1)*p+m*x*y = 0, (-p+t)*k+p*y-t = 0, (k-x-y)*t-k*p+y = 0, (-x-y+1)*t+(-k+y)*n+x*s = 0, (m-1)*y^2+(-x+1)*y-p+x = 0, (x-1)*(m-1)*y-x^2-n+x = 0, m*x^2+(-m-n+1)*x+(-y+1)*n+t*y-1 = 0, -k*n+s*x = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < n+(t-1)*p, 0 < (m*y-1)*n+(1-p)*(m*x-m+1), 0 < (m*x-m-t+1)*p+m*y*(t-n), 1 < x+y, k < 1, m < 1, s < t, t < 1}; eq_5382 := {(-x-y+1)*p+m*x*y = 0, y*(m*x-m-n+1)+(-x+1)*n-x = 0, (-p+t)*k+p*y-t = 0, (k-x-y)*t-k*p+y = 0, (-x-y+1)*t+(-k+y)*n+x*s = 0, (-x-y+1)*p+m*y^2+x-y = 0, m*x^2+(-m-n+1)*x+(-y+1)*n+t*y-1 = 0, -k*n+s*x = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < n+(t-1)*p, 0 < (m*y-1)*n+(1-p)*(m*x-m+1), 0 < (m*x-m-t+1)*p+m*y*(t-n), 1 < x+y, k < 1, m < 1, s < t, t < 1}; sys := eq_5334; SuggestVariableOrder(sys); R := PolynomialRing(%); dec_5334 := RealTriangularize(sys, R, output = piecewise); sys := eq_5380; SuggestVariableOrder(sys); R := PolynomialRing(%); dec_5380 := RealTriangularize(sys, R, output = piecewise); sys := eq_5382; SuggestVariableOrder(sys); R := PolynomialRing(%); dec_5382 := RealTriangularize(sys, R, output = piecewise); sys := eq_5382; SuggestVariableOrder(sys); R := PolynomialRing(%); dec_5382_record := RealTriangularize(sys, R, output = record)

[AlgebraicGeometryTools, ChainTools, ConstructibleSetTools, Display, DisplayPolynomialRing, Equations, ExtendedRegularGcd, FastArithmeticTools, Inequations, Info, Initial, Intersect, Inverse, IsRegular, LazyRealTriangularize, MainDegree, MainVariable, MatrixCombine, MatrixTools, NormalForm, ParametricSystemTools, PolynomialRing, Rank, RealTriangularize, RegularGcd, RegularizeInitial, SamplePoints, SemiAlgebraicSetTools, Separant, SparsePseudoRemainder, SuggestVariableOrder, Tail, Triangularize]

 

[s, k, n, p, m, t, x, y]

 

R := polynomial_ring

 

dec_5334 := [[x*s+((-x^2+x)*m-t*y+y-1)*k = 0, (m*x*y-t)*k+(x+y)*t-y = 0, n+(-x^2+x)*m-t*y+y-1 = 0, -m*x*y+p = 0, (x^2*y+(y^2-y)*x-y^2)*m-x+y = 0, t*y^2-y^2+x = 0, (15*y^2+24*y+20)*x-6*y^2-13*y-10 = 0, y^3-y-2 = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < 12891634966*y^2+19613071879*y+16947294542, 0 < 1256597*y^2+1911761*y+1651926, 0 < 6310892468*y^2+9601263717*y+8296275330, 0 < 1401*y^2+2130*y+1840, 0 < 1-k, 0 < 1-m, 0 < 72927541996846438*y^2+110950482461140595*y+95870270479707846, 0 < 1-t]]

 

[s, k, n, p, m, t, y, x]

 

R := polynomial_ring

 

dec_5380 := piecewise(`and`(`and`(`and`(0 < x^3-2*x^2+3*x-1, 0 < x^3+2*x^2+x-1), x^3+x^2+x < 1), 0 < 3*x-1), [[s*x+((1-x)*y*m+(x-1)*y+x^2-x)*k = 0, (m*y^2-y^2-t+(1-x)*y+x)*k+(y+x)*t-y = 0, n+(1-x)*y*m+(x-1)*y+x^2-x = 0, p-m*y^2+y^2+(x-1)*y-x = 0, m*y-x-y+1 = 0, t*y^2+(x-1)*y^2+(2*x^2-2*x)*y+x^3-2*x^2+x = 0, (3*x-1)*y^2+(3*x^2-3*x)*y+x^3-2*x^2+x = 0, 0 < k, 0 < m, 0 < s, 0 < y, 0 < -6*x^6-9*x^5*y+20*x^5+27*x^4*y-27*x^4-32*x^3*y+19*x^3+17*x^2*y-7*x^2-3*x*y+x, 0 < 3*x^6+3*x^5*y-14*x^5-10*x^4*y+26*x^4+11*x^3*y-24*x^3-3*x^2*y+11*x^2-2*x*y-2*x+y, 0 < 6*x^5+9*x^4*y-17*x^4-18*x^3*y+17*x^3+11*x^2*y-7*x^2-2*x*y+x, 0 < y+x-1, 0 < 1-k, 0 < -m+1, 0 < t-s, 0 < 1-t]], [])

 

[s, k, n, p, m, t, x, y]

 

R := polynomial_ring

 

dec_5382 := piecewise(`and`(`and`(y^3-2*y^2+y < 1, 0 < y-1), 23*y^3-37*y^2+13*y-3 <> 0), [[-k*n+s*x = 0, (p-t)*k+(y+x)*t-y = 0, (y+x-1)*n+(-x*y+y)*m+x-y = 0, (y+x-1)*p-m*y^2-x+y = 0, m*y-1 = 0, t*y^2+x^2+(y-1)*x-y^2 = 0, x^3+(3*y-2)*x^2+(2*y^2-3*y+1)*x-y^3+y^2 = 0, 0 < k, 0 < s, 0 < x, 0 < -2*x^2*y^2-2*x*y^3+2*y^4+x^2*y+3*x*y^2-3*y^3-x*y+y^2, 0 < x^2*y^2+2*x*y^3+y^4-x^2*y-4*x*y^2-3*y^3+2*x*y+3*y^2-y, 0 < -x^2*y-x*y^2+y^3+x*y-y^2, 0 < y+x-1, 0 < 1-k, 0 < t-s, 0 < 1-t]], 23*y^3-37*y^2+13*y-3 = 0, [[-k*n+s*x = 0, (p-t)*k+(y+x)*t-y = 0, (y+x-1)*n+(-x*y+y)*m+x-y = 0, (y+x-1)*p-m*y^2-x+y = 0, m*y-1 = 0, t*y^2+x^2+(y-1)*x-y^2 = 0, (2377326*y^2-1587000*y+302588)*x^2+(390793*y^2+497766*y+138115)*x-507805*y^2+152032*y-109047 = 0, 23*y^3-37*y^2+13*y-3 = 0, 0 < k, 0 < m, 0 < s, 0 < x, 0 < y, 0 < 700112222844255556263586865*x*y^2-260269572171898884295316974*x*y-93795749047261033657544191*y^2+73822886321394794237709987*x+34866975665513154551125606*y-9877974587657378842117575, 0 < -26166721441919*x*y^2+9412709182291*x*y+53422638514257*y^2-3387596446782*x-21180373503698*y+6484087812711, 0 < 21236600258115*x*y^2-8079468597142*x*y-3053799376681*y^2+2340822678357*x+1387037467490*y-370794765921, 0 < y+x-1, 0 < 1-k, 0 < -m+1, 0 < t-s, 0 < 1-t]], [])

 

[s, k, n, p, m, t, x, y]

 

R := polynomial_ring

 

`Non-fatal error while reading data from kernel.`

(1)

NULL

I would like to get results like in dec_5334. I can easily go on working with this kind of form. In dec_5380 you can see a diffrent output. I dont see the point of giving me this output. the second line i basically epmty. and in the first line the solution is broken into peaces. when a certain solution just works under some inequalitites, why dont they put those four inequalities inside of the list in front of it? Is there a workaround for the "normal" output? Or is there a way to read off the lines from this kind of structure, with the open { in front ?

The same problem appears in dec_5382. WHy dont give me a list with to lists of equations and inequalities to show me both solutions?
In the last example dec_5382_record you can see the output when you change the corresponding option in RealTrinagularize. But here I again have the problem that I dont know how to read of the equations and inequalities from the open curly bracket.

If anyone could help me, I would be very glad. Thank yu in advance.

Regards

Felix

Download Output_of_RegularChains.mw

Is there a way to put in intervals and get the output as inequality Notation? Something like this ->

i want to factoring the (m+G'/G) in my long equation but i use some trick but still i can't get the exactly system and still G will remain in my system what should i factoring for remove this G(xi) from my system is all about factoring , my system of equation are wrong contain G(xi) How i can remove it by taking a factoring or any other technique,

not parameter is arbitrary except V and sigma''

restart

with(PDEtools)

with(LinearAlgebra)

with(Physics)

with(SolveTools)

undeclare(prime)

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

(1)

_local(gamma)

Warning, A new binding for the name `gamma` has been created. The global instance of this name is still accessible using the :- prefix, :-`gamma`.  See ?protect for details.

 

declare(Omega(x, t)); declare(U(xi)); declare(u(x, y, z, t)); declare(Q(xi)); declare(V(xi))

Omega(x, t)*`will now be displayed as`*Omega

 

U(xi)*`will now be displayed as`*U

 

u(x, y, z, t)*`will now be displayed as`*u

 

Q(xi)*`will now be displayed as`*Q

 

V(xi)*`will now be displayed as`*V

(2)

NULL

ode := (-V*a[2]+a[1])*(diff(diff(U(xi), xi), xi))+U(xi)*(((-gamma+sigma)*k+b)*U(xi)^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(-V*a[2]+a[1])*(diff(diff(U(xi), xi), xi))+U(xi)*(((-gamma+sigma)*k+b)*U(xi)^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(3)

F := sum(e[i]*(m+(diff(G(xi), xi))/G(xi))^i, i = -1 .. 1)

e[-1]/(m+(diff(G(xi), xi))/G(xi))+e[0]+e[1]*(m+(diff(G(xi), xi))/G(xi))

(4)

D1 := diff(F, xi)

-e[-1]*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)

(5)

NULL

S := diff(G(xi), `$`(xi, 2)) = -(2*m*mu+lambda)*(diff(G(xi), xi))-mu

diff(diff(G(xi), xi), xi) = -(2*m*mu+lambda)*(diff(G(xi), xi))-mu

(6)

E1 := subs(S, D1)

-e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)

(7)

D2 := diff(E1, xi)

2*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^3-e[-1]*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)

(8)

E2 := subs(S, D2)

2*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2/(m+(diff(G(xi), xi))/G(xi))^3-e[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)

(9)

D3 := diff(E2, xi)

-6*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^4+4*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^3+2*e[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^3-e[-1]*((2*m*mu+lambda)^2*(diff(diff(G(xi), xi), xi))/G(xi)+(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+3*(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))*(diff(G(xi), xi))/G(xi)^2+6*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(diff(G(xi), xi), xi))/G(xi)^2+6*(diff(G(xi), xi))^2*(diff(diff(G(xi), xi), xi))/G(xi)^3-6*(diff(G(xi), xi))^4/G(xi)^4)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*((2*m*mu+lambda)^2*(diff(diff(G(xi), xi), xi))/G(xi)+(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+3*(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))*(diff(G(xi), xi))/G(xi)^2+6*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(diff(G(xi), xi), xi))/G(xi)^2+6*(diff(G(xi), xi))^2*(diff(diff(G(xi), xi), xi))/G(xi)^3-6*(diff(G(xi), xi))^4/G(xi)^4)

(10)

E3 := subs(S, D3)

-6*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^3/(m+(diff(G(xi), xi))/G(xi))^4+6*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^3-e[-1]*((2*m*mu+lambda)^2*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)+4*(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+12*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)^2/G(xi)^2-6*(diff(G(xi), xi))^4/G(xi)^4)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*((2*m*mu+lambda)^2*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)+4*(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+12*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)^2/G(xi)^2-6*(diff(G(xi), xi))^4/G(xi)^4)

(11)

NULL

NULL

K := U(xi) = F

K1 := diff(U(xi), xi) = E1

K2 := diff(U(xi), `$`(xi, 2)) = E2

K3 := diff(U(xi), `$`(xi, 3)) = E3

NULL

L := eval(ode, {K, K1, K2, K3})

(-V*a[2]+a[1])*(2*e[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2/(m+(diff(G(xi), xi))/G(xi))^3-e[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+e[1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3))+(e[-1]/(m+(diff(G(xi), xi))/G(xi))+e[0]+e[1]*(m+(diff(G(xi), xi))/G(xi)))*(((-gamma+sigma)*k+b)*(e[-1]/(m+(diff(G(xi), xi))/G(xi))+e[0]+e[1]*(m+(diff(G(xi), xi))/G(xi)))^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(12)

NULL

# rewritting rule

RR := isolate(m+diff(G(xi), xi)/(G(xi))=Phi, diff(G(xi), xi)/G(xi));

(diff(G(xi), xi))/G(xi) = Phi-m

(13)

# Apply RR and collect wrt Phi

subs(RR, L):
normal(%):
PhiN := collect(numer(lhs(%)), phi):
PhiD := denom(lhs(%%));

Phi^3*G(xi)^4

(14)



with(LargeExpressions):

LLE := collect(PhiN, Phi, Veil[phi] ):
LLE / PhiD = 0;

(Phi^6*phi[1]+3*Phi^5*phi[2]-Phi^4*phi[3]-Phi^3*phi[4]-Phi^2*phi[5]+Phi*phi[6]-phi[7])/(Phi^3*G(xi)^4) = 0

(15)

# phi[i] coefficients


phis := [ seq( phi[i] = simplify(Unveil[phi](phi[i]), size), i=1..LastUsed[phi] ) ]:

print~( phis ):

phi[1] = G(xi)^4*e[1]^3*((-gamma+sigma)*k+b)

 

phi[2] = e[1]^2*G(xi)^4*e[0]*((-gamma+sigma)*k+b)

 

phi[3] = -3*e[1]*G(xi)^4*(-(1/3)*a[1]*k^2+(-e[-1]*(gamma-sigma)*e[1]+(-gamma+sigma)*e[0]^2+(1/3)*w*a[2]-(1/3)*alpha)*k+b*e[-1]*e[1]+b*e[0]^2-(1/3)*w)

 

phi[4] = (2*e[1]*(V*a[2]-a[1])*(diff(G(xi), xi))^3+3*e[1]*G(xi)*(2*m*mu+lambda)*(V*a[2]-a[1])*(diff(G(xi), xi))^2+e[1]*(V*a[2]-a[1])*G(xi)*((2*m*mu+lambda)^2*G(xi)+3*mu)*(diff(G(xi), xi))+G(xi)^2*(-(6*e[-1]*((-gamma+sigma)*k+b)*e[1]-a[1]*k^2+k*w*a[2]+((-gamma+sigma)*k+b)*e[0]^2-k*alpha-w)*e[0]*G(xi)+e[1]*mu*(2*m*mu+lambda)*(V*a[2]-a[1])))*G(xi)

 

phi[5] = -3*e[-1]*G(xi)^4*(-(1/3)*a[1]*k^2+(-e[-1]*(gamma-sigma)*e[1]+(-gamma+sigma)*e[0]^2+(1/3)*w*a[2]-(1/3)*alpha)*k+b*e[-1]*e[1]+b*e[0]^2-(1/3)*w)

 

phi[6] = 4*((1/2)*(V*a[2]-a[1])*(diff(G(xi), xi))^3+(3/2)*(V*a[2]-a[1])*(m*mu+(1/2)*lambda)*G(xi)*(diff(G(xi), xi))^2+(V*a[2]-a[1])*((m*mu+(1/2)*lambda)^2*G(xi)+(3/4)*mu)*G(xi)*(diff(G(xi), xi))+(1/2)*((3/2)*e[0]*((-gamma+sigma)*k+b)*e[-1]*G(xi)+(V*a[2]-a[1])*(m*mu+(1/2)*lambda)*mu)*G(xi)^2)*e[-1]*G(xi)

 

phi[7] = 8*e[-1]*((1/4)*(V*a[2]-a[1])*(diff(G(xi), xi))^4+(V*a[2]-a[1])*(m*mu+(1/2)*lambda)*G(xi)*(diff(G(xi), xi))^3+(V*a[2]-a[1])*((m*mu+(1/2)*lambda)^2*G(xi)+(1/2)*mu)*G(xi)*(diff(G(xi), xi))^2+(V*a[2]-a[1])*(m*mu+(1/2)*lambda)*mu*G(xi)^2*(diff(G(xi), xi))+(1/4)*(-(1/2)*((-gamma+sigma)*k+b)*e[-1]^2*G(xi)^2+mu^2*(V*a[2]-a[1]))*G(xi)^2)

(16)

# WATCHOUT: you have 9 coefficients and so its desirable to have the same number of unknowns

unknowns := indets(rhs~(phis), {e[-1],e[0],e[1],'identical'(mu),'identical'(lambda),'identical'(a[1]),'identical'(alpha)});

COEFFS := solve(rhs~(phis), unknowns)

{alpha, lambda, mu, a[1], e[-1], e[0], e[1]}

 

{alpha = alpha, lambda = lambda, mu = mu, a[1] = a[1], e[-1] = 0, e[0] = 0, e[1] = 0}, {alpha = alpha, lambda = lambda, mu = mu, a[1] = -(gamma*k*e[0]^2-k*sigma*e[0]^2-b*e[0]^2-k*w*a[2]+alpha*k+w)/k^2, e[-1] = 0, e[0] = e[0], e[1] = 0}, {alpha = (1/2)*(-G(xi)^4*gamma*k^3*e[-1]^2+G(xi)^4*k^3*sigma*e[-1]^2-4*G(xi)^2*(diff(G(xi), xi))*V*k^2*m*mu^2*a[2]+4*G(xi)*(diff(G(xi), xi))^3*V*k^2*m*mu*a[2]+G(xi)^4*b*k^2*e[-1]^2+4*G(xi)^2*(diff(G(xi), xi))*k*m*mu^2*w*a[2]-4*G(xi)*(diff(G(xi), xi))^3*k*m*mu*w*a[2]-2*G(xi)^2*V*k^2*mu^2*a[2]+2*G(xi)*(diff(G(xi), xi))^2*V*k^2*mu*a[2]-2*G(xi)*(diff(G(xi), xi))*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*V*k^2*mu*a[2]+2*(diff(G(xi), xi))^4*V*k^2*a[2]+2*(diff(G(xi), xi))^3*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*V*k^2*a[2]-4*G(xi)^2*(diff(G(xi), xi))*m*mu^2*w+2*G(xi)^2*k*mu^2*w*a[2]+4*G(xi)*(diff(G(xi), xi))^3*m*mu*w-2*G(xi)*(diff(G(xi), xi))^2*k*mu*w*a[2]+2*G(xi)*(diff(G(xi), xi))*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*k*mu*w*a[2]-2*(diff(G(xi), xi))^4*k*w*a[2]-2*(diff(G(xi), xi))^3*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*k*w*a[2]-2*G(xi)^2*mu^2*w+2*G(xi)*(diff(G(xi), xi))^2*mu*w-2*G(xi)*(diff(G(xi), xi))*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*mu*w+2*(diff(G(xi), xi))^4*w+2*(diff(G(xi), xi))^3*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*w)/((2*m*mu^2*(diff(G(xi), xi))*G(xi)^2-2*m*mu*(diff(G(xi), xi))^3*G(xi)+mu*(diff(G(xi), xi))*G(xi)*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)-(diff(G(xi), xi))^3*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)+mu^2*G(xi)^2-mu*(diff(G(xi), xi))^2*G(xi)-(diff(G(xi), xi))^4)*k), lambda = RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)/G(xi), mu = mu, a[1] = -(1/2)*(-G(xi)^4*gamma*k*e[-1]^2+G(xi)^4*k*sigma*e[-1]^2-4*G(xi)^2*(diff(G(xi), xi))*V*m*mu^2*a[2]+4*G(xi)*(diff(G(xi), xi))^3*V*m*mu*a[2]+G(xi)^4*b*e[-1]^2-2*G(xi)^2*V*mu^2*a[2]+2*G(xi)*(diff(G(xi), xi))^2*V*mu*a[2]-2*mu*G(xi)*(diff(G(xi), xi))*V*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*a[2]+2*(diff(G(xi), xi))^4*V*a[2]+2*(diff(G(xi), xi))^3*V*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)*a[2])/(2*m*mu^2*(diff(G(xi), xi))*G(xi)^2-2*m*mu*(diff(G(xi), xi))^3*G(xi)+mu*(diff(G(xi), xi))*G(xi)*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)-(diff(G(xi), xi))^3*RootOf(4*m^2*mu^2*(diff(G(xi), xi))*G(xi)^2+2*m*mu^2*G(xi)^2+6*m*mu*(diff(G(xi), xi))^2*G(xi)+3*mu*(diff(G(xi), xi))*G(xi)+2*(diff(G(xi), xi))^3+(4*m*mu*(diff(G(xi), xi))*G(xi)+mu*G(xi)+3*(diff(G(xi), xi))^2)*_Z+(diff(G(xi), xi))*_Z^2)+mu^2*G(xi)^2-mu*(diff(G(xi), xi))^2*G(xi)-(diff(G(xi), xi))^4), e[-1] = e[-1], e[0] = 0, e[1] = 0}

(17)

case1 := COEFFS[2]

{alpha = alpha, lambda = lambda, mu = mu, a[1] = -(gamma*k*e[0]^2-k*sigma*e[0]^2-b*e[0]^2-k*w*a[2]+alpha*k+w)/k^2, e[-1] = 0, e[0] = e[0], e[1] = 0}

(18)

NULL

F1 := subs(case1, F)

e[0]

(19)

F2 := subs(case1, ode)

(-a[2]*V-(gamma*k*e[0]^2-k*sigma*e[0]^2-b*e[0]^2-k*w*a[2]+alpha*k+w)/k^2)*(diff(diff(U(xi), xi), xi))+U(xi)*(((-gamma+sigma)*k+b)*U(xi)^2+k*e[0]^2*gamma-k*e[0]^2*sigma-b*e[0]^2-k*w*a[2]+k*alpha+(w*a[2]-alpha)*k) = 0

(20)

W := U(xi) = F1

U(xi) = e[0]

(21)

NULL

E := diff(G(xi), xi) = -(-2*m*mu-lambda)*exp(-(2*m*mu+lambda)*xi)*c__1/(2*m*mu+lambda)-mu/(2*m*mu+lambda)

diff(G(xi), xi) = -(-2*m*mu-lambda)*exp(-(2*m*mu+lambda)*xi)*c__1/(2*m*mu+lambda)-mu/(2*m*mu+lambda)

(22)

W1 := subs(E, W)

U(xi) = e[0]

(23)

W2 := subs(case1, W1)

U(xi) = e[0]

(24)

W3 := rhs(U(xi) = e[0])

e[0]

(25)

W4 := convert(W3, trig)

e[0]

(26)

W5 := W4

e[0]

(27)

odetest(W2, F2)

0

(28)

Download G-factoring.mw

I’m trying to solve a stiff system 1-D PDEs numerically in Maple but I’m getting the following error:

“Error, (in pdsolve/numeric/match_PDEs_BCs) cannot handle systems with multiple PDE describing the time dependence of the same dependent variable, or having no time dependence”

I included a picture of the PDEs and their BCs in the attached maple file. For easy reading, the attached file includes highlighted sections for parameters and variables. You can skip those to PDEs, BCs and ICs sections at the end of the document to reach the error I’m facing.

For reference, I used another software to solve the system and I was able to get the results in few seconds, so I think it is solvable. However, personally I prefer to use Maple so any inputs, insights, workarounds that I could use to handle the system in Maple would be of great help to me. Thank you.

question.mw

Dear Maple users

I am using the LinearInterpolation command from the Interpolation package. When I however want to integrate the result from one number to another, I only receive an abstract result. It is probably an easy question, but somehow I can't figure it out. I tried using MakeFunction and evalf command in order to receive a number for the integral. I hope someone can help.

Erik

Download Using_interpolation.mw

For plotting phase plot of two system of equations (autonomous), is there an option to increase of reduce number of arrows/line drawn?  I am not able to find such an option from help.

Below is an example. Google AI says stepsize should change the number of arrows, but it does not. It had no effect. Below is worksheet showing one example where I like to reduce number of arrows (not the size of the arrow, which is set to medium now).

I also tried numpoints option and it had no effect of how many arrows are drawn

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

the_sys:=[diff(x(t),t) = -3*x(t)-4*y(t), diff(y(t),t) = 2*x(t)+y(t)]:
DEtools:-DEplot(the_sys,[x(t), y(t)],t =0 .. 10,x = -4 .. 4,y = -4 .. 4,'labels' = [x(t),y(t)],'axes' = 'boxed', 'arrows'='medium')

 

 

Download change_number_of_arrows_jan_4_2025.mw

For reference, I'd like to do something similar using another system as below where it has option to change number of arrows.

every structure is true but my plot not run where is issue?
plot.mw

I've been trying to explore or animate a bode plot without success.  I kept simplifying things until I'm back to a basic example (attached).  I'm assuming there is an issue with trying to explore or animate a function that uses a system object, and am wondering if there is an apoproach that works with such structures.  I'm not a Maple jock by any means.

simple_bode.mw

thanks,

Brian

something I always wondered about. On Maple website it says

Notice the date above., December 26.

On my Maple, with latest update, same version is printed, but the date is way off.

It says December 2, not 26.

Why is that? Should not the date be the same sicne same version 1840 of Physics update?

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1840 and is the same as the version installed in this computer, created 2024, December 2, 10:11 hours Pacific Time.`

 

 

Download physics_version.mw

I like the scrollable vectors up to a point. They seem to be unnecessarly width restricted. Is there any way to increase this? Could anything be added to the .ini file as the is an entry in there to disable them?

Also, if the command is entered again it is ok

I’ve spent considerable effort trying to understand how the solution was derived, particularly the approach involving the factoring of G′/G. Despite my attempts, the methodology remains elusive. It seems there’s an innovative idea at play here—something beyond the techniques we’ve applied in similar problems before. While I suspect it involves a novel perspective, I can’t quite pinpoint what it might be.

If anyone has insights into how this factoring is achieved or can shed light on the underlying idea, I’d greatly appreciate your help.


 

restart

with(PDEtools)

with(LinearAlgebra)

with(Physics)

with(SolveTools)

undeclare(prime)

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

(1)

_local(gamma)

Warning, A new binding for the name `gamma` has been created. The global instance of this name is still accessible using the :- prefix, :-`gamma`.  See ?protect for details.

 

declare(Omega(x, t)); declare(U(xi)); declare(u(x, y, z, t)); declare(Q(xi)); declare(V(xi))

Omega(x, t)*`will now be displayed as`*Omega

 

U(xi)*`will now be displayed as`*U

 

u(x, y, z, t)*`will now be displayed as`*u

 

Q(xi)*`will now be displayed as`*Q

 

V(xi)*`will now be displayed as`*V

(2)

``

ode := (-V*a[2]+a[1])*(diff(diff(U(xi), xi), xi))+U(xi)*(((-gamma+sigma)*k+b)*U(xi)^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(-V*a[2]+a[1])*(diff(diff(U(xi), xi), xi))+U(xi)*(((-gamma+sigma)*k+b)*U(xi)^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(3)

F := sum(c[i]*(m+(diff(G(xi), xi))/G(xi))^i, i = -1 .. 1)

c[-1]/(m+(diff(G(xi), xi))/G(xi))+c[0]+c[1]*(m+(diff(G(xi), xi))/G(xi))

(4)

D1 := diff(F, xi)

-c[-1]*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)

(5)

S := diff(G(xi), `$`(xi, 2)) = -(2*m*mu+lambda)*(diff(G(xi), xi))-mu

diff(diff(G(xi), xi), xi) = -(2*m*mu+lambda)*(diff(G(xi), xi))-mu

(6)

E1 := subs(S, D1)

-c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)

(7)

D2 := diff(E1, xi)

2*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^3-c[-1]*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)

(8)

E2 := subs(S, D2)

2*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2/(m+(diff(G(xi), xi))/G(xi))^3-c[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)

(9)

D3 := diff(E2, xi)

-6*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^4+4*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*(-(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))/G(xi)-(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2-2*(diff(G(xi), xi))*(diff(diff(G(xi), xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^3+2*c[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)*((diff(diff(G(xi), xi), xi))/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)/(m+(diff(G(xi), xi))/G(xi))^3-c[-1]*((2*m*mu+lambda)^2*(diff(diff(G(xi), xi), xi))/G(xi)+(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+3*(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))*(diff(G(xi), xi))/G(xi)^2+6*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(diff(G(xi), xi), xi))/G(xi)^2+6*(diff(G(xi), xi))^2*(diff(diff(G(xi), xi), xi))/G(xi)^3-6*(diff(G(xi), xi))^4/G(xi)^4)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*((2*m*mu+lambda)^2*(diff(diff(G(xi), xi), xi))/G(xi)+(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+3*(2*m*mu+lambda)*(diff(diff(G(xi), xi), xi))*(diff(G(xi), xi))/G(xi)^2+6*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(diff(G(xi), xi), xi))/G(xi)^2+6*(diff(G(xi), xi))^2*(diff(diff(G(xi), xi), xi))/G(xi)^3-6*(diff(G(xi), xi))^4/G(xi)^4)

(10)

E3 := subs(S, D3)

-6*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^3/(m+(diff(G(xi), xi))/G(xi))^4+6*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^3-c[-1]*((2*m*mu+lambda)^2*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)+4*(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+12*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)^2/G(xi)^2-6*(diff(G(xi), xi))^4/G(xi)^4)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*((2*m*mu+lambda)^2*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)+4*(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+12*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))^2/G(xi)^3-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)^2/G(xi)^2-6*(diff(G(xi), xi))^4/G(xi)^4)

(11)

``

NULL

K := U(xi) = F

K1 := diff(U(xi), xi) = E1

K2 := diff(U(xi), `$`(xi, 2)) = E2

K3 := diff(U(xi), `$`(xi, 3)) = E3

``

L := eval(ode, {K, K1, K2, K3})

(-V*a[2]+a[1])*(2*c[-1]*((-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-(diff(G(xi), xi))^2/G(xi)^2)^2/(m+(diff(G(xi), xi))/G(xi))^3-c[-1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3)/(m+(diff(G(xi), xi))/G(xi))^2+c[1]*(-(2*m*mu+lambda)*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)/G(xi)-3*(-(2*m*mu+lambda)*(diff(G(xi), xi))-mu)*(diff(G(xi), xi))/G(xi)^2+2*(diff(G(xi), xi))^3/G(xi)^3))+(c[-1]/(m+(diff(G(xi), xi))/G(xi))+c[0]+c[1]*(m+(diff(G(xi), xi))/G(xi)))*(((-gamma+sigma)*k+b)*(c[-1]/(m+(diff(G(xi), xi))/G(xi))+c[0]+c[1]*(m+(diff(G(xi), xi))/G(xi)))^2-a[1]*k^2+(w*a[2]-alpha)*k-w) = 0

(12)

NULL

# rewritting rule

RR := isolate(m+diff(G(xi), xi)/(G(xi))=Phi, diff(G(xi), xi)/G(xi));

(diff(G(xi), xi))/G(xi) = Phi-m

(13)

# Apply RR and collect wrt Phi

subs(RR, L):
normal(%):
PhiN := collect(numer(lhs(%)), phi):
PhiD := denom(lhs(%%));

Phi^3*G(xi)^4

(14)



with(LargeExpressions):

LLE := collect(PhiN, Phi, Veil[phi] ):
LLE / PhiD = 0;

(Phi^6*phi[1]+3*Phi^5*phi[2]-Phi^4*phi[3]-Phi^3*phi[4]-Phi^2*phi[5]+Phi*phi[6]-phi[7])/(Phi^3*G(xi)^4) = 0

(15)

# phi[i] coefficients


phis := [ seq( phi[i] = simplify(Unveil[phi](phi[i]), size), i=1..LastUsed[phi] ) ]:

print~( phis ):

phi[1] = c[1]^3*G(xi)^4*((-gamma+sigma)*k+b)

 

phi[2] = c[0]*G(xi)^4*c[1]^2*((-gamma+sigma)*k+b)

 

phi[3] = -3*G(xi)^4*c[1]*(-(1/3)*a[1]*k^2+(-c[-1]*(gamma-sigma)*c[1]+(-gamma+sigma)*c[0]^2+(1/3)*w*a[2]-(1/3)*alpha)*k+b*c[-1]*c[1]+b*c[0]^2-(1/3)*w)

 

phi[4] = G(xi)*(2*c[1]*(V*a[2]-a[1])*(diff(G(xi), xi))^3+3*c[1]*G(xi)*(2*m*mu+lambda)*(V*a[2]-a[1])*(diff(G(xi), xi))^2+((2*m*mu+lambda)^2*G(xi)+3*mu)*(V*a[2]-a[1])*G(xi)*c[1]*(diff(G(xi), xi))+G(xi)^2*(-c[0]*(6*c[-1]*((-gamma+sigma)*k+b)*c[1]-a[1]*k^2+k*w*a[2]+((-gamma+sigma)*k+b)*c[0]^2-k*alpha-w)*G(xi)+c[1]*mu*(2*m*mu+lambda)*(V*a[2]-a[1])))

 

phi[5] = -3*G(xi)^4*(-(1/3)*a[1]*k^2+(-c[-1]*(gamma-sigma)*c[1]+(-gamma+sigma)*c[0]^2+(1/3)*w*a[2]-(1/3)*alpha)*k+b*c[-1]*c[1]+b*c[0]^2-(1/3)*w)*c[-1]

 

phi[6] = 4*c[-1]*((1/2)*(V*a[2]-a[1])*(diff(G(xi), xi))^3+(3/2)*(m*mu+(1/2)*lambda)*(V*a[2]-a[1])*G(xi)*(diff(G(xi), xi))^2+(V*a[2]-a[1])*((m*mu+(1/2)*lambda)^2*G(xi)+(3/4)*mu)*G(xi)*(diff(G(xi), xi))+(1/2)*G(xi)^2*((3/2)*c[-1]*((-gamma+sigma)*k+b)*c[0]*G(xi)+(m*mu+(1/2)*lambda)*(V*a[2]-a[1])*mu))*G(xi)

 

phi[7] = 8*((1/4)*(V*a[2]-a[1])*(diff(G(xi), xi))^4+(V*a[2]-a[1])*G(xi)*(m*mu+(1/2)*lambda)*(diff(G(xi), xi))^3+(V*a[2]-a[1])*G(xi)*((m*mu+(1/2)*lambda)^2*G(xi)+(1/2)*mu)*(diff(G(xi), xi))^2+(V*a[2]-a[1])*G(xi)^2*(m*mu+(1/2)*lambda)*mu*(diff(G(xi), xi))+(1/4)*G(xi)^2*(-(1/2)*((-gamma+sigma)*k+b)*c[-1]^2*G(xi)^2+mu^2*(V*a[2]-a[1])))*c[-1]

(16)

# WATCHOUT: you have 9 coefficients and so its desirable to have the same number of unknowns

unknowns := indets(rhs~(phis), name);

COEFFS := solve(rhs~(phis), unknowns)

{V, alpha, b, gamma, k, lambda, m, mu, sigma, w, xi, a[1], a[2], c[-1], c[0], c[1]}

 

Error, (in solve) cannot solve expressions with diff(G(xi),xi) for xi

 

NULL

case1 := COEFFS[4]

{alpha = alpha, beta = gamma, delta = delta, gamma = gamma, k = k, lambda = 0, m = 2*n, mu = mu, n = n, sigma = 32*alpha*mu^2*n^4/a[-1]^2, w = -2*alpha*k^2*n-4*alpha*mu^2*n+delta^2, a[-1] = a[-1], a[0] = 0, a[1] = 0}

(17)

NULL

F1 := subs(case1, F)

a[-1]/(2*n+1/(diff(G(xi), xi)))

(18)

F2 := subs(case1, ode)

128*V(xi)^4*n^6*alpha*mu^2/a[-1]^2+(16*alpha*k^2*n^4-8*delta^2*n^3+8*n^3*(-2*alpha*k^2*n-4*alpha*mu^2*n+delta^2))*V(xi)^2-4*V(xi)*(diff(diff(V(xi), xi), xi))*alpha*n^2 = 0

(19)

W := V(xi) = F1

V(xi) = a[-1]/(2*n+1/(diff(G(xi), xi)))

(20)

NULL

E := diff(G(xi), xi) = -(-2*m*mu-lambda)*exp(-(2*m*mu+lambda)*xi)*c__1/(2*m*mu+lambda)-mu/(2*m*mu+lambda)

diff(G(xi), xi) = -(-2*m*mu-lambda)*exp(-(2*m*mu+lambda)*xi)*c__1/(2*m*mu+lambda)-mu/(2*m*mu+lambda)

(21)

W1 := subs(E, W)

V(xi) = a[-1]/(2*n+1/(-(-2*m*mu-lambda)*exp(-(2*m*mu+lambda)*xi)*c__1/(2*m*mu+lambda)-mu/(2*m*mu+lambda)))

(22)

W2 := subs(case1, W1)

V(xi) = a[-1]/(2*n+1/(exp(-4*mu*n*xi)*c__1-(1/4)/n))

(23)

W3 := rhs(V(xi) = a[-1]/(2*n+1/(exp(-4*mu*n*xi)*c__1-(1/4)/n)))

a[-1]/(2*n+1/(exp(-4*mu*n*xi)*c__1-(1/4)/n))

(24)

W4 := convert(W3, trig)

a[-1]/(2*n+1/((cosh(4*mu*n*xi)-sinh(4*mu*n*xi))*c__1-(1/4)/n))

(25)

W5 := W4

a[-1]/(2*n+1/((cosh(4*mu*n*xi)-sinh(4*mu*n*xi))*c__1-(1/4)/n))

(26)

odetest(W2, F2)

0

(27)
 

``

Download problem99.mw

In this activity, we are trying to simulate an outbreak of a new infectious disease that our population of 10^6people has not been exposed to before. This means that we are starting with a single case, everyone else is susceptible to the disease, and no one is yet immune or recovered. This can for example reflect a situation where an infected person introduces a new disease into a geographically isolated population, like on an island, or even when an infections "spill over" from other animals into a human population. In terms of the initial conditions for our model, we can define: "S=10^(6) -1=999999," I = 0and R = 0. NULL

Remember, the differential equations for the simple SIR model look like this:

dS/dt = `&lambda;S`*dI/dt and `&lambda;S`*dI/dt = `&lambda;S`-I*gamma, dR/dt = I*gamma

Initial number of people in each compartment
S = 10^6-1",I=0  "and R = 0.

NULL

Parameters:

gamma = .1*recovery*rate*beta and .1*recovery*rate*beta = .4*the*daily*infection*rate

restart; with(plots); _local(gamma)

sys := diff(s(t), t) = -lambda*s(t), diff(i(t), t) = lambda*s(t)-gamma*i(t), diff(r(t), t) = gamma*i(t)

diff(s(t), t) = -lambda*s(t), diff(i(t), t) = lambda*s(t)-gamma*i(t), diff(r(t), t) = gamma*i(t)

(1)

ic := s(0) = s__0, i(0) = i__0, r(0) = r__0

gamma := .1; beta := .4; n := 10^6

.1

 

.4

 

1000000

(2)

lambda := beta*i(t)/n

s__0, i__0, r__0 := 10^6-1, 1, 0

NULL

sols := dsolve({ic, sys}, numeric, output = listprocedure)

display([odeplot(sols, [t, s(t)], 0 .. 100, color = red), odeplot(sols, [t, i(t)], 0 .. 100, color = blue), odeplot(sols, [t, r(t)], 0 .. 100, color = green)], labels = ["Time [day]", "Population"], labeldirections = [horizontal, vertical], legend = ["Susceptible", "Infected", "Recovered"], legendstyle = [location = right])

 

Remember that in a simple homogenous SIR model, `R__eff  `is directly related to the proportion of the population that is susceptible:

R__eff = R__0*S/N

Reff := proc (t) options operator, arrow; beta*s(t)/(gamma*n) end proc

odeplot(sols, [[t, Reff(t)]], t = 0 .. 100, size = [500, 300], labels = ["Time [day]", "Reff"], labeldirections = [horizontal, vertical])

 

The effective reproduction number is highest when everyone is susceptible: at the beginning, `R__eff  ` = R__0. At this point in our example, every infected cases causes an average of 4 secondary infections. Over the course of the epidemic, `R__eff  ` declines in proportion to susceptibility.

The peak of the epidemic happens when `R__eff  ` goes down to 1 (in the example here, after 50 days). As `R__eff  `decreases further below 1, the epidemic prevalence goes into decline. This is exactly what you would expect, given your understanding of the meaning of `R__eff  ` once the epidemic reaches the point where every infected case cannot cause at least one more infected case (that is, when `R__eff  ` < 1), the epidemic cannot sustain itself and comes to an end.

susceptible := eval(s(t), sols); infected := eval(i(t), sols); recovered := eval(r(t), sols)

susceptible(51)

HFloat(219673.04834159758)

(3)

infected(51)

HFloat(401423.4112878752)

(4)

recovered(51)

HFloat(378903.54037052736)

(5)

Reffe := proc (t) options operator, arrow; beta*susceptible(t)/(gamma*n) end proc

proc (t) options operator, arrow; beta*susceptible(t)/(gamma*n) end proc

(6)

Reffe(51)

HFloat(0.8786921933663903)

(7)

Prevalence is simply the value of Iat a given point in time. Now we can see that the incidence is the number of new cases arriving in the I compartment in a given interval of time. The way we represent this mathematically is by taking the integral of new cases over a given duration.

For example, if we wanted to calculate the incidence from day 7 to 14,

int(`&lambda;S`(t), t = 7 .. 14)

lamda := proc (t) options operator, arrow; beta*infected(t)/n end proc

proc (t) options operator, arrow; beta*infected(t)/n end proc

(8)

inflow := proc (t) options operator, arrow; lamda(t)*susceptible(t) end proc

proc (t) options operator, arrow; lamda(t)*susceptible(t) end proc

(9)

int(inflow(t), t = 7 .. 14)

HFloat(78.01804723222038)

(10)

incidence_plot := plot(inflow(t), t = 0 .. 14, color = orange, labels = ["Time (days)", "Incidence Rate"], labeldirections = [horizontal, vertical], title = "Incidence Rate between t=7 and t=14")

 

s, i, r := eval(s(t), sols), eval(i(t), sols), eval(r(t), sols); T := 100; dataArr := Array(-1 .. T, 1 .. 4); dataArr[-1, () .. ()] := `<,>`("Day", "Susceptible", "Infected", "Recovered")


Assign all the subsequent rows

for t from 0 to T do dataArr[t, () .. ()] := `~`[round](`<,>`(t, s(t), i(t), r(t))) end do

 

Tabulate through the DocumentTools

DocumentTools:-Tabulate(dataArr, alignment = left, width = 50, fillcolor = (proc (A, n, m) options operator, arrow; ifelse(n = 1, "DeepSkyBlue", "LightBlue") end proc))

Download dynamics_of_novel_disease_outbreak.mw

I have a global matrix with a default value set in a module. I also need the inverse of the matrix. Can the module do this?  I don't really want to have to get routines to calculate the inverse every time they are called.

restart

``

TM := module () local invMetric; export foo, bar; global Metric;  Metric := Matrix(3, shape = symmetric, [[1, 0, 0], [0, 1, 0], [0, 0, 1]]); invMetric := LinearAlgebra:-MatrixInverse(rtable_eval(Metric, 'inplace')); foo := proc () print('Metric' = Metric) end proc; bar := proc () print('invMetric' = invMetric) end proc end module

_m2278573910560

(1)

TM:-foo()

Metric = Matrix(%id = 36893490426002737860)

(2)

TM:-bar()

invMetric = Matrix(%id = 36893490426002738460)

(3)

Metric := Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = -2})

Matrix(%id = 36893490426002715820)

(4)

TM:-foo()

Metric = Matrix(%id = 36893490426002715820)

(5)

TM:-bar()

invMetric = Matrix(%id = 36893490426002738460)

(6)

NULL

Download 2024-12-30_Q_Module_Global_and_Local.mw

I use this type ckect elsewhere inside a package and it works. I can't get it to work in a stand alone procedure.

This was originally provided by @acer (best answer) in this question Experimental format for projective vectors - MaplePrimes

restart

 

 

test:=proc(V::{And('Vector(1)',satisfies( v->type(v[1],'Vector[:-column](3)') ) ),
               And('Vector(1)',satisfies( v->type(v[1],'Vector[:-row](3)') ) )})
print("works",V);
end proc

proc (V::{And('Vector(1)', satisfies(proc (v) options operator, arrow; type(v[1], 'Vector[:-column](3)') end proc)), And('Vector(1)', satisfies(proc (v) options operator, arrow; type(v[1], 'Vector[:-row](3)') end proc))}) print("works", V) end proc

(1)

v1:=<[<1,3,2>]>;
v2:=<[<a|b|c>]>

Vector(1, {(1) = Vector(3, {(1) = 1, (2) = 3, (3) = 2})})

 

Vector[column](%id = 36893490573309309044)

(2)

test(v1)

Error, invalid input: test expects its 1st argument, V, to be of type {And('Vector[1]',satisfies(v -> type(v[1],'Vector[:-column](3)'))), And('Vector[1]',satisfies(v -> type(v[1],'Vector[:-row](3)')))}, but received Vector(1, [Vector(3, [1,3,2])])

 

test(v2)

Error, invalid input: test expects its 1st argument, V, to be of type {And('Vector[1]',satisfies(v -> type(v[1],'Vector[:-column](3)'))), And('Vector[1]',satisfies(v -> type(v[1],'Vector[:-row](3)')))}, but received Vector(1, [Vector[row](3, [a,b,c])])

 

whattype(v1)

Vector[column]

(3)

whattype(v1[1])

Vector[column]

(4)

whattype(v2)

Vector[column]

(5)

whattype(v2[1])

Vector[row]

(6)
 

 

Download 2024-12-29_Q_Type_checking_not_working.mw

A street of finite length has many houses on one side, which are numbered in consecutive order with 1, 2, 3, 4, ... Determine all house numbers where the sum of all house numbers before this house number is equal to the sum of all house numbers after it.

That's enough for this year.
I wish everyone a happy new year 2025.

First 11 12 13 14 15 16 17 Last Page 13 of 42