Maple 2018 Questions and Posts

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

In an unrelated thread, I provided the OP with some 1-D code, which contained the Array definition

TC:= Array(0...1001, fill=0)

Note the existence of three '.' characters in the range specification. This was a typo on my part, or my '.' key bounced, or something. The code containing the above definition "worked" with no problem, which, presumably, was why I didn't notice.

The Maple help does state (my emphasis)

Note that more than two dots in succession are also parsed as the range (..) operator.

although I wasn't making use of this fact - I just screwed up when typing the original.

The OP preferred to use 2-D input, and used cut-and-paste to transfer the above code, resulting in 2-D input, which is where the fun started. It seems(?) that when using 2-D input, more than two dots in succession is only interpreted as a straightforward range, if the total number of dots is even.

If the total number of dots is odd, then it appears(?) as if the 'final' dot is associated with the second number in the range as a 'decimal point', (so producing .1001 in the above example). This is then 'coerced/rounded' to an integer - ie it becomes '0', and the above Array definition is interpreted as

TC:= Array(0..0, fill=0)

Consequences in the following code are left to your imagination

Worth an SCR?

 

 

 

Can anyone  produce these diagram?  Please Read the theory in:

   https://en.wikipedia.org/wiki/Logistic_map.

Wikipedia pages that explain bifurcation diagrams and attractors in more elementary contexts.

See the bifurcation diagram in the picture

   https://en.wikipedia.org/wiki/Logistic_map#/media/File:Logistic_Bifurcation_map_High_Resolution.png

 

For some reason, Maple now hangs on the following Schrodinger PDE with initial and boundary conditions.

In Physics version 60, it works OK. No solution is returned, but it does not hang.

But when I updated to latest version of Physics, it hangs. I am not sure which version makes it hangs, I just know Maple does not hang in version 60. So the problem could have happend in any version after 60. I have not attempted to try them all to find out.

PackageTools:-Install("5137472255164416", version = 60, overwrite);
restart;
PackageTools:-IsPackageInstalled("Physics Updates");

              60


x:='x'; t:='t'; y:='y'; hbar:='hbar';f:='f';
pde:=  I* diff(f(x,y,t),t) = -hBar^2/(2*m) * (diff(f(x,y,t),x$2) +  diff(f(x,y,t),y$2)):
ic := f(x, y, 0) = sqrt(2)*(sin(2*Pi*x)*sin(Pi*y) + sin(Pi*x)*sin(3*Pi*y)):
bc := f(0, y, t) = 0,f(1, y, t) = 0, f(x, 1, t) = 0, f(x, 0, t) = 0:
sol:=pdsolve({pde,ic,bc},f(x,y,t));

            ()   #after only few seconds. No hang. good

 

Now in latest version of Physics

PackageTools:-Install("5137472255164416",  overwrite);
restart;
PackageTools:-IsPackageInstalled("Physics Updates");

                                  "74"

pde:=  I* diff(f(x,y,t),t) = -hBar^2/(2*m) * (diff(f(x,y,t),x$2) +  diff(f(x,y,t),y$2)):
ic := f(x, y, 0) = sqrt(2)*(sin(2*Pi*x)*sin(Pi*y) + sin(Pi*x)*sin(3*Pi*y)):
bc := f(0, y, t) = 0,f(1, y, t) = 0, f(x, 1, t) = 0, f(x, 0, t) = 0:
sol:=pdsolve({pde,ic,bc},f(x,y,t));

#after waiting for long time, had to terminate it
Warning,  computation interrupted

 

Why does Maple hangs on this PDE now and it did not before?

Using Maple 2018.1 on Linux

 

The Maple command line interface (cmaple), often referred to as the "TTY interface" for its original use on Teletype terminals, is still the tool of choice for many Maple developers and power users. Maple 2018.1 introduces several new capabilities to this long-lived interface:

This post, the first in a series of three, will address color syntax highlighting. We'll start with a very short sample session:

    |\^/|     Maple 2018.1 (X86 64 LINUX)
