I want to find a polynomial of specified degree $ d$ defining the function $ f:[0,1]\to[0,1]$ satisfying $ f(0)=0,f(1)=1$ and $ f$ is monotonically increasing over the interval. This seems like an easy enough task especially since there’s the trivial solution $ f(x)=x^d$ , and although my code seems to work decently well for $ d=2,3$ , it takes around a minute on my machine to produce an answer for $ d=4$ and it couldn’t get anything in the time I set it running for $ d=5$ . I’m looking to test this for values of $ d$ up to $ 10^3$ and find multiple instances for $ f$ , so this is certainly not going to work. What am I doing wrong and how can I make this efficient?
Here is my code:
deg = 4;
f[x_] := Sum[Subscript[c, k] x^k, {k, 1, deg}];
FindInstance[{
f[1] == 1,
ForAll[x, 0 <= x <= 1, f'[x] >= 0]
}, Table[Subscript[c, i], {i, 1, deg}], Reals]