Scot Gould

Scot Gould

747 Reputation

14 Badges

11 years, 170 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

@dharr Thank you. I try to hide most of the coding, but having Maple hide it is even better. 

If the additional procedure I am hoping could be written, it would work perfectly. 

The procedure would be something like: PrintWorksheet("filename", "PDF") 

@acer The Export and exportplot procedures are great for generating files for which each file contains, usually, one item, say a matrix or a plot.  

What I'm hoping for is to treat the worksheet as a batch file so that Maple redirects all output to a PDF.  This means I do NOT want the input code to appear in the PDF.  Currently, I must execute the worksheet and then print to a PDF using the interface. But that document includes the calls to procedures that generated the output. (I try to hide most of them as much as possible.)

An additional procedure or command would be useful. Instead of having me print to a PDF through the interface (I can't use the Export option until it gets fixed), it would be nice to generate the PDF programmatically.  My guess is what can be done through the interface should be doable programmatically. Yes?

One of Maple's best features is document generation. I use it all the time. These features would make the process even better. 

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. 

 

,fsolve_document_2022.2.mw

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

(1)

M["1", "a"]

a

(2)

 

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


Download DataFrames_question.mw

@PaulNewton

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

First 7 8 9 10 11 12 13 Last Page 9 of 23