Scot Gould

Scot Gould

637 Reputation

14 Badges

12 years, 110 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

Maple 2020.1 in Windows 10 - worksheet mode. 

I tried to reproduce your situation. I wrote a do loop to print out 10,000 lines of numbers.  Yes, the scrollbar did shrink, but it never reached the microscopic size you are describing. The scrollbar was still manageable. 

For me, when the Maple output is beyond a 100 lines, I find it so extensive that it is incomprehensible.   I’m pleased how quickly ‘ctrl-d’ cleans up the mess.

 

@acer I understand your explaination and your example. I wonder how the numbers are represented in 2D-Input so that the simplification process never occurs.

Regardless, it appear that this happens, and it is an unexpected outcome. (So much for my attempt understand Carl's discussion about evalf.) Much thanks.

@Rouben Rostamian  At my institution, multiple students were suspended for a semester for receiving answers to questions like these on Chegg.   (Interestingly, it was the students who had turned in nonsensical solutions who were caught.)   

evalf[30](3^(6/5)) in Maple Input does produce all 30 digits. 

However, I may have found a possible answer from a post by @Carl Love from 5 years ago regarding the output of evalf. That is, the output of evalf is not accurate to n digits, rather that all subcomputations are performed using approximately n digits. I recongize there is a limit, but I thought 15 digits is attainable and the output shown would be to at least 15 digits, regardless of the type style of input used. Certainly, I have seen many Maple examples by Maplesoft imply evalf does produce the output of "give me the value to n digits." 

@tomleslie I noticed the units in your output are enclosed by double brackets. According to help, the double brakets were shown prior to Maple 2015. Is this the case for you because 2019, 2020, do not show double brackets? I would like them to be displayed and I can't figure out how to show them. 

Since you do have access to Maple 2020, I encourage you to look at the Maple Portal.  It has lots of great help, and is organized to assume that the person using Maple has no experience with it. I encourage you to spend time watching the very short introductory videos and clicking the numerous useful links under "How do I..." 

I assure you - it is worth the effort. (I'm guessing you are a student. My students feel sorry for the students in other could who don't spend time becoming able to implement the power of Maple.) 

@acer Yes, this clarrifies why StringBuffer is not defined as an object or Object. even though the wording in the help does tend to mix terms:

 

 

The StringBuffer constructor returns a string buffer object.

The StringBuffer object returned by the constructor is a module with six methods: clear, append, appendf, newline, space, and value.

The first line in help is basically is the same wording in the Today command, without mentioning the word module. Hence the source of confusion. 

Anyway, I'm working toward chapter 9 of the programming manual, and currently view modules as "static classes" while objects are "dynamics classes".  Your example below matches my interpretation of these ideas in an OOL. 

 

@nm I'll second your proposal of calling a method using the :- operator. It appears to be the form of some of Maple's objects (which I interprete as classes) such as StringBuffer:

with(StringTools):
s:=StringBuffer();  # Constructor
s:-append("Hello, world!");
s:-value();

 

But what one may view as methods of other objects, such as data, or time, don't follow this style. :

with(Calendar):
d := Today();  # Constructor
d:-IsWeekend(); # fails
IsWeekend(d); 

 

Is d:-IsWeekend() not a reasonable method?

Are you using the ExcelTools version of Import, i.e., ExcelTools:-Import, or the generic version of Import? Either way, I was not able to reproduce your error. 

Not sure what is going on in your worksheet since it appears to be correct. You might upload it for others to examine. Also, you I don't see which version you are using.  Regardless, it works for me.  Maybe try starting with the attached worksheet. My version is 2020, but I believe it works for several previous versions

restart; with(VectorCalculus)

v := VectorField(`<,>`(y, -x, 0), 'cartesian'[x, y, z])

Vector(3, {(1) = y, (2) = -x, (3) = 0})

(1)

SetCoordinates('cartesian'[x, y, z])

cartesian[x, y, z]

(2)

F := VectorField(`<,>`(y, -x, 0))

Vector(3, {(1) = y, (2) = -x, (3) = 0})

(3)

Curl(F)

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

(4)

``


 

Download VectorField.mw

I just want to say that I hope folks didn't read my intro as an attack on the work of @Samir Khan, but rather an opportunity to correct a common mistake in his app and introduce the modern mechanics approach, i.e., educate. (Hey, that is what educators do!). After working through the example, it became apparent that this problem has many positive qualities. Hopefully folks can use this example in advocating for the much needed paradigm shift in the pedagogy of disciplines which use applied mathematics - infusing computational algebraic and numercial systems into the educational process. 

@rameen hamood Upload a screenshot and then maybe someone could help you.

@rlopez I appreciate you taking the time to respond. Yes, this could discussion could lead to an endless morass. However, your experiences as an educator are valuable. Your comments have positively impacted my thinking. Given the goals of the students you worked with, the Context Panel appears to be a major plus.  Historically, my students have tended to work on complex problems for which I believe goes beyond the capabilities of the Context Panel. But very, very few require the type of coding capabilities that are often discussed on MaplePrimes. 

Moral of story: I agree, adopt the usage that best serves solving the types problems one faces. However, with the several types of approaches, the questions now appear to be, when and how to transition from one approach to another. And as educators, how do help others to answer these questions?    

@tomleslie  I believe I understand what you are saying, and I'm with you. His mode of Maple usage is not the one that I use or teach. Thus, I have gently suggested Paul consider other paradigms when working with Maple. I want him to enjoy the experience, and I want him to be able to solve more than a handful of one-line algebraic problems. If all he needs are answer to one line problems, he can move to Wolfram Alpha.

However, I can highly sympathize with Paul. The approach he is taking is presented by Maplesoft as the approach new users should employ. Look at the Maple Portal, which Maplesoft states as "the starting place for any Maple user." (My bolding.) The tutorials use the Context Panel, which partially produces the "pretty output" mode that you appear to question. 

While I agree Context Panel is great for the occasional user or the user who needs an operation, but can’t remember the command, in my view, relying solely on it limits the possibilities and adds difficulties to the process of working with more complex problems.  Maybe it is the best way to start. But how does one transition to a more robust approach to using Maple?

I suspect this discussion is probably best for another post. And I would be interested in any current or past thoughts by @rlopez  on these questions and approaches.

@Carl Love Given the number of topics covered, it is not surprising that my view has been lost in the process.

1) First and foremost, I am a physicist with lots of CS exposure, not a CS researcher/educator. I use, and we teach, top down thinking in physics. (It is also how I approach all research questions.) All applications of physics must be based upon physical principles. Start with the principle and then add a level of details and keep adding details until you have reached the bottom. 

