Scot Gould

Scot Gould

697 Reputation

14 Badges

11 years, 82 days
Claremont McKenna, Pitzer, Scripps College
Professor of Physics
Upland, California, United States
Dr. Scot Gould is a professor of physics in the W.M. Keck Science Department of Claremont McKenna, Pitzer, and Scripps Colleges - members of The Claremont Colleges in California. He was involved in the early development of the atomic force microscope. His research has included numerous studies and experiments using scanning probe microscopes, particularly those involving natural fibers such as spider silk. More recently, he was involved in developing and sustaining AISS. This full-year multi-unit, non-traditional, interdisciplinary undergraduate science education course integrated topics from biology, chemistry, physics, mathematics, and computer science. His current interest is integrating computational topics into the physics curriculum. He teaches the use of Maple's computer algebraic and numerical systems to assist students in modeling and visualizing physical and biological systems. His Dirac-notation-based quantum mechanics course is taught solely through Maple.

MaplePrimes Activity

These are replies submitted by Scot Gould

Show your effort, and further suggestions will be made.

Of course, we are assuming the calculation are in the units of radians.

@pchin  Upvote. 

An aside. The tabs in help are a significant improvement in the help environment. My request is to provide the feature of moving the tabs around like one can in the Maple GUI and on web pages. Once the movement of help pages is doable, there will no longer be a need to use the web on a computer. (But I still do refer to them on a tablet.)

@C_R  Ah yes. If one has constraints, it increases the chances of deriving a closed-form solution. I guessed the lower bound. But there was nothing in the worksheet suggesting an upper bound. Maybe I should have used 0.9*Pi/2. 

Please note that v2023 required nearly twice as much time to calculate than v2022.2.

@C_R Both spreadsheet work. However, I do agree that if you can solve symbolically any integral, go that route first. 

Note, with the inverse function problem, i.e., the second problem, the time to calculate the g(f(0.1)) was half as much with 2022.2 vs. 2023. 



In general, I have found using the web-based help system far more useful than the help system built into Maple. One can set up a browser to load up several help pages at once in a preferential order.  At least Maplesoft has added multiple tabs in 2023. It still isn't as useful as a browser since tabs can't be moved around, but it was a major step forward. 

To see if the situation isn't just "one page" not being updated, I looked in the web-based help for two procedures and "print layout mode" which were introduced in 2022. None were there. Hence, it is highly likely the web-based help was not updated after 2021. 

@dharr @zenterix  I agree with dharr that sticking with precise values instead of approximations, i.e., floating point values, demonstrates the power of Maple.

However, there is an advantage to working with approximations. The eigenvectors will be normalized if you use floating points in your matrix. Using rational numbers, you must add a second line to normalize the eigenvectors. 

In general, I find it is best to work with precision unless the output of the deviations becomes too complex. At that point, I introduce a floating point value, and usually, the calculations are performed more quickly. 

This stems from the same warning-type bug that appears if you create a local variable within a procedure or module and the local variable is never used.  For example, in an .mpl document, create:

myproc := proc()    local x;   end proc;

--> Warning appears about the lack of using the variable with a garbage variable name

For your example, assign value to "a" and "c" each and the warning disappears. 

This bug has appeared for many versions. Apparently, it has not been fixed. 

Error, (in simplify/sqrt/fraction) invalid input: denom expects its 1st argument, x, to be of type {algebraic, list, set}, but received pascal

@mmcdara Regarding this bug if the type is a list or vector, it does not appear for either type for the 2022 and 2023 versions.

It is my experience that this behavior is not new. Nor do I expect it to disappear with the  2023 version. For me, the single most common problem with the GUI is the following: when I return to an already open session of Maple after the computer has been put to sleep and reawakened, the sub-menus do not open up. 

In the past, I would close Maple completely and re-open it. However, I've started using a new trick:  instead of closing everything, open another instance of the program, then perform some work within it, and somehow it solves the "lack of response" in the first instance. Try that method. 

I once asked the tech people about this "lack of response" or sub-menus failing to open. They said they know about these issues and attribute them to the Java API. But don't quote me. I may have misunderstood what they said. Hopefully, someone from Maplesoft can provide thoughts on this issue. 

I downloaded the file and opened it in Maple 2022.2 (Windows 10). !!! the file. The output is as expected, with no errors. I also redownloaded it and executed it one "enter command" at a time. No problems. The errors disappeared. Finally, I entered some additional commands using the Expressions Palette. Again, it worked as expected. This leads me to the following questions - which version are you using and under which OS?  

I worked with 40 students this past semester. Maple 2022.1 in the Mac OS led to a slew of weird Maple interface issues, though I don't remember any like this. Major problems that occurred were having an execution group not generating an output, and since we used worksheet mode, the enter key did not process a command in an execution group. Oddly, the fix was using the !!! button. The update to 2022.2 fixed a number of problems like this. 

I'm a big fan of the 2d-math. It sells, and it lowers the activation barrier in learning how to use Maple. However, it is my experience that the document mode should best be employed only by long-time users of Maple. By separating executable groups from text groups, the worksheet mode better labels "text" and "non-executable math" from "executable math," which means fewer misunderstandings of what the Maple document is doing. 

My guess is the problem with the names used for the rows and columns in M, is that they confuse Maple. The code is not sure what you say when you write: M[1, a].  Do you mean '1' as the first row or '1' as the row label? I read it as row 1, with the column 'a'. Hence the result of 0 makes sense.


In my experience, it is best to name the rows and columns as strings.

M := DataFrame(`<,>`(`<|>`(0, 0, 0), `<|>`(0, 1, a), `<|>`(0, a, 1)), rows = ["0", "1", "a"], columns = ["0", "1", "a"])

module DataFrame () description "two-dimensional rich data container"; local columns, rows, data, binder; option object(BaseDataObject); end module


M["1", "a"]




It may not be as convenient for you, but there is less likely a chance of confusion.



Given what you wrote above, the only other option that I can think of is the stop button on the menu bar.

@Carl Love 

Thank you for your highly informative and well-written post. As someone attempts to teach basic Maple usage to students, I will continue to refer to your work here. The Programming Manual heavily emphasizes the word "name" rather than "symbol". The word "symbol" appears precisely only twice in chapter 1 and once in chapter 2.

Decades ago when I first became aware of Maple, there was heavy use of the catenated variables. But then it fell into disfavor. Given that they are always global, I understand why now. I don't remember reading this information in the Programming Manual. Nor do I understand why the authors of Maple would adopt this policy. Regardless, major upvote.

Note, I tried to email you directly, but Google rejected my academic address. 


Sometimes I have similar goals as you, hence why I responded. If I understand what you are describing as an outcome, wouldn't the context panel satisfy your needs? See example.


(Matrix(2, 2, {(1, 1) = 1, (1, 2) = 2, (2, 1) = 2, (2, 2) = 4})).(Matrix(2, 2, {(1, 1) = 5, (1, 2) = 6, (2, 1) = 7, (2, 2) = 8})) = Matrix(%id = 36893490695607929420)NULL



5 6 7 8 9 10 11 Last Page 7 of 21