MaplePrimes Questions

Declaring types of arguments of a procedure or checking type of something when working with lists or Arrays is easy. For example one can easily use A :: list( posint ) or type( B :: 'Array'( polynom ) ), but with MutableSet, the same approach ends with an error;

Error, module does not have a ModuleType member to accept structured type arguments.

I guess it is the same for other objects defined as a module with option object. Is there a recommended way to have type declaration for such objects or MutableSet in specific?

Dear Mapler

I have an expression that consist of power of main variable x. I aim to fetch the coefficient of square root of x for example. I get an error when I am using COEFF(esp, sqrt(x))

Is there any solution?

When I export a very simple Maple 2018 (MaxOS) document to Latex, this tex file results:

 

%% Created by Maple 2018.2, Mac OS X

%% Source Worksheet: untitled 3

%% Generated: Sun Jul 03 16:34:49 CEST 2022

\documentclass{article}

\usepackage{maplestd2e}

\def\emptyline{\vspace{12pt}}

\begin{document}

\pagestyle{empty}

\DefineParaStyle{Maple Bullet Item}

\DefineParaStyle{Maple Heading 1}

\DefineParaStyle{Maple Warning}

\DefineParaStyle{Maple Heading 4}

\DefineParaStyle{Maple Heading 2}

\DefineParaStyle{Maple Heading 3}

\DefineParaStyle{Maple Dash Item}

\DefineParaStyle{Maple Error}

\DefineParaStyle{Maple Title}

\DefineParaStyle{Maple Text Output}

\DefineParaStyle{Maple Normal}

\DefineCharStyle{Maple 2D Output}

\DefineCharStyle{Maple 2D Input}

\DefineCharStyle{Maple Maple Input}

\DefineCharStyle{Maple 2D Math}

\DefineCharStyle{Maple Hyperlink}

\begin{Maple Normal}{

\begin{Maple Normal}{

\mapleinline{inert}{2d}{restart; 1}{\[\displaystyle \]}

}\end{Maple Normal}

}\end{Maple Normal}

\begin{Maple Normal}{

\begin{Maple Normal}{

\mapleinline{inert}{2d}{a := b^2-sqrt(4); "_noterminate"}{\[\displaystyle \]}

}\end{Maple Normal}

}\end{Maple Normal}

\begin{maplegroup}

\begin{Maple Normal}{

\mapleinline{inert}{2d}{a := b^2-sqrt(4); "_noterminate"}{\[\displaystyle \]}

}\end{Maple Normal}

\mapleresult

\begin{maplelatex}

\mapleinline{inert}{2d}{a := b^2-2; "_noterminate"}{\[\displaystyle \]}

\end{maplelatex}

\end{maplegroup}

\begin{Maple Normal}{

\begin{Maple Normal}{

\mapleinline{inert}{2d}{a := b^2-sqrt(4); "_noterminate"}{\[\displaystyle \]}

}\end{Maple Normal}

}\end{Maple Normal}

\begin{maplegroup}

\begin{Maple Normal}{

\mapleinline{inert}{2d}{a := b^2-sqrt(4); "_noterminate"}{\[\displaystyle \]}

}\end{Maple Normal}

\mapleresult

\begin{maplelatex}

\mapleinline{inert}{2d}{a := b^2-2; "_noterminate"}{\[\displaystyle \]}

\end{maplelatex}

\end{maplegroup}

\begin{Maple Normal}{

\begin{Maple Normal}{

\mapleinline{inert}{2d}{}{\[\displaystyle \]}

}\end{Maple Normal}

}\end{Maple Normal}

\end{document}

 

However, when trying to process the tex file in both Overleaf and TexShop the pdf output is only an empty page. No error occurs, i.e. the maplestd2e.sty file is recognised by both Overleaf and TexShop.

 

What is going wrong here?

