dharr

Dr. David Harrington

9012 Reputation

22 Badges

21 years, 189 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a retired professor of chemistry at the University of Victoria, BC, Canada. My research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are answers submitted by dharr

Use

uu := pds:-value(u(x,t));

This returns a procedure you can give x and t values to. For example,

uu(0.0001,0.1);

gives

value.mw

Here's one way

plot(t,'title'=InertForm:-Typeset(the_title),size=[300,300]);

You can use SimilarityTransformation directly without using Eq 29. For the second paper, I don't know about prolongations, which seem to be done with Eta_k. I'm guessing by choosing the arbitrary functions appropriately you can get what you want.

Download Lie.mw

There are 510 paths, which agrees with the formula in your linked page. The approach, which works for any paths, not just Hamiltonian ones, here uses "multiplication" of modified adjacency matrices in a similar fashion to this post. However in this case I track the vertices using the Bits package, with one bit per vertex, and kill a walk whenever it revisits a vertex, and I hard coded the modified matrix multiplication rather than use LinearAlgebra:-Generic. (I'm short on time or I would describe the algorithm in more detail.)

The code can output the vertices visited (coded as an integer) but not their order, which is useless in this case, where all paths visit the same vertices. (For a DAG this would be enough to reconstruct the paths.)

Procedure Paths in startup code region

restart

with(GraphTheory)

G := SpecialGraphs:-GridGraph(11, 3); n := NumberOfVertices(G)

33

DrawGraph(G)

Paths(G, "2,2", "10,2")[n-1]

510

 

Download Paths.mw

Paths:=proc(G0::Graph,V1,V2,{minlength::posint := 1, maxlength::posint := GraphTheory:-NumberOfVertices(G0)-1, output_paths::truefalse := false})
	uses GraphTheory;
	local k, A, Adj, B, n, i, j, SetBit, verts, v1, v2, row, col, mrow, V, s, vec, paths, nrows, G, VerticesG,
		terminals_done, terminals, outdegs, killarcs, new_terminals;
	G := CopyGraph(G0);
	VerticesG := Vertices(G);
	n := NumberOfVertices(G);
	# output table records number of paths (output_paths = false) or Vectors of paths as coded integers (output_paths = true)  
	paths := table('sparse'):
	if _params['V1'] = NULL and _params['V2'] = NULL then
		verts := false;
	elif _params['V1'] = NULL or _params['V2'] = NULL then
	     error "must be zero or two vertices specified"
	else
		if not member(V1,VerticesG,'v1') then error "Vertex %1 not in graph",V1 end if;
		if not member(V2,VerticesG,'v2') then error "Vertex %1 not in graph",V2 end if;
		verts:=true;
	end if;
	# if we are looking for paths between vertices on a digraph, remove extraneous pieces of the graph
	if verts and IsDirected(G) then
		if OutDegree(G, V1) = 0 then error "start vertex has no departures" end if;
		if InDegree(G, V2) = 0 then error "end vertex has no arrivals" end if;
		userinfo(2, procname, "pruning extra vertices from digraph");
		terminals_done:={V1}; # can't delete V1
		do 
			outdegs:=map2(OutDegree, G, VerticesG); # includes isolated vertices
			terminals := {remove(`=`, VerticesG[[ListTools:-SearchAll(0, outdegs)]], V2)[]};
			new_terminals := terminals minus terminals_done;
			if nops(new_terminals) = 0 then break end if;
			killarcs := map(t -> seq([i, t], i in Arrivals(G, t)), new_terminals);
   			DeleteArc(G, killarcs);
			terminals_done := terminals_done union terminals;
  		end do;
  		terminals_done := terminals_done minus {V1};
  		# and delete departures from last vertex so Matrix is zero at the end
  		if OutDegree(G, V2) = 1 then
  			DeleteArc(G, [V2, Departures(G,V2)[]])
  		elif OutDegree(G, V2) > 1 then
  			DeleteArc(G, [seq([V2, i], i in Departures(G,V2))])
  		end if;
  		# update graph, n, v1, v2, VerticesG
		G := DeleteVertex(G, terminals_done);
		userinfo(2, procname, "%1 extra vertices deleted", nops(terminals_done));
		VerticesG := Vertices(G);
		n := NumberOfVertices(G);
		member(V1,VerticesG,'v1');
		member(V2,VerticesG,'v2');
	end if;
	# set up adjacency matrices.
	Adj:=AdjacencyMatrix(G);
	SetBit := p -> integermul2exp(1, p - 1);
	A := Matrix(n, n, (i, j) -> if Adj[i, j] = 1 then SetBit(j); else 0; end if);
	if verts then # for B we only need the row corresponding to the first vertex
		nrows:=1;
		B :=Matrix(1, n, 'storage' = 'sparse', order = 'C_order');
		for j to n do
    			if Adj[v1, j] = 1 then B[1, j] := Vector([Bits:-Or(SetBit(v1), SetBit(j))]); end if;
    		end do;
    		if not output_paths then
    			paths[1]:= Adj[v1, v2];		
    		elif minlength = 1 then
    			paths[1] := B[1, v2] # 0 or a vector
    		end if  			
    	else
    		nrows := n;
		B := Matrix(nrows, n, 'storage' = 'sparse', order = 'C_order');
		for i to n do
			for j to n do
    				if Adj[i, j] = 1 then B[i, j] := Vector([Bits:-Or(SetBit(i), SetBit(j))]); end if;
    			end do
    		end do;
    		if not output_paths then
    			paths[1] := add(Adj);
    		elif minlength = 1 then
    			paths[1] := Vector([entries(B,'nolist')]);
    		end if
    	end if;
	# do the matrix multiplications and collect the paths of each length
	for k from 2 to n-1 do   
		for row to nrows do # rows of B diving down ...
			mrow := B[row]; # (save row so can do in-place)
			for col to n do # ... cols of A
				V := Vector():
				s := 0;
				for i, vec in mrow do
					if A[i, col] <> 0 then
						for j to numelems(vec) do
							if Bits:-And(vec[j], A[i,col]) = 0 then # not a repeat vertex
								s := s+1;
								V(s) := Bits:-Or(vec[j], A[i,col]); # add the vertex
							end if
						end do
					end if
				end do:
				if numelems(V) = 0 then
					B[row,col] := 0;
				else	 
					B[row,col] := V;
				end if;
			end do
		end do;
		if andmap(`=`,B,0) then break end if;
		if verts then
			if not output_paths then
				paths[k] := ifelse(B[1, v2] = 0, 0, numelems(B[1, v2]));
			elif k >= minlength and k <= maxlength then
				paths[k] := B[1,v2];
			end if;
		else
			if not output_paths then
				s := 0;
				for i, vec in B do
					s + numelems(vec)
				end do;
				paths[k] := s;
			elif k >= minlength and k <= maxlength then
				paths[k] := Vector([entries(B,'nolist')]);
			end if;	
		end if;
	end do;
	eval(paths)
end proc;

Here's one way.

results2 := Matrix(map2(eval, [N, tbo, two], [seq(results)]));

PrimesQuestion.mw

The following URL finds my Orbitals package

https://www.maplesoft.com/Applications/Detail.aspx?id=4865

but substituting your ID doesn't find anything, suggesting that the ID is no longer valid or the application is not there.

It is much easier to use a code edit region. But you can do it your intended way with EvalString instead of Run. GetVariable returns the variable to Maple. Here are both ways:

python.mw

As the help page for try says, the "too many levels of recursion" error is one of the few that can't be caught.

The paper doesn't make much sense.

restart

For solution 33

u := -sqrt(2)*alpha*sech(-epsilon*t+x)/beta

-2^(1/2)*alpha*sech(epsilon*t-x)/beta

The integral is independent of epsilon, as expected

U := (1/2)*(int(u^2, x = -infinity .. infinity))

2*alpha^2/beta^2

And so its derivative wrt epsilon is zero. The value given in the paper is just a numerical approximation of zero

dU := diff(U, epsilon); eval(dU, epsilon = -1)

0

0

For solution 31

restart

params := {A1 = 1, A2 = 2, beta = 1, lambda = -2, m = 2, mu = 1, t = 1}

{A1 = 1, A2 = 2, beta = 1, lambda = -2, m = 2, mu = 1, t = 1}

u := sqrt((-eps^2+1)*lambda^2)*((2*(m*(m+lambda)-mu))/(lambda*(m+(A2-A1*sqrt(mu)-A2*sqrt(mu)*(-eps*t+x))/(A1+A2*(-eps*t+x))))-1)/(sqrt(2)*beta)

(1/2)*((-eps^2+1)*lambda^2)^(1/2)*2^(1/2)*(2*(m*(m+lambda)-mu)/(lambda*(m+(A2-A1*mu^(1/2)-A2*mu^(1/2)*(-eps*t+x))/(A1+A2*(-eps*t+x))))-1)/beta

Complex values for plot if we use eps=-2 because of the sqrt((-eps^2+1)*lambda^2) factor. For eps = 0.1:

plot(eval(u, `union`(params, {eps = .1})), x = -20 .. 20)

Integral is infinite

U := (1/2)*(Int(u^2, x = -infinity .. infinity)); value(%)

signum((4*mu^(3/2)*lambda-2*mu^(1/2)*m*lambda^2-4*mu^(1/2)*m^2*lambda-m^2*lambda^2-4*m^3*lambda-4*m^4-mu*lambda^2+4*m*mu*lambda+8*m^2*mu-4*mu^2)*(eps-1)*(eps+1)/(beta^2*(mu^(1/2)-m)^2))*infinity+(1/2)*piecewise(Im((-A2*mu^(1/2)*eps*t+A2*eps*m*t+A1*mu^(1/2)-A1*m-A2)/(A2*(mu^(1/2)-m))) = 0, -signum((lambda*m+m^2-mu)^2*(eps-1)*(eps+1)/(beta^2*(mu^(1/2)-m)^4))*infinity, 0)

If we integrate under the integral, the result is still infinite.

value(diff(U, eps))

(1/2)*piecewise(Im((-A2*mu^(1/2)*eps*t+A2*eps*m*t+A1*mu^(1/2)-A1*m-A2)/(A2*(mu^(1/2)-m))) = 0, undefined, signum(eps*(4*mu^(3/2)*lambda-2*mu^(1/2)*m*lambda^2-4*mu^(1/2)*m^2*lambda-m^2*lambda^2-4*m^3*lambda-4*m^4-mu*lambda^2+4*m*mu*lambda+8*m^2*mu-4*mu^2)/(beta^2*(mu^(1/2)-m)^2))*infinity)

Try some numerical values over the suggested numerical x range

U20 := (1/2)*(Int(eval(u^2, params), x = -20 .. 20))

(1/2)*(Int(2*(-eps^2+1)*(1/(2+(1+2*eps-2*x)/(1-2*eps+2*x))-1)^2, x = -20 .. 20))

Result is still infinity.

simplify(diff(U20, eps)); evalf(eval(%, eps = -2))

8*(Int((2+(-3-2*x)*eps)/(3-2*eps+2*x)^3, x = -20 .. 20))

Float(undefined)

``

NULL

Download S-test.mw

It is one of the HTML symbols. If you enter it in 1D as `&sime;` then select the output, right-click and choose comtext panel, one of the options is add to favourites.

With inttrans, I can often get an answer by assuming positive, even though this might not be the case. One can then check if it makes sense; not sure about that in this case. I didn't see any intermittent issues.

Download fourier.mw

[Updated. I've realised C simplifies to zero, so it can be simplified further. There are different cases for zero or positive A, and zero, positive or negative B.

restart

NULL

ineq := simplify((Cr*rho0*t*(Cr*alpha*b-alpha-1)*d^2+((alpha*((-g*i2+a)*Cr+2*Crm+2*c+3*t-2*Pr)*Cr*b+((g*i2-a)*Cr-2*Crm-2*c-2*t+2*Pr)*alpha+(g*i2-a)*Cr-2*t)*rho0+(2*(Cr*b-1))*(sigma*t+Cn-Pr+delta-1))*d+(alpha*((-g*i2+a)*Cr+2*Crm+2*c+2*t-2*Pr)*b+2*g*i2-2*a)*rho0+2*b*(sigma*t+Cn-Pr+delta-1))^2 > (((alpha*Cr*((-g*i2+a)*Cr+2*Crm+2*c-2*Pr)*b+((g*i2-a)*Cr-2*Crm-2*c+2*Pr)*alpha-(-g*i2+a)*Cr)*rho0+(2*(Cr*b-1))*(delta+Cn-Pr-1))*d+(alpha*((-g*i2+a)*Cr+2*Crm+2*c-2*Pr)*b+2*g*i2-2*a)*rho0+2*b*(delta+Cn-Pr-1))^2)

(((alpha*Cr*((-g*i2+a)*Cr+2*Crm+2*c-2*Pr)*b+((g*i2-a)*Cr-2*Crm-2*c+2*Pr)*alpha-(-g*i2+a)*Cr)*rho0+2*(Cr*b-1)*(delta+Cn-Pr-1))*d+(alpha*((-g*i2+a)*Cr+2*Crm+2*c-2*Pr)*b+2*g*i2-2*a)*rho0+2*b*(delta+Cn-Pr-1))^2 < (Cr*rho0*t*(Cr*alpha*b-alpha-1)*d^2+((alpha*((-g*i2+a)*Cr+2*Crm+2*c+3*t-2*Pr)*Cr*b+((g*i2-a)*Cr-2*Crm-2*c-2*t+2*Pr)*alpha+(g*i2-a)*Cr-2*t)*rho0+2*(Cr*b-1)*(sigma*t+Cn-Pr+delta-1))*d+(alpha*((-g*i2+a)*Cr+2*Crm+2*c+2*t-2*Pr)*b+2*g*i2-2*a)*rho0+2*b*(sigma*t+Cn-Pr+delta-1))^2

ineq  as output is in the form lhs < rhs, so let's change that to rhs - lhs > 0, and leave off the > 0, i.e., we want to find t that makes q positive, under the assumption that all the named quantities are positive.

q := collect(rhs(ineq)-lhs(ineq), t); degree(q, t)

2

In the form A*t^2+B*t+C, A is explicitly nonnegative (whole expression is squared). Do you know if A can be zero?

A := simplify(coeff(q, t, 2)); `assuming`([is(A >= 0)], [positive])

(Cr*rho0*(Cr*alpha*b-alpha-1)*d^2+((3*Cr*alpha*b-2*alpha-2)*rho0+2*sigma*b*Cr-2*sigma)*d+2*b*(alpha*rho0+sigma))^2

true

And C happens to be zero, which simplifies things.

B := simplify(coeff(q, t, 1)); C := simplify(coeff(q, t, 0))

0

So this is t*(A*t+B). Writing A=alpha and B = beta

solve({t*(alpha*t+beta) > 0, alpha >= 0}, t, parametric)

piecewise(And(alpha = 0, 0 < beta), [[0 < t]], And(alpha = 0, beta < 0), [[t < 0]], And(0 < alpha, beta = 0), [[t <> 0]], And(0 < alpha, 0 < beta), [[0 < t], [t < -beta/alpha]], And(0 < alpha, beta < 0), [[t < 0], [-beta/alpha < t]], [])

``

Download Q_solve2.mw

Older:

Q_solve.mw

restart

with(PDEtools)

_local(gamma)

undeclare(prime)

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

declare(V(xi))

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

Eq 3.3 doi: 10.3934/math.2024424

Fode := k*theta^2*V(xi)-rho*V(xi)+a[1]*V(xi)^2-b[1]*rho*(diff(diff(V(xi), xi), xi))+V(xi)

k*theta^2*V(xi)-rho*V(xi)+a[1]*V(xi)^2-b[1]*rho*(diff(diff(V(xi), xi), xi))+V(xi)

Eq 3.16

S := V(xi) = sum((alpha[i]+beta[i]*(diff(G(xi), xi))^i)/G(xi)^i, i = 0 .. 2)

V(xi) = alpha[0]+beta[0]+(alpha[1]+beta[1]*(diff(G(xi), xi)))/G(xi)+(alpha[2]+beta[2]*(diff(G(xi), xi))^2)/G(xi)^2

Eq. 2.8

Aode := (diff(G(xi), xi))^2 = (G(xi)^2-sigma)*ln(A)^2

(diff(G(xi), xi))^2 = (G(xi)^2-sigma)*ln(A)^2

Eq. 2.9, n=2,3,4

Aode2 := (diff(Aode, xi))/(2*(diff(G(xi), xi))); Aode3 := diff(Aode2, xi); diff(Aode3, xi); Aode4 := lhs(%) = eval(rhs(%), Aode2)

diff(diff(G(xi), xi), xi) = G(xi)*ln(A)^2

diff(diff(diff(G(xi), xi), xi), xi) = (diff(G(xi), xi))*ln(A)^2

diff(diff(diff(diff(G(xi), xi), xi), xi), xi) = (diff(diff(G(xi), xi), xi))*ln(A)^2

diff(diff(diff(diff(G(xi), xi), xi), xi), xi) = G(xi)*ln(A)^4

Eq 2.10

solution := G(xi) = kappa*ln(A)*A^xi+sigma/(4*kappa*ln(A)*A^xi)

G(xi) = kappa*ln(A)*A^xi+(1/4)*sigma/(kappa*ln(A)*A^xi)

odetest(solution, Aode)

0

E1 := eval(Fode, S); indets(E1)

{k, rho, theta, xi, a[1], alpha[0], alpha[1], alpha[2], b[1], beta[0], beta[1], beta[2], G(xi), diff(G(xi), xi), diff(diff(G(xi), xi), xi), diff(diff(diff(G(xi), xi), xi), xi)}

E2 := dsubs(Aode3, E1); indets(E2)

{A, k, rho, theta, xi, a[1], alpha[0], alpha[1], alpha[2], b[1], beta[0], beta[1], beta[2], G(xi), diff(G(xi), xi), diff(diff(G(xi), xi), xi), ln(A)}

E3 := dsubs(Aode2, E2); indets(E3)

{A, k, rho, theta, xi, a[1], alpha[0], alpha[1], alpha[2], b[1], beta[0], beta[1], beta[2], G(xi), diff(G(xi), xi), ln(A)}

We haven't used Aode yet, so we don't have any sigmas

E4 := dsubs(Aode, E3); indets(E4)

E5 := dsubs(diff(G(xi), xi) = dG, E4); indets(%)

{A, dG, k, rho, sigma, theta, xi, a[1], alpha[0], alpha[1], alpha[2], b[1], beta[0], beta[1], beta[2], G(xi), ln(A)}

Doesn't seem to be a polynomial in dG/G^2 as claimed:

C := collect(E5, {dG, G(xi)}, distributed)

(-6*rho*b[1]*beta[2]+a[1]*beta[2]^2)*dG^4/G(xi)^4+(-2*rho*b[1]*beta[1]+2*a[1]*beta[1]*beta[2])*dG^3/G(xi)^3+(2*ln(A)^2*rho*b[1]*beta[1]+k*theta^2*beta[1]+2*a[1]*alpha[0]*beta[1]+2*a[1]*beta[0]*beta[1]-rho*beta[1]+beta[1])*dG/G(xi)+k*theta^2*alpha[0]+k*theta^2*beta[0]+2*a[1]*alpha[0]*beta[0]+ln(A)^2*a[1]*beta[1]^2-ln(A)^2*rho*beta[2]+2*ln(A)^2*a[1]*alpha[0]*beta[2]+2*ln(A)^2*a[1]*beta[0]*beta[2]+alpha[0]+beta[0]+6*ln(A)^4*rho*b[1]*beta[2]+ln(A)^2*k*theta^2*beta[2]+a[1]*alpha[0]^2+a[1]*beta[0]^2-rho*alpha[0]-rho*beta[0]+ln(A)^2*beta[2]+(-ln(A)^2*rho*alpha[1]*b[1]+2*ln(A)^2*a[1]*alpha[1]*beta[2]+k*theta^2*alpha[1]+2*a[1]*alpha[0]*alpha[1]+2*a[1]*alpha[1]*beta[0]-rho*alpha[1]+alpha[1])/G(xi)+(-8*ln(A)^4*rho*sigma*b[1]*beta[2]-ln(A)^2*k*sigma*theta^2*beta[2]-2*ln(A)^2*sigma*a[1]*alpha[0]*beta[2]-2*ln(A)^2*sigma*a[1]*beta[0]*beta[2]-ln(A)^2*sigma*a[1]*beta[1]^2+ln(A)^2*rho*sigma*beta[2]-4*ln(A)^2*rho*alpha[2]*b[1]+2*ln(A)^2*a[1]*alpha[2]*beta[2]-ln(A)^2*sigma*beta[2]+k*theta^2*alpha[2]+2*a[1]*alpha[0]*alpha[2]+a[1]*alpha[1]^2+2*a[1]*alpha[2]*beta[0]-rho*alpha[2]+alpha[2])/G(xi)^2+(2*ln(A)^2*rho*sigma*alpha[1]*b[1]-2*ln(A)^2*sigma*a[1]*alpha[1]*beta[2]+2*a[1]*alpha[1]*alpha[2])/G(xi)^3+(6*ln(A)^2*rho*sigma*alpha[2]*b[1]-2*ln(A)^2*sigma*a[1]*alpha[2]*beta[2]+a[1]*alpha[2]^2)/G(xi)^4+2*a[1]*alpha[2]*beta[1]*dG/G(xi)^3+2*a[1]*alpha[1]*beta[1]*dG/G(xi)^2

We get 10, not 8 equations this way.

eqs := {coeffs(C, {dG, G(xi)}, 'monomials')}; nops(%)

{2*a[1]*alpha[1]*beta[1], 2*a[1]*alpha[2]*beta[1], 2*ln(A)^2*rho*sigma*alpha[1]*b[1]-2*ln(A)^2*sigma*a[1]*alpha[1]*beta[2]+2*a[1]*alpha[1]*alpha[2], 6*ln(A)^2*rho*sigma*alpha[2]*b[1]-2*ln(A)^2*sigma*a[1]*alpha[2]*beta[2]+a[1]*alpha[2]^2, 2*ln(A)^2*rho*b[1]*beta[1]+k*theta^2*beta[1]+2*a[1]*alpha[0]*beta[1]+2*a[1]*beta[0]*beta[1]-rho*beta[1]+beta[1], -ln(A)^2*rho*alpha[1]*b[1]+2*ln(A)^2*a[1]*alpha[1]*beta[2]+k*theta^2*alpha[1]+2*a[1]*alpha[0]*alpha[1]+2*a[1]*alpha[1]*beta[0]-rho*alpha[1]+alpha[1], -8*ln(A)^4*rho*sigma*b[1]*beta[2]-ln(A)^2*k*sigma*theta^2*beta[2]-2*ln(A)^2*sigma*a[1]*alpha[0]*beta[2]-2*ln(A)^2*sigma*a[1]*beta[0]*beta[2]-ln(A)^2*sigma*a[1]*beta[1]^2+ln(A)^2*rho*sigma*beta[2]-4*ln(A)^2*rho*alpha[2]*b[1]+2*ln(A)^2*a[1]*alpha[2]*beta[2]-ln(A)^2*sigma*beta[2]+k*theta^2*alpha[2]+2*a[1]*alpha[0]*alpha[2]+a[1]*alpha[1]^2+2*a[1]*alpha[2]*beta[0]-rho*alpha[2]+alpha[2], 6*ln(A)^4*rho*b[1]*beta[2]+ln(A)^2*k*theta^2*beta[2]+2*ln(A)^2*a[1]*alpha[0]*beta[2]+2*ln(A)^2*a[1]*beta[0]*beta[2]+ln(A)^2*a[1]*beta[1]^2-ln(A)^2*rho*beta[2]+k*theta^2*alpha[0]+k*theta^2*beta[0]+ln(A)^2*beta[2]+a[1]*alpha[0]^2+2*a[1]*alpha[0]*beta[0]+a[1]*beta[0]^2-rho*alpha[0]-rho*beta[0]+alpha[0]+beta[0], -6*rho*b[1]*beta[2]+a[1]*beta[2]^2, -2*rho*b[1]*beta[1]+2*a[1]*beta[1]*beta[2]}

10

ans := sort([solve(eqs, {rho, alpha[0], alpha[1], alpha[2], beta[0], beta[1], beta[2]})])

[{rho = rho, alpha[0] = -beta[0], alpha[1] = 0, alpha[2] = 0, beta[0] = beta[0], beta[1] = 0, beta[2] = 0}, {rho = (k*theta^2+1)/(4*ln(A)^2*b[1]+1), alpha[0] = -beta[0], alpha[1] = 0, alpha[2] = -6*ln(A)^2*(k*theta^2+1)*sigma*b[1]/((4*ln(A)^2*b[1]+1)*a[1]), beta[0] = beta[0], beta[1] = 0, beta[2] = 0}, {rho = (k*theta^2+1)/(4*ln(A)^2*b[1]+1), alpha[0] = -(6*k*theta^2*ln(A)^2*b[1]+4*ln(A)^2*a[1]*b[1]*beta[0]+6*ln(A)^2*b[1]+a[1]*beta[0])/((4*ln(A)^2*b[1]+1)*a[1]), alpha[1] = 0, alpha[2] = 0, beta[0] = beta[0], beta[1] = 0, beta[2] = 6*(k*theta^2+1)*b[1]/((4*ln(A)^2*b[1]+1)*a[1])}, {rho = -(k*theta^2+1)/(4*ln(A)^2*b[1]-1), alpha[0] = (2*k*theta^2*ln(A)^2*b[1]-4*ln(A)^2*a[1]*b[1]*beta[0]+2*ln(A)^2*b[1]+a[1]*beta[0])/((4*ln(A)^2*b[1]-1)*a[1]), alpha[1] = 0, alpha[2] = 0, beta[0] = beta[0], beta[1] = 0, beta[2] = -6*(k*theta^2+1)*b[1]/((4*ln(A)^2*b[1]-1)*a[1])}, {rho = -(k*theta^2+1)/(4*ln(A)^2*b[1]-1), alpha[0] = -(4*k*theta^2*ln(A)^2*b[1]+4*ln(A)^2*a[1]*b[1]*beta[0]+4*ln(A)^2*b[1]-a[1]*beta[0])/((4*ln(A)^2*b[1]-1)*a[1]), alpha[1] = 0, alpha[2] = 6*ln(A)^2*(k*theta^2+1)*sigma*b[1]/((4*ln(A)^2*b[1]-1)*a[1]), beta[0] = beta[0], beta[1] = 0, beta[2] = 0}, {rho = (1/6)*a[1]*beta[2]/b[1], alpha[0] = -(1/6)*(6*ln(A)^2*a[1]*b[1]*beta[2]+6*k*theta^2*b[1]+6*a[1]*beta[0]*b[1]-a[1]*beta[2]+6*b[1])/(a[1]*b[1]), alpha[1] = 0, alpha[2] = ln(A)^2*sigma*beta[2], beta[0] = beta[0], beta[1] = 0, beta[2] = beta[2]}, {rho = (1/6)*a[1]*beta[2]/b[1], alpha[0] = -ln(A)^2*beta[2]-beta[0], alpha[1] = 0, alpha[2] = ln(A)^2*sigma*beta[2], beta[0] = beta[0], beta[1] = 0, beta[2] = beta[2]}, {rho = k*theta^2+a[1]*alpha[0]+a[1]*beta[0]+1, alpha[0] = alpha[0], alpha[1] = 0, alpha[2] = 0, beta[0] = beta[0], beta[1] = 0, beta[2] = 0}]

In Eq 3.18 rho is the same. But beta[2] is on the rhs on theirs, but beta[0] here. The denominators are the same. But overall is not the same

ans[3]

{rho = (k*theta^2+1)/(4*ln(A)^2*b[1]+1), alpha[0] = -(6*k*theta^2*ln(A)^2*b[1]+4*ln(A)^2*a[1]*b[1]*beta[0]+6*ln(A)^2*b[1]+a[1]*beta[0])/((4*ln(A)^2*b[1]+1)*a[1]), alpha[1] = 0, alpha[2] = 0, beta[0] = beta[0], beta[1] = 0, beta[2] = 6*(k*theta^2+1)*b[1]/((4*ln(A)^2*b[1]+1)*a[1])}

Eq 3.19. Despite the differences, we get the correct final result.

eval(S, ans[3]); dsubs(Aode, %); sol := simplify(eval(%, solution))

V(xi) = -(6*k*theta^2*ln(A)^2*b[1]+4*ln(A)^2*a[1]*b[1]*beta[0]+6*ln(A)^2*b[1]+a[1]*beta[0])/((4*ln(A)^2*b[1]+1)*a[1])+beta[0]+6*(k*theta^2+1)*b[1]*(diff(G(xi), xi))^2/((4*ln(A)^2*b[1]+1)*a[1]*G(xi)^2)

V(xi) = -6*ln(A)^2*(k*theta^2+1)*sigma*b[1]/((4*ln(A)^2*b[1]+1)*a[1]*G(xi)^2)

V(xi) = -96*ln(A)^4*(k*theta^2+1)*sigma*b[1]*kappa^2*A^(2*xi)/((4*ln(A)^2*b[1]+1)*a[1]*(4*kappa^2*ln(A)^2*A^(2*xi)+sigma)^2)

odetest(sol, eval(Fode, ans[3]))

0

NULL

Download f-p-second.mw

I don't know about (24) - perhaps the paper has a typo in the ode (missing m?).

For (25) and (26), I corrected typos in magenta and the tests are verified.

I don't know about (30) or (31).

There seem to be typos in (40) and (41) but that doesn't solve the problems.

ode-17.mw

You didn't provide explanation about the Weierstraa cases (what is f3?). Maple has the WeierstrassP and WeierstrassPPrime.

The <> constructors are useful here:

ga_zero := <IdentityMatrix(2), ZeroMatrix(2); ZeroMatrix(2), -IdentityMatrix(2) >;

or

ga_zero := <<IdentityMatrix(2) | ZeroMatrix(2)>, <ZeroMatrix(2) | -IdentityMatrix(2)>>;

 

1 2 3 4 5 6 7 Last Page 1 of 87