PatrickT

Dr. Patrick T

2153 Reputation

18 Badges

16 years, 134 days

MaplePrimes Activity


These are answers submitted by PatrickT

It seems hard to find information on this, as a French speaker I thought I might better be able to trace some information on French language google, but no.

The bits and pieces I've read suggest:

First, "French curves" are indeed known as "courbes françaises" in French. By contrast, "to take the French leave" is "filer à l'anglaise." So it wasn't a given.

It's possible that French curves became known as Burmester curves, rather than the other way around. (The wikipedia page on Ludwig Burmester hints at that)

Several hypotheses are worth investigating: the curves became known as French because of some association with French mathematicians. Or the curves acquired their Frenchness because the French curves tools were manufactured in France and/or because they were used by French designers. Most of the references to the "courbes françaises" came up in relation to designing clothes (patrons). So the latter seems more likely.

I don't know. But here's an interesting page (from Switzerland):

http://www.daube.ch/docu/glossary/drawingtools.html#french_curves

In case you're wondering, this is a "French Curve" drawing tool. I remember using them in primary school in France.

I have recently received some useful tips on related questions:

http://www.mapleprimes.com/questions/125273-Dsolve-Events-How-To-Control-For-A-Sign-Change

The difference between the form [[a,b,c]] and [[a],[b],[c]] is that in the former you condition a on b and on c, while in the latter you don't condition.

I wish I could answer your other question. If you have in the meantime found an answer, I'd be grateful if you would post it here. Help on dsolve,events is currently very scant, any tips would be helpful.

it's really dsolve without the capital d.

if you google "maple help dsolve" you will get to this page:

http://www.maplesoft.com/support/help/Maple/view.aspx?path=dsolve

if you scroll down you will see a link to "numeric" which you can  click:

http://www.maplesoft.com/support/help/Maple/view.aspx?path=dsolve%2fnumeric

And there you can enter a search for "bvp" which will take you down a few lines to:

For boundary value problems (BVP), a finite difference technique with Richardson extrapolation is used (For more information, see numeric,BVP).

so if you click on the link:

http://www.maplesoft.com/support/help/Maple/view.aspx?path=dsolve%2fnumeric%2fBVP

you get a full explanation of the algorithm used.

 

 




In addition to Preben's suggestions,

I have found these help pages useful (you may well have seen them already):

http://www.maplesoft.com/support/help/Maple/view.aspx?path=plot%2faxis
http://www.maplesoft.com/support/help/Maple/view.aspx?path=plot%2ftickmarks

in particular, note the following plot options:

'axes' = box #box(ed),frame,normal

'axis' =[location=high] #high,low,origin

and also note that you can control the label fonts, the label orientations, the number of tickmarks, their positions, etc.

Your picture has a standard axis cutting at the origin together with a box around it, it looks like a mix of the normal and boxed styles in Maple. If dualaxisplot doesn't do what you want, you may need to (untested idea) create two plots and combine them with plots:-display(plot1,plot2).

A recent discussion related to plotting an ellipsoid appeared here:

http://www.mapleprimes.com/posts/122970-Random-Dots-On-An-Egg

Let me say that I'm not much of an expert in any of this and am therefore quite reluctant to giving any sort of advice. I think it would help your case if you did this: rewrite your system in a compact way using simple notation. I think others will join in the discussion if you give us a simplified copy-paste-able system. To begin with you might make some simplifying assumptions to make your system look less formidable. After you receive help on a simplified version you can build from there. To make it easier for the outsider to read you, use notation like x1(t),x2(t),x3(t) for your unknowns. Your Ns are typically multiplied by 10^-24, so yes rescale the problem and let x1:=10^24*N_in, etc. If you can find one, present a version of the system with parameter values that simplify some of the terms. In, particular your rational exponents --- make them 1/2, 1/3, etc. simple numbers to begin with. And as I said, it looks to me like you can make some simplifying changes of variables, in terms of differences in your Ns, so why don't you present those simplified equations.

What range are the variables in? Are you looking for a solution that tends to the stationary point dN/dt = 0 for N=Nin,Npump,Nout?

Your system has a critical point for Nin=Npump=Nout, but when this nearly holds your equations become nearly singular.

