Maple 2020 Questions and Posts

These are Posts and Questions associated with the product, Maple 2020

Got a lot of worksheets who are not complete anymore once opened in maple 2020

It can be only opened with a old version of Maple
Can it be imported in Maple 2020?

example 

Dynmod03.mws

Is there a way to verify the following Fourier transform property: F[f(x) exp(x)](k) = F[f(x)](k − b)? This is what I tried:
 

restart

with(inttrans)

constants := constants, b

false, gamma, infinity, true, Catalan, FAIL, Pi, b

(1)

left := fourier(f(x)*exp(I*b*x), x, k)/sqrt(2*Pi)

(1/2)*2^(1/2)*fourier(f(x)*exp(I*b*x), x, k)/Pi^(1/2)

(2)

right := fourier(f(x), x, k-b)/sqrt(2*Pi)

(1/2)*2^(1/2)*fourier(f(x), x, k-b)/Pi^(1/2)

(3)

simplify(left-right)

(1/2)*2^(1/2)*(fourier(f(x)*exp(I*b*x), x, k)-fourier(f(x), x, k-b))/Pi^(1/2)

(4)

NULL


 

Download First_Shifting_Theorem.mw

Is there a way to specify options or something to change the definition of fourier and invfourier to have a 1/sqrt(2Pi) factor instead? I don't want to manually multiply the result by 1/sqrt(2Pi) every time in case I forget to do it and it leads to a mistake in the future.

In reference to the nice application: https://www.mapleprimes.com/posts/209845-Dataframes--Looking-For-A-New-Flashlight by @Christopher2222 ,  my question is: 

is there a simple way to sort primarily by one column, but if two elements possess identical values, then using a second column to determine the order? For example, what if we wanted to sort the flashlight dataframe primarily by "B-type" but use a subsort by "Minutes". 

I wrote a function which used recursion. It worked fine for small dataframes, but was painfully slow with a multi-thousand element spreadsheet.

 

why   print(lastexception);  gives `[Length of output exceeds limit of 1000000]` while just doing lastexception; gives no problem?

 

restart;
eq:=x*y*p = y^2+x*(4*x^2+y^2)^(1/2);
try
   sol:= timelimit(20,`assuming`([solve(eq,y)],[real]));
catch:
   print(lastexception);
end try;
lastexception

I know one should use something like

print(StringTools:-FormatMessage( lastexception ))

But I do not know why print(lastexception) gives the length exceeds error. 

whattype(lastexception) gives exprseq

 

Maple 2020.1

 

Just wondering why

restart;
x:=2*{};
has(x,{})

Clearly {} is special. But is there a way to make it return true? 

 

I am creating Maple figures that are being used to create camera-ready figures in Adobe Illustrator. The graphic artist doing the Adobe Illustrator has asked me if there is a way to have the text information in the figure (tickmarks, axis labels, ...) saved as text and not created as an image?

I know that other EPS files have text stored this way, but it appears Maple does not do this. I can't find any documentation about this. Does anybody have any knowledge or experience about this?

Thanks in advance,

Doug

Maple's infolevel is very nice feature, good for learning.

But I'd like to see more steps/info sometimes. Using infolevel set to max 5, does not show everything I like to see. Is there a way to print more info?

This is what I am   interested in. dsolve goes into Kovacic algorithm to solve second oder ODE. This algorithm is general algorithm to solve second oder linear ODE. 

https://www.sciencedirect.com/science/article/pii/S0747717186800104

restart;
infolevel[dsolve]:=5;
ode:=x^2*diff(diff(y(x),x),x)+x*diff(y(x),x)+(x^2-1/4)*y(x)=0;
dsolve(ode)

Changing printlevel to high value, does not really help here. It just prints lots of stuff I am not interested in.

What othere options are there to show more information about flow of logic, like the above?

I do not even know how to trace Kovacic code in Maple, since do not know what function/proc it is in without having to step though dsolve, which could take very long time to reach this specfic proc.

Is it possible to have Maple print the name of each proc it enter and leaves as it runs? That will be very useful addition added to printlevel. 

 

I have set of assumptions. The set happend to be empty at  time I used it. I forgot to change the set to list when calling assuming. This cased 'numeric exception: division by zero'
 

Is this normal and expected?

restart;
u1:=-ln(csc(x)-cot(x));
the_assumptions_on_x:={};
`assuming`([simplify(u1)],[the_assumptions_on_x])

