Carl Love

Carl Love

28045 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

Would you please show some code, preferably with some plots, that shows the behaviour that you're talking about?

@mskalsi Yes, you want a power series in xi; that makes sense. Here's an easier way:

series(%, xi);

2*P[1]*P[0]+P[2]*P[3]+P[1]+(4*P[0]*P[2]+2*P[1]^2+2*P[4]*P[5]+2*P[2])*xi+(6*P[0]*P[3]+6*P[1]*P[2]+3*P[6]*P[7]+3*P[3])*xi^2+(8*P[0]*P[4]+8*P[1]*P[3]+4*P[2]^2+4*P[8]*P[9]+4*P[4])*xi^3+(10*P[0]*P[5]+10*P[1]*P[4]+10*P[2]*P[3]+5*P[10]*P[11]+5*P[5])*xi^4+(12*P[1]*P[5]+12*P[2]*P[4]+6*P[3]^2)*xi^5+O(xi^6)

coeff(convert(%, polynom), xi, 2);

@mskalsi Sorry, I forgot that the denominators contain xi also. So the command for the coefficient of xi^2 is

coeff(eval(%, infinity= 3), xi, 2);

which returns what you have above.

Asking for the "n=2" term is still nonsense, but I gave the command for it anyway. You didn't comment on that.

@Markiyan Hirnyk The example that you present is analytic in all coordinates, so it doesn't present the problem that Mac Dude is referring to.

All the definite integrals will be done if option continuous is used:

int(exp(x^3), x= 1..2, continuous);

I've seen this bug before, for other integrands. The antiderivative that you got seems correct (I've checked it numerically and symbolically), so it can be applied to the definite integrals. The following returns unevaluated also (with or without) FTOC:

int(exp(x^3), x= 0..X) assuming X > 0;

There's a miniscule anomaly with the antiderivative: To be evaluated at 0, you need to take the limit, which is 0.

@fadhli If you can supply an algorithm, I can probably translate it into Maple. Note that I have very little knowledge of the underlying mathematics. I'm just very good at translating algorithms into Maple.

@jcrook There is a problem with your statement of the problem, in the range of theta: 0 <= theta <= Pi makes a complete loop of the curve; 0 <= theta <= 2*Pi goes around twice. It might make sense to ask what is the arc length in two revolutions, but it doesn't make sense to me to ask about the area of two revolutions.

Also, in your arc length integral formula, the derivative needs to be squared.

@raazia The roots that you seek are BesselJZeros(0,n)/R.

@Giulianot There are memory limitations also. I just killed the dsolve because it was using 9 Gig of memory, which is all that could devote to it.

Certainly the average computer these days can tolerate an uptime of a few days. Yes, you need to set it so that it doesn't turn off after a certain amount of idle time.

But I don't have much hope for your system. Like I said, dependent variables that appear in the denominators of exponents are a nasty thing.

Use Google's site operator to do a site-specific search. For example

"Maple 6..9" site:www.maplesoft.com/applications

brings up 566 hits.

@Giulianot Thanks, the system is much easier to work with now.

My suspicion is that it's just too complicated. How long have you let it run? I would let it run a few days before giving up. There are four methods available for DAEs: rkf45_dae, ck45_dae, rosenbrock_dae, or mebdfi. For example, I gave the commands:

sys:= {...your long system...}:
dsolve(sys, numeric, method= rosenbrock_dae);

and it's currently running on my machine, although I don't have a few days to devote to it.

 

@Bendesarts The table is Maple's most flexible data structure: It gives you random access to an unlimited and easily extended amount of memory, and both the indices and the entries can be anything, including sequences. There is a small performance penalty for all that flexibility. In your case, the indices are always names, there are only three memory slots used, and I guess that you'll never need to dynamically extend (enlarge) these structures.

In terms of code readability, Records allow access through the unambiguous colon-dash syntax: MyRecord:-obj. Here, obj is a constant name; it can never be something which has been assigned a value, so a reader would never have to look back for a reference to it. Records also allow access via the usual indexing syntax: MyRecord[obj]. In this case, it's possible (but a bad practice) that obj has been assigned another value.

Another reason to use Records: If you pass a bad index to a Record, then you get an error message; if you pass a bad index to a table, you don't.

@Giulianot I agree with Tom Leslie: If you use interactive (menu-based) commands, it makes your work very difficult to debug. If you were to use typed commands, it could likely be debugged in under an hour. That is, if there is in fact a bug. It could simply be that your system is too complicated to solve. Dependent variables that appear in the denominators of exponents are a fairly nasty thing.

Also, your system is visually a mess to work with, filled with numbers that are meaningless to anyone here.

Try

interface(verboseproc= 2);

before the copy.

First 371 372 373 374 375 376 377 Last Page 373 of 709