._|\|   |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2018
 \  MAPLE  /  All rights reserved. Maple is a trademark of
 <____ ____>  Waterloo Maple Inc.
      |       Type ? for help.
> piecewise(4 < x^2 and x < 8, f(x));
                            {                  2
                            { f(x)        4 < x  and x < 8
                            {
                            {  0             otherwise

> p := unapply(%,x);
                                               2
                      p := x -> piecewise(4 < x  and x < 8, f(x))

> 1/p(1);
Error, numeric exception: division by zero
> quit
memory used=5.3MB, alloc=41.3MB, time=0.07

In the above example, you can see that general keywords are in bold blue, variables in italics (not supported by all terminals), error messages in bold red, control flow interrupting keywords in bold magenta, and memory usage messages in normal blue.

Color syntax highlighting is turned on by default in cmaple for Linux and OS/X if the terminal you are using (as specified by the TERM environment variable) is known to support it. It is currently turned off by default under Windows. It can be explicitly turned on or off for 2D and message output using interface(ansi=) where is true or false (under Windows, you can put interface(ansi=true) in your maple.ini file to automatically turn it on). Likewise, interface(ansilprint=) controls highlighting for 1D output (such as that produced by lprint), and interface(ansiedit=) for input.

Not all terminals support all possible highlighting modes. The following two commands show what colors your terminal can display, and how they are used by Maple's syntax highlighting:

> interface(showtermcolors):

ANSI X3.64 Standard Attributes

Normal  Bold  Italic  Underlined  Reverse  

System Colors (0-15) Using ANSI Escape Sequences

Color00  Color01  Color02  Color03  Color04  Color05  Color06  Color07  
Color08  Color09  Color10  Color11  Color12  Color13  Color14  Color15  

System Colors (0-15) Using Extended Escape Sequences

  0    0    1    1    2    2    3    3    4    4    5    5    6    6    7    7  
  8    8    9    9   10   10   11   11   12   12   13   13   14   14   15   15  

Extended 6x6x6 Color Cube (16-231)

 16   16   17   17   18   18   19   19   20   20   21   21  
 22   22   23   23   24   24   25   25   26   26   27   27  
 28   28   29   29   30   30   31   31   32   32   33   33  
 34   34   35   35   36   36   37   37   38   38   39   39  
 40   40   41   41   42   42   43   43   44   44   45   45  
 46   46   47   47   48   48   49   49   50   50   51   51  

 52   52   53   53   54   54   55   55   56   56   57   57  
 58   58   59   59   60   60   61   61   62   62   63   63  
 64   64   65   65   66   66   67   67   68   68   69   69  
 70   70   71   71   72   72   73   73   74   74   75   75  
 76   76   77   77   78   78   79   79   80   80   81   81  
 82   82   83   83   84   84   85   85   86   86   87   87  

 88   88   89   89   90   90   91   91   92   92   93   93  
 94   94   95   95   96   96   97   97   98   98   99   99  
100  100  101  101  102  102  103  103  104  104  105  105  
106  106  107  107  108  108  109  109  110  110  111  111  
112  112  113  113  114  114  115  115  116  116  117  117  
118  118  119  119  120  120  121  121  122  122  123  123  

124  124  125  125  126  126  127  127  128  128  129  129  
130  130  131  131  132  132  133  133  134  134  135  135  
136  136  137  137  138  138  139  139  140  140  141  141  
142  142  143  143  144  144  145  145  146  146  147  147  
148  148  149  149  150  150  151  151  152  152  153  153  
154  154  155  155  156  156  157  157  158  158  159  159  

160  160  161  161  162  162  163  163  164  164  165  165  
166  166  167  167  168  168  169  169  170  170  171  171  
172  172  173  173  174  174  175  175  176  176  177  177  
178  178  179  179  180  180  181  181  182  182  183  183  
184  184  185  185  186  186  187  187  188  188  189  189  
190  190  191  191  192  192  193  193  194  194  195  195  

196  196  197  197  198  198  199  199  200  200  201  201  
202  202  203  203  204  204  205  205  206  206  207  207  
208  208  209  209  210  210  211  211  212  212  213  213  
214  214  215  215  216  216  217  217  218  218  219  219  
220  220  221  221  222  222  223  223  224  224  225  225  
226  226  227  227  228  228  229  229  230  230  231  231  

Extended 24-Level Grayscale (232-255)

232  232  233  233  234  234  235  235  236  236  237  237  238  238  239  239  
240  240  241  241  242  242  243  243  244  244  245  245  246  246  247  247  
248  248  249  249  250  250  251  251  252  252  253  253  254  254  255  255  

If your terminal does not support 256 color mode, then many of the colored blocks shown above will appear differently or not at all.

> interface(showcolors):

 1 Normal output:           evalf(1/2) = 0.5
 2 Italics (variables):     x, y, z
 3 Symbol text (not used):  symbol
 4 Bold (fallback):         Begin, be bold, and venture to be wise.
 5 Underlined (fallback):   Morality, like art, means drawing a line someplace.
 6 Reversed (not used):      The reverse side also has a reverse side. 
 7 Input prompts:           >  DBG>
 8 User input:              1/(x^4+1);
 9 Userinfo output:         message, x, y
10 Trace output:            {--> enter f, args = x, y
11 Warning messages:        Warning, x is implicitly declared local
12 Error messages:          Error, (in f) invalid subscript selector
13 Debugger output:         No breakpoints set
14 General Maple keywords:  for  from  to  while  do  until
15 Declaration keywords:    local  option  description
16 Flow interruptions:      break  return
17 Exception keywords:      error  try  catch
18 Subexpression labels:    %1  %2
19 Special & quoted names:  thisproc  `diff/sin`
20 String literals:         "Hello, world!"
21 Maple startup message:   Maple 2019
22 Output from printf:      x=1.234 y=5.678
23 Status messages:         memory used=1.7MB, alloc=8.3MB, time=0.03
24 System command output:   1466  4739  43140  myprog.mpl
25 Maple comments:          # Comments are free but facts are sacred.

The colors used for the different categories of output as listed by the command above are user selectable. The default is to use only the sixteen ANSI X3.64 standard colors (or Windows command prompt standard colors). These may appear differently than shown here depending on the color palette of your terminal window.

The color settings can be queried or set as follows:

> currentColors := interface(ansicolor);
currentColors := [-1, -1, -1, -1, -1, -1, 2, -1, 2, 3, 11, 9, 6, 12, 10, 13, 9, 14, 6,

    5, 2, 136, 4, 134, 3]

# Individual colours, as numbered in the output of interface(showcolors), can
# be changed. Let's make keywords bright yellow:
> myColors := subsop(14=226,currentColors);
myColors := [-1, -1, -1, -1, -1, -1, 2, -1, 2, 3, 11, 9, 6, 226, 10, 13, 9, 14, 6, 5,

    2, 136, 4, 134, 3]

> interface(ansicolor=myColors);
[-1, -1, -1, -1, -1, -1, 2, -1, 2, 3, 11, 9, 6, 12, 10, 13, 9, 14, 6, 5, 2, 136, 4,

    134, 3]

> piecewise(4 < x^2 and x < 8, f(x));
                            {                  2
                            { f(x)        4 < x  and x < 8
                            {
                            {  0             otherwise

There are several predefined color schemes that can be selected using interface(ansicolor=), where is an integer from 0 to 6. Scheme 0, the default, should work on any terminal. Of the remaining schemes, the odd numbered ones are designed to look good on light backgrounds, and the even numbered ones on dark backgrounds.

There is also a new character plot driver, selectable using interface(plotdevice=colorchar), which supports character plotting in color. Colors are mapped to the nearest color supported by the terminal:

> interface(plotdevice=colorchar):
> p1 := plot(sin(x),x=-Pi..Pi,thickness=1,color="DeepPink"):
> p2 := plot(sin(x)+sin(3*x)/3,x=-Pi..Pi,thickness=2,color="LawnGreen"):
> p3 := plot(sin(x)+sin(5*x)/5,x=-Pi..Pi,thickness=3,color="DodgerBlue"):
> plots[display](p1,p2,p3);

                                                                                       
                                           |                                           
                                           |                  @@@@@                    
                                           |                 @@   @@                   
                                           |                 @     @                   
                                         1 |                *.......*                  
                                           |       *******.*@       @*..******         
                                           |      **    .**@         @**.    **        
                                           |     **   ..  ***       ***  ..   **       
                                           |    **   ..  @@ **** **** @@  ..   **      
                                           |    *   ..  @@     ***     @@  ..   *      
                                           |   *@@@**@@@                 @@@**@@@*     
                                       0.5 |  **@ ..                         .. @**    
                                           |  *@ ..                           .. @*    
                                           | ** .                               . **   
                                           | * .                                 . *   
                                           |**..                                 ..**  
                                           |*..                                   ..*  
                                           |*.                                     .*  
                                           *.                                       .* 
 **---------------------------------------**-----------------------------------------* 
  -3           -2            -1          0*|            1             2            3   
  *..                                   ..*|                                           
  **..                                 ..**|                                           
   * .                                 . * |                                           
   ** ..                              . ** |                                           
    *@ ..                           .. @*  |                                           
    **@ ..                         .. -0.5 |                                           
     *@@@**@@@                 @@@**@@@*   |                                           
      *   ..  @@     ***     @@  ..   *    |                                           
      **   ..  @@ **** **** @@  ..   **    |                                           
       **   ..  @**       **@  ..   **     |                                           
        **    .**@         @**.    **      |                                           
         *******.*@       @*.*******       |                                           
                  *.......*             -1 |                                           
                   @     @                 |                                           
                   @@   @@                 |                                           
                    @@@@@                  |                                           
                                           |                                           
                                                                                       

> plot3d([1,x,y],x=0..2*Pi,y=0..2*Pi,coords=toroidal(10));

                                                                                       
                                  -------------------                                  
                             --------\\\-|-|-|-///--------                             
                          ---------\\\-\-|-|-|-/-///---------                          
                        ----------\\\-\-||-|-||-/-///----------                        
                      /-/-/-/-----\\\\\-|||||-|-/////------------                      
                     -//-/-/-/---\-\\-\||-|||-||/-//-/---\-\-\-\--                     
                   --//-|||-/-/--\\\\\\|||||||-|//////--\-\-|||\|\-\                   
                  /---||-||||-|--\\-\\\|||||||||///-//--|-||||--|---\                  
                 /--|--\-\-\-\\--\\/\\|||||||||||//-//-|-///-/-/--|--\                 
                //-//--\\-\-----\-\\\\|||||||||||////-///////-//--\\-\\                
                |//\/\------------\\\|||||||||||||////-------//--/\\\\|                
               /// / / -- /--- -----\|||||||||||||/---------\ --/\ \\\\\               
               //\/ /-//-/-//-//-/--/-/--/-|-\--\-\--\-\\-\\-\-\\/\ \/\\               
               ///\/ /--/ //-// /--/--/-|--|--|-\--\--\ \\-\\ \--\ \/\\\               
               /||/-// /--/  /--/-//-|  |  |  |  |-\\-\--\  \\-\ \\/\||\               
               || |-/ /  /--/  /  | -|--|--|--|--|- |  \ -\--\  \ \/| |||              
              |||| | -/ /  ||--/-||- |  |  |  |  | -||--\  | \\-\- | |/|               
               |||-| | -/--|  |  |  -|--|--|--|---|  |  |  |--\  | |/|||               
               |\| |-|  | ||--|- |  |   |  |  |   |  | -|--|| |  |-- |/|               
               |\||  |-|  |  |  -|--|---|--|---|--|--|-  |  |  |-|  ||/|               
               \|-| |  |--|- |   |  |  |   |   |  |  |   | -|--| |  |/|/               
                \||-|- |  |--|--|-  |  |   |   |  |  -|--|--|  | -|-||/                
                \|-|||-|- |  |  | --|--|---|---|--|-- |  |  |  |-|||/|/                
                 \\|-| |--|--|  |   |  |   |   |  |   |  |--|--| |-|//                 
                  \\ |-|  |  |--|---|  |   |   |  |---|--|  |  |-| //                  
                   -\| |--|  |  |   |--|---|---|--|   |  |  |--| |//                   
                     \|-| |--|--|   |  |   |   |  |   |--|--| |-|/                     
                      \\|\|| |  |---|--|---|---|--|---|  | ||-|//                      
                        -\----|--|  |  |   |   |  |  |--|----/-                        
                          --\-\\ |--|--||--|---|--|--|  /-/--                          
                             ----\\-||--|--|--|---|--///--                             
                                  \--\--|--|--|--/--/                                  
                                                                                       

For more details, please refer to the help page, ?ansicolor.

I am trying to solve an equation with respect to the variable w. However, although there seems to be a solution (see plot indicating a root), Maple produces the wron solution (0, when P = 1/2 and d = 1/10):


 

equations := S-P*S*((ln(-2*d*w+P+d)-ln(P-d))*(P-d)/(-1+w)+(P+d)*(ln(-P-d)-ln(d*(2*w-1)-P))/w)/(2*d^2) = 0

S-(1/2)*P*S*((ln(-2*d*w+P+d)-ln(P-d))*(P-d)/(-1+w)+(P+d)*(ln(-P-d)-ln(d*(2*w-1)-P))/w)/d^2 = 0

(1)

variables := w

w

(2)

solutions := solve(equations, variables)

(1/2)*(P+d-exp(RootOf(-P^2*exp(_Z)*ln(1/(P+d))-P*d*exp(_Z)*ln(1/(P+d))+P^3*ln(1/(P+d))-P*d^2*ln(1/(P+d))-ln(P-d)*P^2*exp(_Z)+ln(P-d)*P*d*exp(_Z)-2*P*d*exp(_Z)*_Z+ln(P-d)*P^3-ln(P-d)*P*d^2+d*(exp(_Z))^2-2*P*d*exp(_Z)+P^2*d-d^3)))/d

(3)

eval({solutions}, [P = 1/2, d = 1/10])

{3-5*exp(RootOf(-25*(exp(_Z))^2+75*exp(_Z)*ln(5/3)+50*ln(2/5)*exp(_Z)+25*exp(_Z)*_Z+25*exp(_Z)-30*ln(5/3)-30*ln(2/5)-6))}

(4)

evalf({%})

{{0.}}

(5)

plot(eval(S*(-P*(-2*d*w+P+d)*ln(-2*d*w+P+d)+P*w*(P-d)*ln(P-d)-(-1+w)*(P*(P+d)*ln(P+d)-2*d^2*w))/(2*d^2*(-1+w)*w), {P = 1/2, S = 1, d = 1/10}), w = 0 .. 1)

 

``


 

Download MaplePrimes_03072018.mw

This pde used to be solved in 2018 as far as I know. Now it gives a strange new error

restart;
interface(showassumed=0);
pde :=  diff(u(x,t),t)+k*diff(u(x,t),x$2)+sin(2*Pi*x/L);
ic  :=  u(x,0)=f(x);
bc  :=  D[1](u)(0,t)=0, D[1](u)(L,t)=0;
sol :=  pdsolve({pde,ic,bc},u(x,t)) assuming L>0,t>0,k>0;

Error, (in assuming) when calling 'dsolve'. Received: 'found differentiated functions with same name but depending on different arguments in the given DE system: {F0_0(L), F0_0(x)}'

I am using  Physics:-Version();     MapleCloud version: 72

Do others get this erorr? Why does it show up now when it worked OK before?

update

Iam running on Linux. Here is screen shot

I want to calculate and reproduce this question  in Maple.

with(Optimization):

f := (x, y) -> op(1, NLPSolve(sin(a*x*y), a = 1 .. 5));

int(`if`(f(x, y) > 0, 1, 0), [x = 0 .. 1, y = 0 .. 1], numeric);

# 0 

,but I FAIL.

It should give me: 0.922105

 

Thanks.

I want to match   a*x^b only if "a" and "b" are both not the symbol "y"

Therefore 5*x^y should fail to match, but this below matches.

restart;
expr:=5*x^y;
if patmatch(expr,conditional(a::anything*x^(b::anything),(a<>y and b<>y)),'la') then
   print("it matched, why??");
   map(assign,la):
   print("a = ",a, " b=",b);
fi;

it gives

                      "it matched, why??"
                      "a = ", 5, " b=", y

What did I do wrong? is my conditional wrong above?

 

How I can convert Root Of to conventional form?

Thanks

root_of.mw
 

Q1 := x*(x-delta)*(1-x)*(x+y)-alpha*x*y; Q2 := beta*x*y-Zeta*y*(x+y); SOLL := solve({Q1, Q2}, {x, y})

{x = 0, y = 0}, {x = 1, y = 0}, {x = delta, y = 0}, {x = RootOf(beta*_Z^2+(-beta*delta-beta)*_Z-alpha*Zeta+alpha*beta+delta*beta), y = -RootOf(beta*_Z^2+(-beta*delta-beta)*_Z-alpha*Zeta+alpha*beta+delta*beta)*(Zeta-beta)/Zeta}

(1)

``


 

Download root_of.mw

 

If I have an expression which contains an unknown function f(t) e.g.

ex:=1+exp(f(t))*f(t+1)+f(t/2)

how do I replace it with some defined function F(t)?

Do I need to work with ::anything, i.e. something like

subs(f(t::anything)=F(t::anything),ex)

?

However this doesn't work.

I'm attempting to calculate eigenvalues of a 16 x 16 matrix (Vibronic_Model_Worksheet.mw) which contains a single variable "x".

However, this matrix contains 24 instances of imaginary numbers.

When I try to solve for any number other than x = 0, I get: "Error, (in LinearAlgebra:-Eigenvalues) expecting either Matrices of rationals, rational functions, radical functions, algebraic numbers, or algebraic functions, or Matrices of complex(numeric) values"

Eventually I want to be able to solve for multiple values of x simultaneously.

I'm still fairly new to maple, so I may have overlooked something.

Hello
What is the Problem

Hi,

Here is a set of simple instructions to illustrate the first problem :

restart:
fichier := TheNameOfSomeFile:
writeto(fichier):
printf("Hello\n"):
writeto(termional):

When executed from Maple 2015 or Maple 2016, the content of TheNameOfSomeFile is

Hello

When executed from Maple 2018 it becomes

> printf("Hello\n"):
Hello
> writeto(terminal):

 

Using interface(echo=0) changes nothing to the result obtained with Maple 2018.

Has anyone ever encountered this problem?
How can I fix it?


Thanks in advance

In Maple this works

my_list :=[1,2,3];
my_list[1]:=0;

But this does not

my_set:={1,2,3};
my_set[1]:=0;

gives error "Error, cannot reassign the entries in a set". I suppose it has to do with the fact that sets, mathematically speaking, do not have an "oder" per say? But the elements must be ordered internally as they show, right? So the first element in the set is "1" and the second element in the set is "2", etc...

Had to use the ugly and unatural notation of

my_set := subsop(1=0, my_set)

To change the element of a set. The above implifies an order as well. So why the first did not work, but the above works?

The question is why is this inconsistency of notation?   It is much more natural to write "A[i]:=something". 

If using "subsop(1=0, my_set)" is a must for some reason, then why Can't Maple make a short cut, where if a user types "A[i]:=something" where A is a "set", then it will internally get modified/replaced by "A:=subsop(i=something, A)", so that one can still use the more natural syntax instead?

But it would be better just removing this restriction of using A[i]:=something on a set.

i have a panel case here. Now I have got three 10 by10 data matrix which are x location, y location and z displacements respectively. How can i draw them into a surface plot? and 

how can i draw a displacement contour plot?

First 50 51 52 53 54 55 56 Last Page 52 of 61