MaplePrimes Questions

One of the things I like about Maple, is that I am able to look at most of the source code, and learn from it. But since I am newbie in Maple, sometimes I find it hard to know which next call I need to showstat() in order to see what happens next and follow the code.

Sometimes I do not know how to find the proc() being called in the listing shown by showstat().

For an example, I wanted to see how Maple implements AiryAi(x).

So I did  showstat(`AiryAi`) and I see the listing of AiryAi. The top level of the function. But then I see it calling, which must be some other level of `AiryAi` function? For example, at line 16, it says

     res := ('AiryAi')(x)

Since I am looking at AiryAi itself, this must be either recursive call or calling other internal AiryAi?

But if it recursive, then I do not see where the actual implementation is? I wanted to see if it uses the integral form of AiryAi or series form (not likely, uses GAMMA). I see the same recursive call in many places, such as line 35 and line 37 and othere places.

But looking at all the 42 lines, I do not see where the actual calculation of AiryAi(x) is done. Did I miss it?

There is a lot of error checking and looking at special cases and such. But how does one know from looking at this listing, which other function they need to showstat() in order to see the actual implementation? There must be more to it than those 42 lines?

This is on Maple 2016.2

 

Hi all,

I am using Maple 2016.

I have defined 5 polynomials: f1, f2, f3, f4 and f5 with 5 unknowns q1,q2 ,q3, q4 and lamda.

After this, I generated the Gröbner basis. But when I try to find the normal set I got an error.

 

with(Groebner);

f1 := lamda*q1-(3380075947548081*q1*(1/140737488355328)-259050600068343*q2*(1/140737488355328)-1826834460600733*q3*(1/1125899906842624)+4414049272733425*q4*(1/9007199254740992))*(q2*(8289619202186977*q1*(1/9007199254740992)+3380075947548081*q2*(1/281474976710656)-4414049272733425*q3*(1/18014398509481984)-1826834460600733*q4*(1/2251799813685248))+q3*(1826834460600733*q1*(1/2251799813685248)-4414049272733425*q2*(1/18014398509481984)+843667886835955*q3*(1/70368744177664)-215663898201129*q4*(1/9007199254740992))-q4*(4414049272733425*q1*(1/18014398509481984)+1826834460600733*q2*(1/2251799813685248)+431327796402257*q3*(1/18014398509481984)+843667886835955*q4*(1/70368744177664))-q1*(3380075947548081*q1*(1/281474976710656)-259050600068343*q2*(1/281474976710656)-1826834460600733*q3*(1/2251799813685248)+4414049272733425*q4*(1/18014398509481984)));
f2 := lamda*q2+(259050600068343*q1*(1/140737488355328)+3380075947548081*q2*(1/140737488355328)-4414049272733425*q3*(1/9007199254740992)-1826834460600733*q4*(1/1125899906842624))*(q2*(8289619202186977*q1*(1/9007199254740992)+3380075947548081*q2*(1/281474976710656)-4414049272733425*q3*(1/18014398509481984)-1826834460600733*q4*(1/2251799813685248))+q3*(1826834460600733*q1*(1/2251799813685248)-4414049272733425*q2*(1/18014398509481984)+843667886835955*q3*(1/70368744177664)-215663898201129*q4*(1/9007199254740992))-q4*(4414049272733425*q1*(1/18014398509481984)+1826834460600733*q2*(1/2251799813685248)+431327796402257*q3*(1/18014398509481984)+843667886835955*q4*(1/70368744177664))-q1*(3380075947548081*q1*(1/281474976710656)-259050600068343*q2*(1/281474976710656)-1826834460600733*q3*(1/2251799813685248)+4414049272733425*q4*(1/18014398509481984)));
f3 := (1826834460600733*q1*(1/1125899906842624)-4414049272733425*q2*(1/9007199254740992)+843667886835955*q3*(1/35184372088832)-862655592804515*q4*(1/18014398509481984))*(q2*(8289619202186977*q1*(1/9007199254740992)+3380075947548081*q2*(1/281474976710656)-4414049272733425*q3*(1/18014398509481984)-1826834460600733*q4*(1/2251799813685248))+q3*(1826834460600733*q1*(1/2251799813685248)-4414049272733425*q2*(1/18014398509481984)+843667886835955*q3*(1/70368744177664)-215663898201129*q4*(1/9007199254740992))-q4*(4414049272733425*q1*(1/18014398509481984)+1826834460600733*q2*(1/2251799813685248)+431327796402257*q3*(1/18014398509481984)+843667886835955*q4*(1/70368744177664))-q1*(3380075947548081*q1*(1/281474976710656)-259050600068343*q2*(1/281474976710656)-1826834460600733*q3*(1/2251799813685248)+4414049272733425*q4*(1/18014398509481984)))+lamda*q3;
f4 := lamda*q4-(4414049272733425*q1*(1/9007199254740992)+1826834460600733*q2*(1/1125899906842624)+862655592804515*q3*(1/18014398509481984)+843667886835955*q4*(1/35184372088832))*(q2*(8289619202186977*q1*(1/9007199254740992)+3380075947548081*q2*(1/281474976710656)-4414049272733425*q3*(1/18014398509481984)-1826834460600733*q4*(1/2251799813685248))+q3*(1826834460600733*q1*(1/2251799813685248)-4414049272733425*q2*(1/18014398509481984)+843667886835955*q3*(1/70368744177664)-215663898201129*q4*(1/9007199254740992))-q4*(4414049272733425*q1*(1/18014398509481984)+1826834460600733*q2*(1/2251799813685248)+431327796402257*q3*(1/18014398509481984)+843667886835955*q4*(1/70368744177664))-q1*(3380075947548081*q1*(1/281474976710656)-259050600068343*q2*(1/281474976710656)-1826834460600733*q3*(1/2251799813685248)+4414049272733425*q4*(1/18014398509481984)));
f5 := q1^2+q2^2+q3^2+q4^2-1;
ord := tdeg(q1, q2, q3, q4, lamda);
                  tdeg(q1, q2, q3, q4, lamda)
