mmcdara

6548 Reputation

18 Badges

8 years, 97 days

MaplePrimes Activity


These are replies submitted by mmcdara

@Thomas Richard's answer, look at this file add_on.mw


What is the point in using local m?
Remove it and verify that 

for k from 1 to 4 do
    A[k] := Matrix(k, k, (i, j) -> ifelse(i + j < k + 2, add(Y[i - m + j - 1]*binomial(i - 1, m)*(-1)^m, m = 0 .. i - 1), 0));
end do

gives the expected result.

If you really want local m uses parenthesis:

for k from 1 to 4 do
    A[k] := Matrix(k, k, (i, j) -> (local m; ifelse(i + j < k + 2, add(Y[i - m + j - 1]*binomial(i - 1, m)*(-1)^m, m = 0 .. i - 1), 0)))
end do

 



It is not because the display of den1 contains terms involving t that den1 INDEED depends on t.
This is a "side effect" of simplify.
 


Functions_of_t := print~(select(has, indets(simplify(eval(den1, para), size), function), t)):
                        exp(-I exp(I t))

                            exp(I t)

                        exp(I exp(I t))

               /1   /   (1/2)  (1/2)             \\
            exp|- I \x 3      4      - 4 exp(I t)/|
               \4                                 /

               /1   /   (1/2)  (1/2)             \\
            exp|- I \x 3      4      + 4 exp(I t)/|
               \4                                 /


 Functions_of_t := select(has, indets(expand(eval(den1, para)), function), t);
                               {}


numericden_mmcdara.mw


Unfortunately a click on the button labelled "PDF" returns an error. 
For instance
PDF.js v2.6.347 (identifiant de compilation : 3be9c65f)
Message : The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream` and/or `Promise.allSettled`); please use an ES5-compatible build instead.


Are these two PDF freely avaliable?

​​​​​​​Thanks in advance

@Sotto 

I was happy it worked but i was wrong, my approach is nor reliable.
Sorry for the inconvenience

@Ariathm  @dharr

Here is a very simple version (one might say naive) of a Genetic Algorithm (GA) aimed to find the global minimum of the functional (I use @dharr's p__eng1, procedure):

Target := add((p__eng1~(C__10, C__01, kappa, X) - Y)^~2):

Running this GA several times after executing randomize() give very close graphical results... but quite different parameter solutions.

My feeling is that the best fit is not a point in R3 but more likely a surface S, or a bounded part of it, on which the value of target is almost the same.
This would not be surprising and it is even a quite common situation when you fit nonlinear models (C__01, C__10 and kappa are linked though the brown command in theprocedure below

p__eng1 := proc(C10, C01, k, lam) 
  local rval;
  if map(type, {C10, C01, k, lam}, 'numeric') <> {true} then return 'procname'(_passed) end if;
  rval := fsolve(p__3(C10,C01,k,J,lam),J=0..infinity);
  eval(p, {rr=rval, C__01=C01, C__10=C10, kappa=k, lambda=lam})
end proc:


So I guess the last results @dharr got (kappa=1000) do not mean that kappa=1000, or is even larger, but more likely that the solution point he got belongs to the surface S.
The attached file contains two almost visually indistinguishable different solutions:
 

C__10 = 1.30466308839906, C__01 = 3.64325033753373, kappa = 21.1929868963973

# and
C__10 = 1.16345754078787, C__01 =  3.53258657311166, kappa = 43.2896869568326})

 
GA.mw

 @dharr in myt last job I used to use the GlobalOptimization toolbox As it offers a geneticalgorithm I believe it would be interesting to apply it on @Ariathm's problem. Do you have it?

@acer 

It is more or less what I suspected.

@Scot Gould 

Thank you for your kind reply.

The main difficulty in writting a visuaization procedure is that you must take into account a lot of situations and likely different expectations from different users.

For the record
Unless you use a grammar of graphics this can be a really painstaking process.
To have a hint about what a grammar of graphics is you can look here ggplot.
Basically such a grammar enables building arbitrary complex graphics by assembling specialized layers each having its own corpus of commands.
Doing so is like playing Lego: for instance there is no ErrorPlot function, but elementary bricks anyone can easily assemble to get the rendering he/her wants. This is a completely different point of view than the more classical one which consists in  delivering ready-made procedures that globally satisfy everyone, but that no one will find completely satisfactory.

@acer 

And I just realized that I hardly ever look at the "Product" field.
I will try to remember that in the future.

I have just read your answer to @Sotto, why is _EnvExplicit:=true given that the coefficients of G are floating-point numbers?

(please: upload your maple worksheet by clicking on the big green arrow in the menubar above)

kernelopts(version)

`Maple 2015.2, APPLE UNIVERSAL OSX, Dec 20 2015, Build ID 1097895`

(1)

G :=  (-0.14*y^3 + 1.20000000000000*y^2 - 1.26000000000000*y + 0.200000000000000)*x^3 + (1.20*y^3 - 10.0800000000000*y^2 + 10.0800000000000*y - 1.20000000000000)*x^2 + (-8.82*y + 10.08*y^2 - 1.26*y^3)*x + 1. - 1.2*y^2 + 0.2*y^3

(-.14*y^3+1.20000000000000*y^2-1.26000000000000*y+.200000000000000)*x^3+(1.20*y^3-10.0800000000000*y^2+10.0800000000000*y-1.20000000000000)*x^2+(-8.82*y+10.08*y^2-1.26*y^3)*x+1.-1.2*y^2+.2*y^3

(2)

minimize(G, x=0..1, y=0..1);

-0.8418060571e-1

(3)

minimize(G, x=0..1, y=0..1, location)

-0.8418060571e-1, {[{x = .7061420262, y = .7061420262}, -0.8418060571e-1]}

(4)
 

 

Download minimize.mw

@imparter 

In my file I used a function which is not the one @Carl Love builds, but the purpose was only to show you how you can customize the graph Carl provides.

@Carl Love 

The first expression (ET in the sequel) of z(xi) (case a > 0) given in the paper does not verify the ode.
For a quick verification solve ode with b=c=0 to get these two solutions:

z(xi) = exp(xi*a^(1/2))/exp(_C1*a^(1/2)), 
z(xi) = exp(_C1*a^(1/2))/exp(xi*a^(1/2))

On the other side substituting  ET into the ode shows it does not verify this latter.
Check_ET.mw



Maple can produce a graphic which is quite closeto the one you display.
But this takes time and it is really for the sake of art (IMO):

Customized_graphic.mw


 

rt
pattern := "%15s":

for i from 1 to 5 do
  printf(cat(pattern$i, "\n"), "Hello"$i)
end do
          Hello
          Hello          Hello
          Hello          Hello          Hello
          Hello          Hello          Hello          Hello
          Hello          Hello          Hello          Hello          Hello

 



use the big green arrow in the menubar to upload your worksheet.

2 3 4 5 6 7 8 Last Page 4 of 138