8 years, 97 days

## Two ways...

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
```

## You have been misled by the display...

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);
{}
```

## Unfortunately a click on the button lab...

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?

## You're right...

@Sotto

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

## Optimisation of C__01, C__10, kappa....

@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?

## Thanks for the explanation....

It is more or less what I suspected.

## @Scot Gould Thank you for your kind...

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.

## ​​​​​​​You're absolutely right....

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?

## What is your Maple Version?...

 > kernelopts(version)
 (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
 (2)
 > minimize(G, x=0..1, y=0..1);
 (3)
 > minimize(G, x=0..1, y=0..1, location)
 (4)

## Yes...

@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 (...

@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

## Customized graphic only...

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

## Maybe...

```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
```