как остановиться на внутренней процедуре Maple? - PullRequest
0 голосов
/ 26 августа 2018

Я хочу посмотреть, как Maple определил тип ODE.Но не могу установить точку останова во внутреннем процессе Maple:

restart;
ode:=2*sqrt(a*diff(y(x),x))+x*diff(y(x),x)-y(x) = 0;
DEtools:-odeadvisor(ode);
      #[[_homogeneous, `class G`], _Clairaut]

Но когда я делаю

 stopat(DEtools:-odeadvisor);

, это дает erorr

Error, invalid input: stopat expects its 1st argument, p, to be of type {`::`, name, string}, but received proc () option `Copyright (c) 1997 Waterloo Maple Inc. All rights reserved.`; `ODEtools/initialized` <> 'true' and `ODEtools/init`() <> 0; `ODEtools/odeadv`(args) end proc

Возможно лиустановить точку останова на DEtools:-odeadvisor?showstat не показывает много.Я думал, что можно было просмотреть весь код библиотеки Maple (кроме builtin).

Но может быть, некоторые из них невозможно увидеть в дополнение к builtin?Как тогда узнать, кого можно увидеть, а кого нет?Как можно увидеть код DEtools:-odeadvisor?

Клен 2018.1

1 Ответ

0 голосов
/ 27 августа 2018

Попробуйте это,

restart;
ode:=2*sqrt(a*diff(y(x),x))+x*diff(y(x),x)-y(x) = 0:

showstat(DEtools[odeadvisor]);

stopat(`ODEtools/odeadv`);

DEtools:-odeadvisor(ode);
...