restart:
eq := a*x^3 + b*x^2 + c*x + d;
 s := x1 + x2 + x3 = -b/a;
 sp := x1*x2 + x1*x3 + x2*x3 = c/a;
 p := x1*x2*x3 = -d/a;
sol:=solve({eq, p, s, sp}, {x1, x2, x3},explicit);                       
 a := 1;
b := -5;
c := 6;
d := -1;
 sol;                           

why is not successfull ?   Thank you.                 

I have a problem in plotting bellow function. actually because my main program is not working so I decided to do it in simple way. I found that my program in maple can't plot the function I introduced it as a procudure and is an implicit function. can you help me please?

>EQ := proc(x, t) local y, m, func;
                 m := 3;
                 func := m*x^2 + t*y^2 = 4;
          end proc;


>eq := EQ(x, 10);                              
                     eq := 3*x^2  + 10*y^2  = 4

>implicitplot(eq, x = -1 .. 1, y = 0 .. 2)
 Error, (in plots/implicitplot) invalid input: the following extra unknowns were found in the input expression: {y}
 

 

Given this "pattern" to transfporm an expression into an arrow procedure

e := 1/b:
f := unapply(e, b):
f(3)
                               1
                               -
                               3

I would like now to use this same "pattern" to transform an expression e which depends on 2 indeterminates a and b into a "double layered arrow procedure" f.
Here is a notional example

e := a/b:
f := unapply(unapply(e, b), a);
                     a
           a -> b -> -
                     b

 f(A)(B)
                              a  
                              -
                              B  

How can I proceed in order that f(A)(B) gives A/B ?

TIA

I was surprised to learn that implicitplot doesn't recognize the constant Pi.  I attach a simple example to illustrate.

restart

with(plots)

f := x-y-Pi

x-y-Pi

(1)

implicitplot(f)

Error, (in plots/implicitplot) found 3 variables that the expression depends on ({Pi, x, y}), but expected only 2

 

evalf(Pi)

3.141592654

(2)

g := x-y-3.14

x-y-3.14

(3)

implicitplot(g)

 

NULL

Download implicitplot_error.mw

dgdx := (x, T) -> diff(g(x, T), x);

g := (x, T) -> T*x + x^2;#just an example

dgdx(1, 2);
Error, (in dgdx) invalid input: diff received 1, which is not valid for its 2nd argument

So, I like to introduce a new function dgdx(x,T) from the x-derivative of g(x,T) but if I insert a value for x I get an error message. It would be great if you can help me out!

Perhaps a silly question but is it possible to stack two dataframe columns? When I use the Vector command the columns are stacked but nested.

Thank you for your help

5_6190449716501677775.pdf

I ahve a signal y_a to which adding mu(t) doesn't seem to give any plot but error , what is missing here?.

And also in second k(x,t) pdf file I want the value of k(x,t) after I did the integration. When I type k(x,t) and hit enter it's not giving me the value of k(x,t) but returns k(x,t) as it is.K(x_t).pdf

I do not remember now if this was asked before. Doing search here is hard. 

But I am trying this now on 2022.1 and this gives FAIL.

What is the correct syntax to use odetest to verify solution to ode using series method with expansion around infinity? Why do I get FAIL here?
 

interface(version)

`Standard Worksheet Interface, Maple 2022.1, Windows 10, May 26 2022 Build ID 1619613`

Physics:-Version()

`The "Physics Updates" version in the MapleCloud is 1257 and is the same as the version installed in this computer, created 2022, June 22, 16:27 hours Pacific Time.`

restart;

ode:=x^3*diff(y(x),x$2)+x^2*diff(y(x),x)+y(x)=0;
sol:=dsolve(ode,y(x),'series',x=infinity);
odetest(sol,ode,'series','point'=infinity)

x^3*(diff(diff(y(x), x), x))+x^2*(diff(y(x), x))+y(x) = 0

