nm

11413 Reputation

20 Badges

13 years, 71 days

MaplePrimes Activity


These are questions asked by nm

any idea what match fail on this example? is somethinbg wrong I am doing?

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

A:=2*y(3)^4+5;
match(A=k1*y(k2)^k3+k4,y,'la')

2*y(3)^4+5

false

patmatch(A,k1::anything*y(k2::anything)^(k3::anything)+k4::anything,'la');
la

true

[k1 = 2, k2 = 3, k3 = 4, k4 = 5]

Download why_match_fail_sept_21_2025.mw

Update:
I think match can only do it if the main "variable"   is a variable and not a "function". In this example y(.) is function, so that is why it failed to match. For example this works:

A:=2*y^3+4;
match(A=k1*y^k2+k3,y,'la')

And gives true, since "y" here is not a "function".

But this makes match not very useful to use for parsing. patmatch seems a little more practical to use.

I wanted to check that the input  has the pattern   symbol(symbol), which will match any of   y(x), or f(x) or A(B) and so on.

But using patmatch does not work. Using patmatch(h(z),y::symbol(x::symbol),'la');  or even patmatch(h(z),'y'::anything('x'::anything),'la'); all return false. I know I can do patmatch(h(z),func::function(name),'la'); and this returns true, but this matches h(z,r) and matches h(z,r,t) and matches h(z,r,t,u) and so on. 

I wanted to match only   SYMBOL(SYMBOL), i..e. one symbol followed by "(" followed by one symbol followed by closing ")"

For reference, this is what I am looking for 

I know I can use other ways in Maple to do this (may be typematch and and others). But wanted to see if patmatch works on this and why it is failing.

Can this be done using patmatch?

Maple 2025.1 unable to solve this ode. Sympy gives the following two solutions which Maples verifies are correct.

Any trick or option that can help dsolve find these solutions?
 

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

ode:=diff(y(x),x) = (1+cos(x)*sin(y(x)))*tan(y(x));

diff(y(x), x) = (1+cos(x)*sin(y(x)))*tan(y(x))

sol:=dsolve(ode);

sol_1:=y(x)=arcsin( 2*exp(x) / ( c__1 + sqrt(2)*exp(x) * sin(x+Pi/4) ) ) + Pi

y(x) = arcsin(2*exp(x)/(c__1+2^(1/2)*exp(x)*sin(x+(1/4)*Pi)))+Pi

odetest(sol_1,ode)

0

sol_2:=y(x)=arcsin( 2*exp(x) / ( c__1 - sqrt(2)*exp(x) * sin(x+Pi/4) ) ) ;

y(x) = arcsin(2*exp(x)/(c__1-2^(1/2)*exp(x)*sin(x+(1/4)*Pi)))

odetest(sol_2,ode)

0

 


 

Download How_to_find_solution_sept_20_2025.mw

update:

OK, found out how. Needed transformation u(x)=sin(y(x)). Maple probably did not have this in one of the things to try.

 

restart;

ode:=diff(y(x),x) = (1+cos(x)*sin(y(x)))*tan(y(x));
sol:=dsolve(ode);

diff(y(x), x) = (1+cos(x)*sin(y(x)))*tan(y(x))

tr:=y(x)=arcsin(u(x));
PDEtools:-dchange(tr,ode,[u(x)]):
dsolve(%);
sol:=y(x)=arcsin(rhs(%));
odetest(sol,ode)
 

y(x) = arcsin(u(x))

u(x) = -2/(-2*exp(-x)*c__1+sin(x)+cos(x))

y(x) = -arcsin(2/(-2*exp(-x)*c__1+sin(x)+cos(x)))

0


 

Download How_to_find_solution_sept_20_2025_V2.mw

 

 

Why when given IC for this ode, where the IC do not really makes much sense, so was not used. But the question is on the format of the output of the Maple dsolve. It gives solution as [{y(t) = c__1}]  instead of y(t) = c__1
 

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

restart;

ode:=diff(y(t),t)=0;
IC:=y(0)=t;
sol:=dsolve(ode)

diff(y(t), t) = 0

y(0) = t

y(t) = c__1

sol:=dsolve([ode,IC])

[{y(t) = c__1}]


 

Related question. Since Maple did not use the IC, should there have been warning message generated that IC was ignored?

 

Download strange_format_of_solution_sept_19_2025.mw

 

 

Any idea why Maple dsolve can't find solution to this ode? From textbook

The strange thing, it solves if it asked for implicit solution. But the default, will give no solution.

Is this a defect? Should it not have returned the book solution automatically?   How is a user supposed to know the ode has a solution or not, if default call returns no solution?

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.1, Linux, June 12 2025 Build ID 1932578`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1877 and is the same as the version installed in this computer, created 2025, July 11, 19:24 hours Pacific Time.`

restart;

ode:=v(x)*diff(v(x),x) = g;
ic:=v(x__0) = v__0;
sol:=dsolve([ode,ic]);

v(x)*(diff(v(x), x)) = g

v(x__0) = v__0

restart;

ode:=v(x)*diff(v(x),x) = g;
ic:=v(x__0) = v__0;
sol:=dsolve([ode,ic],'implicit');

v(x)*(diff(v(x), x)) = g

v(x__0) = v__0

-2*g*x+v(x)^2+2*g*x__0-v__0^2 = 0

#why did not default call return this?
PDEtools:-Solve(sol,v(x))

v(x) = (2*g*x-2*g*x__0+v__0^2)^(1/2), v(x) = -(2*g*x-2*g*x__0+v__0^2)^(1/2)

Download dsolve_gives_no_solution_sept_2_2025.mw

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