Carl Love

Carl Love

28055 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

@shatha Okay, now we're getting somewhere. You're trying to solve a system of differential equations by using the Poincare-Dulac Theorem (see this Encyclopedia of Mathematics article) to derive an iterative algorithm. I will change the title of this Question to reflect this, unless you object. Now please write your system of differential equations in standard mathematical notation and post them here.  DO NOT attempt to write them as Maple code. Then write an overview of the algorithm, in standard mathematical notation. Then write out the first several steps of the application of the algorithm to the particular system of differential equations at hand. Do not attempt to write any of this in Maple code!

You misspelled a word that I couldn't figure out. In the phrase "it is beuase deuation of dgree three", I can't figure out the word "deuation". What is it?

In your first line of code, the Matrix contains the symbol i. I can't figure out what you mean by that. Is it an integer iteration index?

Is your goal to solve a particular system of differential equations? Or is it to write a procedure to apply this Poincare-Dulac method in general?

@tomleslie You're absolutely right,Tom, about sequencing presenting a completely different situation with respect to the timings. Sorry that I forgot to include that case. Indeed, my first thought upon awakening this morning was that I had forgotten it.

This may seem counter-intuitive at first, but if you assign values to D__0 and R with assignment statements (using :=), then you guarantee that D__0 and R cannot appear in any subsequent results returned by Maple.

You are confusing moderators with administrators. You and I are both moderators. Moderators don't have the power to remove the material that you're referring to, but administrators do.

But, yes, I wholeheartedly agree that those accounts should be removed.

@vv I think that it's a (recent) bug that execution groups may have several prompts, and that it's been discussed here before. The extra prompts are very annoying when I've encountered them in others' code. I have never directly opened a .mpl file. I've always either read the file or copy-and-pasted it, so I've never experienced the problem directly.

@brian bovril I changed it to an Answer, and now you can upvote. You also have the power to change (others') Replies into Answers and do other editing.

By the way, there's also a very easy but crude way to remove the 5s: subs(5= NULL, P). Somehow this is distasteful to me, but I can't say exactly why. The (remove~)~ feels like removing the 5s with a micro-scapel controlled by a robotic arm; the subs feels like removing them with a leaf blower.

@Elisha The entire code for a for-do-od loop, including the od (or its equivalent: end do) must be in a single execution group. That means that you must use Shift-Enter rather than Enter to separate the lines of code. There should be no ">" prompt at the beginning of any line other than the first.

If you have a new algorithm (Adomian) for solving ODEs, you should compare it to the best algorithms currently in use. RK4 has been superceded (decades ago) by Runge-Kutta-Fehlberg fourth-fifth-order method (RKF45). This is what is used by default by dsolve(..., numeric) for an IVP.

@tomleslie I wouldn't call the computer-performed translation of a file from one only-readable-by-computer format to another an "update". Only the format is changed, not the content. Like, if a hardbook is released in paperback, you wouldn't call it an updated edition.

@gtbastos Why doubt? It's easily done. See help for the commands LinearAlgebra:-Modular:-RowReduce and LinearAlgebra:-Modular:-MatBasis.

@asa12 You can use sort for this purpose:

sort(Statistics:-Tally(["1","1","2","2","2","77"]), (a,b)-> lhs(a)<lhs(b));

That'll work in your Maple 12. In modern Maple, it can be simplified to

sort(Statistics:-Tally(["1","1","2","2","2","77"]), key= lhs);

Why do you want to use 4th-order Runge-Kutta (RK4) rather than any of the numerous other more-modern methods that Maple offers that have dynamic error control?

You can get RK4 via

dsolve(..., numeric, method= classical[rk4]);

The use of of the keyword static is not required. Its purpose is efficiency: Module members declared static are not copied for each instance of the object. Since their values can't change, they can always be reread from the prototype. However, it always seems that the vast majority of object members are static, so it would've been better if static were the default and some other keyword, like dynamic, were used for the object members whose values could change. The constant appearance of the word static does clutter the code.

As Acer pointed out, your original code only needed a minor correction: a definition of Point as a structured type. But if you don't use objects, then you must use with for the infix operators, which means that only one overload per infix operator can be in effect at a time, which to me is an onerous restriction.

A large part of the complexity discussed by Acer is to deal with the symbolic cases, e.g., what to do with cases like p1 + p2 where p1 is a Point but p2 is just a symbol. Keep that in mind when you're comparing this to other languages. C++ for example doesn't have native symbols; you'd need to define them as an object in their own right.

@asa12 It must be a difference in your older version of Maple. Try removing the word decimal:

sprintf("%08d", convert(StringTools:-Ord("A"), binary));

@asa12 

sprintf("%08d", convert(StringTools:-Ord("A"), binary, decimal));

@Kitonum Note that it's possible to apply a sequence of functional operators such as (min,max) as a single operator the same way that you can do with a list of functional operators such as [min,max]. For example

MinMax:= n-> (min,max)(op~(1, ifactors(n)[2]));

First 361 362 363 364 365 366 367 Last Page 363 of 709