G := Basis([f1, f2, f3, f4, f5], ord);

IsZeroDimensional(G);
                             false
ns, rv := NormalSet(G, ord);
Error, (in Groebner:-NormalSet) The case of non-zero-dimensional varieties is not handled.

 

Any help please ?

Thank you.

Hi!

I have seen th following procedure to compute the image of the points of [0,1] under the so called Peano space-filling curve (sorry, I have to pasted the code in "text plane" mode):

P[0] := (x, y) -> ((1/3)*y, (1/3)*x);

P[1] := (x, y) -> (-(1/3)*x+1/3, (1/3)*y+1/3); 

P[2] := (x, y) -> ((1/3)*x, (1/3)*y+2/3); 

P[3] := (x, y) -> ((1/3)*x+1/3, -(1/3)*y+1);

P[4] := (x, y) -> (2/3-(1/3)*y, 2/3-(1/3)*x); 

P[5] := (x, y) -> ( (1/3)*x+1/3, 1/3-(1/3)*y));

 P[6] := (x, y) -> (1/3)*x+2/3, (1/3)*y);

P[7] := (x, y) -> (-(1/3)*x+1, (1/3)*y+1/3);

P[8] := (x, y) -> ((1/3)*x+2/3, (1/3)*y+2/3);

peano := proc (t::numeric, depth::integer)

local q, r; global P;

if depth = 0 then return 0, 0 end if;

q := floor(9*t); r := 9*t-q;

return P[q](peano(r, depth-1))

end proc;

 

Now, I need to use the procedure "peanofun" as a function. For instance, if we define f:=(x,y)->x+y, I need to use (plot, compute, etc) for instance, the function f(peanofun(t,5))

Can you help me with this issue, please?

Many thanks for your time!

 

 

I have a list of sample values and I want to remove just one maybe two of them. 