y(x) = _C1*(1-1/x+(1/4)/x^2-(1/36)/x^3+(1/576)/x^4-(1/14400)/x^5+O(1/x^6))+_C2*(ln(1/x)*(1-1/x+(1/4)/x^2-(1/36)/x^3+(1/576)/x^4-(1/14400)/x^5+O(1/x^6))+2/x-(3/4)/x^2+(11/108)/x^3-(25/3456)/x^4+(137/432000)/x^5+O(1/x^6))

Warning, unable to compute series necessary to test the given solution

FAIL

 


 

Download odetest_series.mw

Update

I've testsed methods given below on 6 random ode's using Maple odetest, VV method and Axel method. THis is the result obtained using Maple 2022.1 

odetest was able to verify the solution zero out of 6 times.
VV method was able to verify the solution 3 out of 6 times.
Axel method was able to verify the solution 5 out of 6 times.

So based on this small test, Axel method seems to do the best. Attached worksheet. I will use this method to verify my series solution to ode's instead of Maple's odetest but will use Maple's odetest for non-series method solutions.


 

interface(version);

`Standard Worksheet Interface, Maple 2022.1, Windows 10, May 26 2022 Build ID 1619613`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1257 and is the same as the version installed in this computer, created 2022, June 22, 16:27 hours Pacific Time.`

restart;

Example 1  Regular singular point. Complex roots

 

Order:=6;
ode:=sin(x)*diff(y(x),x$2)+cos(x)*diff(y(x),x)+1/x*y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0)

6

sin(x)*(diff(diff(y(x), x), x))+cos(x)*(diff(y(x), x))+y(x)/x = 0

y(x) = _C1*x^(-I)*(series(1+(1/48-(1/16)*I)*x^2+(1/57600-(217/57600)*I)*x^4+O(x^6),x,6))+_C2*x^I*(series(1+(1/48+(1/16)*I)*x^2+(1/57600+(217/57600)*I)*x^4+O(x^6),x,6))

VV method

 

odetest(sol,ode):
asympt(%,x);

Error, (in asympt) unable to compute series

odetest method

 

odetest(sol,ode,'series','point'=0);

y(x) = _C1*x^(-I)*(series(1+(1/48-(1/16)*I)*x^2+(1/57600-(217/57600)*I)*x^4+O(x^6),x,6))+_C2*x^I*(series(1+(1/48+(1/16)*I)*x^2+(1/57600+(217/57600)*I)*x^4+O(x^6),x,6))

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

 

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
convert(%,polynom);

0

Example 2 Regular singular point. Dierence is integer

 

Order:=6;
ode:=sin(x)*diff(y(x),x$2)+cos(x)*y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0):

6

sin(x)*(diff(diff(y(x), x), x))+cos(x)*y(x) = 0

VV method

 

odetest(sol,ode):
asympt(%,x);
convert(%,polynom);

O(x^7)

0

odetest method

 

odetest(sol,ode,'series','point'=0);

Warning, unable to compute series necessary to test the given solution

FAIL

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

   

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
convert(%,polynom);

0

Example 3 Regular singular point. Repeated root

 

Order:=6;
ode:=(exp(x)-1)*diff(y(x),x$2)+exp(x)*diff(y(x),x)+y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0):

6

(exp(x)-1)*(diff(diff(y(x), x), x))+exp(x)*(diff(y(x), x))+y(x) = 0

VV method

 

odetest(sol,ode):
asympt(%,x):
convert(%,polynom);

0

odetest method

 

odetest(sol,ode,'series','point'=0);

Warning, unable to compute series necessary to test the given solution

FAIL

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

   

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
convert(%,polynom);

0

Example 4 Regular singular point. Repeated root

 

Order:=6;  
ode:=(exp(x)-1)*diff(y(x),x$2)+exp(x)*diff(y(x),x)+y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0):

6

(exp(x)-1)*(diff(diff(y(x), x), x))+exp(x)*(diff(y(x), x))+y(x) = 0

VV method

 

odetest(sol,ode):
asympt(%,x):
convert(%,polynom);

0

odetest method

 

odetest(sol,ode,'series','point'=0);

Warning, unable to compute series necessary to test the given solution

FAIL

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

   

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
convert(%,polynom);

0

Example 5 . Regular singular point. Complex roots

 

Order:=6;  
ode:=x^3*diff(y(x),x$2)+sin(x^3)*diff(y(x),x)+x*y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0):

6

x^3*(diff(diff(y(x), x), x))+sin(x^3)*(diff(y(x), x))+x*y(x) = 0

VV method

 

odetest(sol,ode):
asympt(%,x);
#convert(%,polynom);

Error, (in asympt) unable to compute series

odetest method

 

odetest(sol,ode,'series','point'=0);

Error, (in odetest/series) need to determine the sign of I*3^(1/2)

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

   

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
#convert(%,polynom);

Error, (in MultiSeries:-multiseries) need to determine the sign of -I*3^(1/2)

Example 6 . Regular singular point. Complex roots

 

Order:=6;  
ode:=x^2*diff(y(x),x$2)+x*diff(y(x),x)+(x+1)*y(x)=0;
sol:=dsolve(ode,y(x),type='series',x=0):

6

x^2*(diff(diff(y(x), x), x))+x*(diff(y(x), x))+(x+1)*y(x) = 0

VV method

 

odetest(sol,ode):
asympt(%,x);
#convert(%,polynom);

Error, (in asympt) unable to compute series

odetest method

 

odetest(sol,ode,'series','point'=0);

y(x) = _C1*x^(-I)*(series(1+(-1/5-(2/5)*I)*x+(-1/40+(3/40)*I)*x^2+(3/520-(7/1560)*I)*x^3+(-1/2496+(1/12480)*I)*x^4+(9/603200+(1/361920)*I)*x^5+O(x^6),x,6))+_C2*x^I*(series(1+(-1/5+(2/5)*I)*x+(-1/40-(3/40)*I)*x^2+(3/520+(7/1560)*I)*x^3+(-1/2496-(1/12480)*I)*x^4+(9/603200-(1/361920)*I)*x^5+O(x^6),x,6))

y(t) = _C1*t^(-I)*(series(1+(1/48-(1/16)*I)*t^2+(1/57600-(217/57600)*I)*t^4+O(t^6),t,6))+_C2*t^I*(series(1+(1/48+(1/16)*I)*t^2+(1/57600+(217/57600)*I)*t^4+O(t^6),t,6))

Axel method

   

rhs(sol):
Y:= unapply(%, x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x):
convert(%,polynom);

0

 

 


 

Download test_new_odetest.mw

 

 

 

What is the [explict] relation between Maple's WeierstrassP and Weierstrass' P-function (e.g. https://en.wikipedia.org/wiki/Weierstrass_elliptic_function) ?

How can I specify english units as the default in Flow?  Rather than Newtons (N), pound force (lbf)?

pdf.mw
 

with(stats)

"f(x):=statevalf[pdf,normald[0,2*4.47]]  "

proc (x) options operator, arrow, function_assign; statevalf[pdf, normald[0, 2*4.47]] end proc

(1)

plot(f(x), -20 .. 20)

 

int(x*f(x), x)

.5000000000*x^2*statevalf[pdf, normald[0, 8.94]]

(2)

NULL


 

Download pdf.mw

Want to integrate x*f(x) where x is from -20..20, I am expecting a pure float number but getting symbols like statevalf_pdf in answer.

 

I am using some custom procedures which return error messages if something doesn´t work as planned and would need to make a distinction (when using try..catch) between these errors and all the other potential error messages Maple can return. Is there a way to do this efficiently - without having to list all of the error messages from my own procedures after catch?

First 9 10 11 12 13 14 15 Last Page 11 of 2142