Carl Love

Carl Love

16959 Reputation

24 Badges

7 years, 234 days
Mt Laurel, New Jersey, United States
My name was formerly Carl Devore. I was in the PhD math program at University of Delaware until 2005. I was very active in the Maple community at that time.

MaplePrimes Activity


These are replies submitted by Carl Love

@mmcdara The first, or left, argument to mod can be almost anything, including a container. There's no need for you to use mod in prefix form, i.e., as `mod`.

@stefanv Thank you, Stefan. If something akin to what you wrote above were included in the help pages of seqadd, and mul, I'd consider the matter to be fully documented.

@radaar Thanks. I have read this book, and in my opinion it is by far the best book about Maple. Although most of this book is already incorporated into the Maple help pages (see ?ProgrammingGuide), it's much more convenient in PDF form.

@radaar What don't you understand about Kitonum's example? The f and are considered "equal" at this point, although it's difficult to say precisely what "equal" means in a Maple context. From a mathematical viewpoint, they are unquestionably equal. From Maple's viewpoint, we have

evalb(eval(f) = eval(g));
             true

But

evalb(addressof(eval(f)) = addressof(eval(g)))
             false

That shows that they are "currently" equal, but they could become unequal if they acquire different remember tables. For example, this would make them unequal:

f(3):= 7;

All of this has nothing to do with the global assignments to x and t; indeed it would all be the same even if there had been no assignments to x and t.

@radaar Yes, all that you just said is correct.

@radaar In your latest example, the first x is global (as you noted), all of the xs in ff are still a formal parameter (this time with a default value), and the x in ff(x) is an argument as well as a global. There is no connection between the formal parameter x and the other xs other than that they have names that are just coincidentally spelled the name. 

I don't know if you had any question about this example. There's not much subtlety involved here, and none of this is adequate to describe PLBVs.

@radaar The first x, in x:= 10, is a global variable (assuming that this code occurs at the top level). Any xs in procedure f are called formal parameters (because the declaration of x is in the procedure's header). This distinction between global variables and formal parameters is similar to the distinction between free and bound variables, although the latter distinction is far more subtle. The former distinction has no "gray areas".

The terms "place holder" and "dummy variable" are often used in the same contexts as local variableformal parameter, and bound variable. I prefer to not use the former terms because they're not as precisely defined. And, referring back to your original Question, none of these terms, nor any combination of them, is adequate to precisely descibe the special status of the bound variable of seqadd, or mul.

@radaar See my Answer below. There are only three commands that have this exception---seqadd, and mul---and the exception works exactly the same way in all three.

@Kitonum In most ways, but not all ways, ii can be thought of as local. A case where its status is somewhere between local and global is 

a:= ii^2; seq(a, ii= 1..5);
             1, 4, 9, 16, 25

 

@janhardo No, there is no benefit to having the inner loop. Indeed, it's very wasteful. Each statement in the inner loop is being executed 3 times for each value of i.

Show some respect for the people who read your Question. This might require some actual typing on your part. 

@mmcdara The inappropriately named command convert(..., polynom) does only one very specific thing: It converts a series representation to an ordinary algebraic expression. The most-obvious manifestation of the conversion is the absence of the series's O(...term. A better name would be convert(..., from_series).

@Carl Love I said above that you can get back up and running by doing the three simple steps Save => Close => Reopen. There are occasionally cases where that doesn't work---the Save on the menu is grayed out. Here's a simplified version of the protocol that works even in those cases (in addition to working in the original cases):

  1. Attempt to close the worksheet by using the X on the right side of its tab on the tabs bar (not the X that closes the whole Maple window!!).
  2. You'll be interupted by a Save dialog, and you accept it.
  3. Reopen the worksheet.

You'll also be interupted be the reappearance of the "Kernel Connection Lost" dialog. Just dismiss it.
 

@mmcdara The difference between in and is purely syntactic; the difference between the set and list forms is not. When there are non-syntactic differences between two forms, the brevity has nothing to do with my choice. In that case my decision is based on efficiency.

@mmcdara It's 2 fewer characters; that's the only reason.

@Earl In my Answer above, note this command

plots:-implicitplot3d~([p1,p2], -12..5, (-7..7)$2, grid= [50$3], color=~ [red, blue])

It uses elementwise operators (~) to create two implicitplot3d commands with colors matched to p1 and p2 respectively.

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