list:=[13,16,16,29,34,33,33,12,22,26,25,25,25,11]:

How could I remove just one 25 from the list? 

I have a two graphics in two distinct Maple worksheets. How can I graph them on one graphic?

 

For example, 

 graphics of y=x^2 in one Maple worksheet named document 1, 

and graphics of y=x in an other Maple worksheet named document 2.

I want to graphics of them in document 1 by recalling the graphics of y=x in document 2.

Because, The codes that I will use in future are very long and complex, I need to write code like that. (if there is possibility) 

Hi, similar problem as before :) I want to use numeric solution DE while solving another DE. Example:

sol:=dsolve(Dsys,numeric)

dsolve({diff(y(x),x)=y(x)-sol,y(0)=1},numeric)

The second part doesn´t work. Can you help me to fix it? Thank you :)

Hello guys,

I have some system of differential equations,

How can i find  eigenvalues of this system?

If i have solution

res := evalf(dsolve(sys union ics, convert(x, list), type = numeric, method = rkf45))

and

sol := evalf(dsolve(sys union ics, convert(x, list), method = laplace))

AnSolution.mw

Thanks!

I am maple newbie. Sometimes when I look at Maple code to try to understand the algorithm (which is hard, since I do not know Maple well), I see the code puts ` ` around some keywords. And sometimes it does not. For example, sometimes I see something like (these are random samples) from Maple code shown using showstat()

return `if`(assigned(r),r,{})
r := `union`(r,{solve(op(1,expr) = 1,vs)})
v2 := `intersect`(vs,indets(op(1,expr),'name'));

But sometimes, they do not put ` ` around functions name or keywords, like this:

if nops(v2) = 1 then
t1 := remove(a -> has(a,RootOf),t1);
for t in expr do

and so on.

Can some expert please give what is the rule thumb to use? Should user adopt this method also? When to put ` ` and when not to put ` `?   I understand that ` ` prevents one-time evaluation (or rather, holds off immediate evaluation) and ``  `` prevents two times evaluation and so on. But when to use ` ` is what is confusing me.

 

Hello,

I was wondering if it is possible to use units in Maple so I can always check if the result I have at the end of calculation is the meter.  For example:

>c:=3e8m/s
>Ec:=1J
>Ec*c

The answer is of course 3.10^8 m^3*kg/s^3

I try to do something with the units but I am unable to crreate something that will simplify the m/s ffactor to 1.

Any idea?

Thank you in advance for your help.

 

how to convert a nested for loop to iterative version with stack

I have recently been working on a problem using fractional calculus and have come across something in Maple's fracdiff  command that makes no sense to me.

fracdiff(1, x, 1/2) = 0

It should be:     1/(sqrt(x)*sqrt(Pi))

Thanks.

fracdiff.mw

Hi,

I have produced a large Matrix by first using dsolve and then plotted it using odeplot (see below). My question is, how to I export this matrix ( 2599 x 2) to an ascii file? I have been googling around, but haven't found a solution for my matrix (have seen that it works if I just make a simple matrix and then export it). I apologize if someone find this question simple, not very experienced in Maple.

Thanks in advance.

 

diffsol := dsolve(subs(parametertotal,diffsystem) union subs(parametertotal,initialCondition),numeric,method=rosenbrock_dae,range=0..t_fin);
proc(x_rosenbrock_dae)  ...  end;

     

P1 := odeplot(diffsol,eval([E[init]+nu*t,jteny],parametertotal),0..t_fin,view=[0.8..1.6,0..0.004],refine=2);

 

plottools[getdata](P1);

["curve", [.500000000000000000 .. 1.60000000000000009, 1.51870824668638962*10^(-8) .. 0.279325471225829770e-2], Vector[column](4, [` 2599 x 2 `*Matrix, `Data Type: `*float[8], `Storage: `*rectangular, `Order: `*C_order])]

 

I solved this (aq1) equation and got a set of answers, but when I want to solve another equation (aq) that is like (aq1)  it took a long time and I stopped progressing.

