Carl Love

Carl Love

28035 Reputation

25 Badges

12 years, 322 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@jthress1 Eigenvectors are, by defintion, never the zero vector. Eigenvalues may be 0, but not eigenvectors. If we were to allow 0 as an eigenvector, then any scalar would be an eigenvalue corresponding to it.

Surely the minimal surface exists; the question is whether a formula for it is known or can be found. Can you give the catenoid's formula or a reference for it? For simplicity, just assume that one circle is the unit circle.

@Seb1123 We learn in high-school algebra that one simplifies expressions whereas one solves equations or inequalities. Maple's simplify dd the only thing that's consistent with that model: It maps itself over the two component expressions that make up your equation---the left and right sides.

(In Maple-speak, an equation (or nearly any other fragment of code) is sometimes called an expression. But that's not the way that those words are used in high-school algebra.)

@Earl The worksheet "OnionExtended" in your most-recent Reply is identical to the one from your earlier Reply.

Also, when I say "embed the executed worksheet inline in your post", I mean that the entire worksheet---all input, output, and plots---should be directly visible in the post, without needing to be downloaded.

@digerdiga When you use f2(m), it attempts to do a numeric integration with a symbolic parameter m. That's usually a bad idea, although there may be some rare cases where it's useful. The fact that you've specified numeric values for m with m= 3..10 is irrelevant because the f2(m) is evaluated before being passed to plot. This is the default order of evaluation (for almost all commands---not just plot): Evaluate the arguments first, then pass them. There are numerous ways to get around that, and you've shown one of them: procedure-form input: plot(f2, 3..10).

@Earl I attempted to run your worksheet "OnionExtended" in Maple 2018. I just used menu Edit -> Execute -> Worksheet (same thing as Ctrl+Shift+Enter from the keyboard or !!! from the toolbar). Every Onion command returns an error. I'm almost certain that this is because it is trying to use stuff from your personal library that I don't have. In particular, it is trying to use Plot3Daxes. (That's just an example; there are probably other items from your library that it's trying  to access.)

Would you please do something about that? And when you repost, please embed the executed (with the plots) worksheet inline in your post, assuming that MaplePrimes will do it (there are some worksheets that are complicated display-wise that it balks at).

Best regards,
Carl Love (posting as a MaplePrimes moderator)

@tzeng There is no difference between between assume(phi, real) and assume(phi::real). In your code you used simply phi::real rather than assume(phi::real).

I prefer the A::B syntax. It's used in many places in Maple, and it makes it clear to your readers that B is either a property (such as real) or a type (as in L::list(name)).

The A::B syntax, standing alone as in your usage phi::real, is inert. It doesn't do anything until you make it part of another command, such as an assume command.

@tomleslie I find the slideshow feature slightly useful when I'm actually giving a slideshow, with a projector and a live audience. But it does involve a great deal of preliminary work (hours) to get the sections set up just right.

@mmiller15 It has been 2-1/2 days since you posted. What's happening? I'd at least like to know whether my code is working for you. 

@maple2015 Messages about output-length limits are not errors. The result has been fully computed and can be assigned to a variable or otherwise manipulated. The message is there to warn you that you may not want the result prettyprinted on your screen. The result can be viewed in plaintext by lprint(%).

@mmiller15 To use my new code, called NCReduce (for Non-Commutative):

  1. Download the worksheet NCReduce.mw from the post above. If you've already downloaded it, please do so again, because I just updated it.
  2. The code is in a window in the worksheet called a Code Edit Region. The location of this window will probably be obvious when you open the worksheet. It's the only subwindow of the worksheet, and it appears with plaintext multicolored Maple code.
  3. Click in the window, and then right-click to bring up the context menu. Select "Execute Code".
  4. Immediately after the window, there should appear a message indicating that the default noncommutative algebra (what we have already discussed here) has been loaded. Specifically, the non-commuting symbols are u, v, w (with that being the preferred order), and the 6 transformations are Vu, vU, Wu, etc.
  5. The package has now declared these symbols as non-commutative prefixes to the Physics package, and it knows the names of the 6 transformations, and it knows which transformations correspond to which pairs of symbols; but it has done nothing else. So now you need to load Physics and do exactly what you've already been doing, except that declaring the noncommutative symbols to Physics:-Setup is optional. Specifically, you need to enter the code of the 6 transformations (exactly as you've already been doing).
  6. Set up your algebraic expressions exactly as you've already been doing.
  7. To apply the package to an expression e, simply give the command NCReduce(e).
  8. In addition to the reduced expression, there should be a message about the "Orbit length". If the code got to a point where (it thinks that) no more simplification is possible then the orbit length is 1. If the length is more than 1, that means that an infinite simplification loop has been detected with that length. (For example, if e1 simplifies to e2 and e2 simplifies to e1, then the orbit length is 2.) In that case, the first expression which is an exact duplicate of an earlier expression is returned.
  9. These messages can be turned off if desired. In any case, these messages are not part of the procedure's return value. They are only displayed as side effects.
  10. It's possible to do the setting up in steps 5 and 6 before loading NCReduce if you want. You just need to remove the restart command that's the first line in the Code Edit Region (not the restart that's the first line of the whole worksheet).

You also asked if it's possible to modify the old code to do this. No, I don't think so, because of the problem that you already pointed out. That problem shows that the algorithm needs to be fundamentally different. And, coincidentally, I already incorporated that difference without directly being aware of the need for it.

So why aren't you giving me expressions and transformations to test this on?

@mmiller15 Okay, I understand the problem that you were having with

VuReduce(v[0]2v[1]u[0]).

The problem is already fixed in the new code. The problem was that since the first pass doesn't move the first v (since it's not followed by a u), subsequent passes continue to only see that first v. The new code scans every multiplicand in every term on every pass.

@mmiller15 I just finished a package for this. It's generalized and extensible. It's built on the idea that the variables are wanted to be put into a certain order within each term---an idea that I got from one of your posts last night. I also added code to detect and break out of cycles, an idea that I mentioned yesterday.

This new code makes it easy to have any number of non-commuting symbols, and to change them, their transformer procedures, and their desired order at will.

The code is in the Code Edit Region of the attached worksheet. (To load code from a Code Edit Region, right-click in the region and select Execute Code.) I have not tested it yet because it'd be easier if you gave me some test cases. So please post your 6 transforming procedures and some test cases. The code is over 100 lines and I've used some new features of Maple 2018 that I've never used before, so it'd probably be better if I tested it, which'll only take about 15 minutes from when you post the test cases. And, as I mentioned before, this is the first time that I've used the Physics package.

NCReduce.mw

Regarding your problematic case that you just posted, or any other problems: If you want me to diagnose it, then you'll need to post a worksheet showing it!

@acer Oh, yeah, you're right. I was just judging from the way it was displayed in the post.

Anyway, if you do want it to display vertically, that can be done with display(< P1, P2 >). I can always remember the orientation when it's done in angle-bracket notation.

@Adri van der Meer

Vote up.

If you change the last line to

display(< P1 | P2 >);

then you can get side-by-side plots.

First 314 315 316 317 318 319 320 Last Page 316 of 708