Scot Gould

Scot Gould

542 Reputation

14 Badges

10 years, 225 days
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

@acer The first error is bizarre. 

And saying "plot(expr,x) works Ok" is completely unexpected. "expr" has to be assigned somewhere else, yes?

@acer Yes, I know MakeFunction is an alias name for unapply. Since the 2019 Maple Conference, I have been publically pushing for another name or another function to replace the "what the heck does that mean" unapply procedure. 

So, a big thumbs up to Maplesoft for adding the MakeFunction name. (I just wish the addition had been included in the "What's New" notes. I lucked out in finding out about it from a Maplesoft employee.)  And because I am so pleased about the MakeFunction procedure name, I want to ensure folks know about it. 

Unfortunately, for this post, my attempt at hyperbole-based humor was misunderstood. Maybe I should have changed the font. 

@acer What if I want to display multiple variables, each in a separate line using technique 3?  For example:

y1 = x + 1
y2 = x + 2

Currently, they come out as :

  y1 = x + 1, y2 = x + 2

@acer LOL! Just after I posted the question, I realized the 3rd way might work. The first two are not simple for me. 

I'm glad I'm not the only person who can be frustrated by Explore. It is highly useful, but occasionally it confuses me. 

@acer Lots of useful ideas here. But for my version of 2023.1, factor(expr) is sufficient. The combine procedure does nothing. 

But this post leads to the next question: why doesn't the simplify procedure work? Shouldn't it try a number of options, settling on the simplest? (Of course, how does one define "simplest.")

@dharr I can still recommend to my colleague to consider GAMMA.

@acer I suspected there was more to the situation given that in playing around I couldn't get the plot to work without the form of plotting dharr had included. 

@dharr It is also clear it is how you called the plot, which is not how I tend to plot a function. 

restart; plots:-setoptions(size = [300, 200])

"F(q):= convert(  (100*400!*(1/(100))^(q)*(1-1/(100))^((400-q)))/((400-q)!*q!)  ,GAMMA):  evalhf(F(5.1))"



Plot expression

plot(F, 0 .. 20)


Traditional method of plotting a function

plot(F(q), q = 0 .. 20)


with evalf

plot('evalf(F(q))', q = 0 .. 20)


with evalhf:

plot('evalhf(F(q))', q = 0 .. 20)





@acer  I follow what you did as alternative solutions.

I agree that both the numerator and denominator generate values that are in excess of the hardware floating point representation. But I am not quite sure I understand why it failed. Is it true that, normally, Maple uses its algorithms to derive a precise number;  then, if we use evalf, it takes that number and converts it to a floating point number? On the other hand, in making a plot, Maple calls evalhf to calculate the values to be plotted, and that is where the problem occurs? (I could not find either hardware of evalhf in the plot/details help page. I'm assuming it uses evalfh for reasons of speed.)

Hopefully, I understand correctly. This leads to the next question, is it possible to change the code for plots to ensure that all data points are returned as viable from the hardware before plotting, and if they are not, then the software version of calculating the floating point numbers occurs?

@Carl Love @dharr Thank you for the clarification. And, it appears the copy only works if prev and curr are of identical dimensions.  Educational. 

@Carl Love @dharr I'm confused by the use of the word "copy" here. Neither technique will generate a new vector, which is a copy of the other vector on my version of Maple.  The only ways that I know how to make a copy are to use "Vector(curr)" or "copy(curr)". If you have a moment, please assist me to understand.


v := <1, 2, 3>;
z[] := v[];
v[1] := 99;

Vector(3, {(1) = 1, (2) = 2, (3) = 3})


Vector(3, {(1) = 1, (2) = 2, (3) = 3})


v[1] := 99


table(%id = 36893490278911842588)


v := <1, 2, 3>;
z[1..-1] := v[1..-1];
v[1] := 99;

Vector(3, {(1) = 1, (2) = 2, (3) = 3})


Vector(3, {(1) = 1, (2) = 2, (3) = 3})


v[1] := 99


table(%id = 36893490278911834748)


z := Vector(v);

Vector(3, {(1) = 99, (2) = 2, (3) = 3})


z := copy(v)

Vector(3, {(1) = 99, (2) = 2, (3) = 3})





@Mads980h This is another reason for not keeping a copy of every single Maple file one opens. 

@C_R In Windows, the folder is under "Users/(your_name_here)/Maple/Backup"

@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.

1 2 3 4 5 6 7 Last Page 1 of 16