aq1 := -6.801867*10^(-32)*omega^16+(2.20054799*10^(-46)*I)*omega^23+(6.14329398*10^(-52)*I)*omega^25+(1.*10^(-11)*I)*omega^3+(2.*10^(-14)*I)*omega^5+(9.*10^(-10)*I)*omega+(2.*10^(-25)*I)*omega^11+5.95367451*10^(-12)*omega^8-2.10490578*10^(-16)*omega^10+3.6487095*10^(-21)*omega^12-3.4507372*10^(-26)*omega^14-4.53641375*10^(-54)*omega^26-1.844174702*10^(-48)*omega^24-.2318547310*omega^2+0.2767383695e-3*omega^4+15.23320543-2.607001427*10^(-43)*omega^22-1.252442537*10^(-38)*omega^20-1.58024603*10^(-34)*omega^18-(4.8*10^(-28)*I)*omega^13+(2.68604*10^(-29)*I)*omega^15+(1.4639509*10^(-32)*I)*omega^17+(1.21776770*10^(-36)*I)*omega^19+(2.77270182*10^(-41)*I)*omega^21-7.070170160*10^(-8)*omega^6

sd1 := solve(aq1)

aq := (2.626145*10^(-111)*I)*beta^41+(2.723460372*10^(-55)*I)*beta^25-1.125718*10^(-103)*beta^38-4.42696*10^(-96)*beta^36+(4.038976*10^(-119)*I)*beta^43+(1.897840*10^(-135)*I)*beta^47-1.4537*10^(-128)*beta^44-2.393897*10^(-75)*beta^30-5.345113*10^(-69)*beta^28-(8.88232*10^(-14)*I)*beta^7+(3.78162*10^(-127)*I)*beta^45+(1.87236321*10^(-39)*I)*beta^19-4.22943*10^(-111)*beta^40-5.98764*10^(-82)*beta^32+(1.73215*10^(-27)*I)*beta^13+(3.14576*10^(-144)*I)*beta^49+1.0000002*10^(-150)*beta^50+1.000483*10^(-142)*beta^48+(0.5707492e-4*I)*beta-1.860356732*10^(-56)*beta^26-1.202764308*10^(-50)*beta^24+0.1078870970e-3*beta^4-.1337634356*beta^2+(4.558807*10^(-82)*I)*beta^33+11.99907662+(1.552482870*10^(-49)*I)*beta^23+1.50289073*10^(-33)*beta^16+(4.738072*10^(-89)*I)*beta^35-2.560992731*10^(-45)*beta^22-1.821396189*10^(-40)*beta^20+1.*10^(-159)*beta^52-1.025045*10^(-118)*beta^42-2.708307310*10^(-27)*beta^14-2.880*10^(-137)*beta^46+3.616579272*10^(-22)*beta^12-2.775313578*10^(-17)*beta^10+(2.247453*10^(-75)*I)*beta^31+(4.317773*10^(-69)*I)*beta^29-(8.4742656*10^(-63)*I)*beta^27+(1.086756*10^(-103)*I)*beta^39+(2.875650*10^(-96)*I)*beta^37+(2.927689932*10^(-44)*I)*beta^21+(5.19084*10^(-18)*I)*beta^9+(3.3203077*10^(-35)*I)*beta^17-1.867365177*10^(-8)*beta^6+1.091287414*10^(-12)*beta^8-3.549248092*10^(-36)*beta^18-6.89128*10^(-89)*beta^34-(1.32011*10^(-22)*I)*beta^11+(8.67973*10^(-32)*I)*beta^15+(5.131768*10^(-10)*I)*beta^5-(6.362604*10^(-7)*I)*beta^3-(5.75387*10^(-153)*I)*beta^51

How can I solve (aq) ?

The writings in the variables palettes are overlapped. Is there any solution suggestion?

 

First 1023 1024 1025 1026 1027 1028 1029 Last Page 1025 of 2433