2) And thus, I truly appreciate Maple’s ability to allow me to model through the top-down approach. It is my experience that once the undergraduates reach an understanding, and mode of thinking, using Maple's capabilities, they learn physics more quickly and have a richer understanding of the principles.  As a consequence, when we must move to Python and/or MATLAB, the undergraduates often become frustrated with Python's and MATLAB's bottom-up approach and the one-level evaluation limitations. Yes, it is true they could load some symbolic libraries, but, compared to working with Maple, the usage process ain't pretty.  Many undergraduates return from REUs (research-experience-for-undergraduate programs) telling me how they don't understand why their research group battles with MATLAB when the problem is more easily solved in Maple. 

3) However, since this full level evaluation does not occur in procedure, the pedagogical advantage of Maple is lost when problem solving within procedures. I understand why this is the policy – improved efficiency. And fortunately, now that I know this property of the Maple system,  before I return any of my work using a top-down approach, which is yes, less efficient, I need fully evaluate. It is not a hardship, but I wish I had been aware of this difference years ago because in the vast majority of my work with Maple, I’m expecting, and usually receiving, full evaluation with every statement. Knowing the one-level evaluation would have saved many moments of misunderstanding the reason for the outcome of my procedures. That is on me. And now I know.

4) You wrote, "I think that you've misconstrued the comment about other programming languages. In a language without symbolic variables, it's impossible for there to be any distinction between full and one-level evaluation."  What I meant was, my complaint about the lack of full evaluation capabilities in procedures is unwarranted given that virtually every other language I have used, assembly, FORTRAN (66, 77, 90), Pascal, BASIC, C, C++, Python, MATLAB (I'm sure I'm missing some), possesses only one-level evaluation.  However, it is possible to use a one-level evaluation programming language to construct a full level evaluation language which only produces numerical outcomes.  

I hope this lengthy reply provides you with some contextual understanding about a person whose experiences and approaches mimic a larger percentage of North America’s physical scientists and educators.  I certainly would not have made the effort if I didn’t value your knowledge, experience and efforts to help others here on MaplePrimes

 

First 9 10 11 12 13 14 15 Page 11 of 18