Error, (in assuming) when calling 'signum'. Received: 'numeric exception: division by zero'
 

I fixed my code to use list at time of the call and the error went away

restart;
u1:=-ln(csc(x)-cot(x));
the_assumptions_on_x:={};
`assuming`([simplify(u1)],convert(the_assumptions_on_x,list))

The question is, why passing {} caused division by zero? 

Maple 2020.1

 

I'm trying to use what is essentially a vector of lists within and expression, using a range variable as one of the indexes, and it doesn’t seem to calculate any result.  Just looking for help or pointers, and I included an example of what I'm talking about in the attached maple doc.  I can convert it into a matrix and get it to calculate the result, however I’m suspecting there must be some way to use the Vector directly but I couldn’t see how to do it.

vector_of_lists_example.mw

thanks,

Brian

Hello,

 

I am one of the software coordinators for CUNY and was wondering how would i obtain access to download Maplesoft for the college community?

I want to do the substitution f(t) - ff(t) = epsilon for any variable t in Maple:

 

expand(myerror);
    2 f(x - 2 h)   f(x)   3 f(x + 3 h)   2 ff(x - 2 h)   ff(x)
  - ------------ - ---- + ------------ + ------------- + -----
        15 h       6 h        10 h           15 h         6 h

       3 ff(x + 3 h)
     - -------------
           10 h     


NULL;
myfunc := t -> f(t) - ff(t) = epsilon;
 myfunc := proc (t) options operator, arrow, function_assign;

    f(t)-ff(t) = epsilon end proc


algsubs(myfunc(t), myerror);
          2               1        3            
        - -- f(x - 2 h) - - f(x) + -- f(x + 3 h)
          15              6        10           
        ----------------------------------------
                           h                    

               2                1         3             
             - -- ff(x - 2 h) - - ff(x) + -- ff(x + 3 h)
               15               6         10            
           - -------------------------------------------
                                  h                     


NULL;
subs(f(-h*n + x) = 1, ff(-h*n + x) = 0, f(x) = 1, ff(x) = 0, f(h*m + x) = 1, ff(h*m + x) = 0, myerror)*epsilon;
                           4 epsilon
                           ---------
                             15 h   

 

How do I change equations from the 2D-output into definitions?

#! Change the order (this case second):
solve({-alpha[-1] + 2*alpha[2] = 1, 1/2*alpha[-1]*h + 2*alpha[2]*h = 0, alpha[-1]/h + alpha[0]/h + alpha[2]/h = 0}, {alpha[a], alpha[b], alpha[c]});
          /            -2             1             1\
         { alpha[-1] = --, alpha[0] = -, alpha[2] = - }
          \            3              2             6/

NULL;
lhs({alpha[-1] = -2/3, alpha[0] = 1/2, alpha[2] = 1/6}[1]) := rhs({alpha[-1] = -2/3, alpha[0] = 1/2, alpha[2] = 1/6}[1]);
     /            -2\       / /            -2             1  
  lhs|alpha[-1] = --| := rhs|{ alpha[-1] = --, alpha[0] = -,
     \            3 /       \ \            3              2  

               1\    \
    alpha[2] = - }[1]|
               6/    /

 

 

Why am I not able to replace O(h^3), and in what other way can I achieve the result (I want to get the coefficients of the f(x), D(f)(x), and D^(2)(f)(x) variables).

Q(h);
1 /          /                                       2    / 3\\
- |alpha[-2] \f(x) - 2 D(f)(x) h + 2 @@(D, 2)(f)(x) h  + O\h //
h \                                                            

   + alpha[0] f(x)

              /                     9                 2    / 3\\\
   + alpha[3] |f(x) + 3 D(f)(x) h + - @@(D, 2)(f)(x) h  + O\h /||
              \                     2                          //


NULL;


subs(f(x) = 1, D(f)(x) = 0, (D@@2)(f)(x) = 0, O(h^3) = 0, collect(Q(h), f(x)));
                         /     / 3\\            /     / 3\\
    alpha[0]   alpha[-2] \1 + O\h // + alpha[3] \1 + O\h //
    -------- + --------------------------------------------
       h                            h                      

 

How do I combine greek letters and latin letters in variable names? e.g. here I want to combine the greek letter Delta and the latin letter x to be used as one variable name:


Delta*x;
                            Delta x

Deltax;
                             Deltax

 

 

First 38 39 40 41 42 43 44 Last Page 40 of 55