My strategy would have been to take initial conditions that nearly satisfy this equality Nin(0) = i, Npump(0)=i+e, Nout(0)=i-e, where e is some small constant like 1e-10, where i is some constant that makes physical sense (or you may experiment with several values of i, using seq on dsolve), and then running time backwards on your system to see where it would have been coming from in order to reach the critical point. If you can't get out of this small neighborhood by running time backwards, then maybe you can't get to it by running time forwards.

perhaps you may need to make a change of variable, it looks like x=Nout-Npump, and y=Nin-Nout are more natural variables to work with, since in this case Maple will automatically simplify some of your complicated square roots if you make assumptions on the signs of x,y, etc.

your initial conditions occur at a singularity in the system,

 

restart;


var := [`#msub(mi("N"),mo("in",fontweight = "bold"))`(t),N[pump](t),N[out](t)];


eval([sys, ics],{var[1]=0,var[2]=0,var[3]=0});

I'm a little late joining this thread, but here's a few lines one can inserted at the top of a worksheet to display no more than 3 decimals and to remove trailing zeros (all of them), it works with standard.

interface(displayprecision=3): # customize this
interface(typesetting=extended):
Typesetting:-Settings(striptrailing=true):

This would be great. A good smartphone is wide enough for an advanced calculator and a graphing device. Those already exist, but not provided by Maple.

I think it would be a great advertising ploy for maplesoft to offer a basic maple calculator, a basic grapher, and a mapleprimes applet too. With these technologies it's important to get in early...

I asked this question a short while ago, no-one from maplesoft has weighed in as far as I know.

http://www.mapleprimes.com/posts/100948-MaplePrimes-App--Mobile-Maple-Calculator

Depending on what your problem is, you could do something like this:

if there is some parameter p, such that you can solve your problem for p=p0, and p=p1, but it gets harder and harder for p=pn as n rises. For instance, p could be an exponent in your equation, some value of the boundary point, or it could be the degree of accuracy that you request in dsolve (e.g. relerr). Then you could experiment manually by measuring the time it takes to get a solution as you change your parameter by inserting the following code:

say you have p = [.1, .01, .001, .0001]

st,ba,bu := time(),kernelopts(bytesalloc),kernelopts(bytesused):
seq( dsolve
( [SYS, INI]
  , VAR
  , range = 0 .. 100
  , 'type' = numeric
  , 'relerr' = i
  , 'parameters' = [i]
), i = p );
time()-st,kernelopts(bytesalloc)-ba,kernelopts(bytesused)-bu;

where SYS is your system, INI your initial conditions, VAR your variables. This will return the time it takes, bytes allocation and bytes used. It may help in identifying the cause of your problems.

you can also instead set it up as:

  , 'relerr' = 10^(-i)

and run: seq(dsolve(), i= 1..10);

Another feature of dsolve that may be useful is the option

  , events = [ [x(t) = 0 .. 1, halt] ] 

which will halt the computation if your x goes out of the [0,1] range, say if you know in advance that your x must be within this range.

you could set it up thus

  , events = [ [x(t) = 0 .. i, halt] ]

and see whether increasing i alters performance, where you could again use seq(dsolve(), i= 1..10);

Another thing you can do is test whether increasing the range changes anything,

  , range = 0 .. i 

A few tips based on what I do with maple/standard:

1. Tools -> Options -> Display, select Input Display -> Maple Notation

2. Tools -> Options -> General, select Enable RTF copy -> Always

3.(optional) Tools -> Options -> Interface, select Default format for new worksheets -> Worksheet

Also optional, but advised, Before you copy-paste, Edit -> Remove Output -> From worksheet

should work.

just tested the link to the worksheet above and it seems to be broken, I've tried to upload again but I get an error messages, so I'll host it here temporarily:

http://ifile.it/85gbkur/Mapleprimes-CenterManifold-Debugging.mw

Copy-paste the link above into your browser path, then click on the button labeled "request download ticket", and then on the button labeled "download" which should then appear.

you may find the following recent exchange useful, especially this discussion:

http://www.mapleprimes.com/posts/119858-Faster-Than-DEplot#comment121694

http://www.mapleprimes.com/posts/119858-Faster-Than-DEplot

you have a system of 2 ODEs of 2nd order, so you need 4 conditions, not 2 as you specified.

5 6 7 8 9 10 11 Last Page 7 of 24