5th Funky Functions: C^infinity Function.  

A function (that is not always zero),  

infinitely often differentiable,  

but the n-th derivative at zero is always zero. 

 

Consider the function g : R --> R defined by  

   g(x) = Typesetting:-mrow(Typesetting:-msup(Typesetting:-mo(     if x is not zero  

   g(x) = 0                     if x=0  .  

  

Let's look at a graph of g ...  

actually, 4 graphs of g ....  zooming in on x=0.  

> restart;
g := x -> exp(-x^(-2));
plot(g(x), x= -100 ... 100);
plot(g(x), x= -10 .. 10);
plot(g(x), x= -1 .. 1);
plot(g(x), x= -0.1 .. 0.1);

 

 

 

 

 

proc (x) options operator, arrow; exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))) end proc
Plot_2d
Plot_2d
Plot_2d
Plot_2d
 

Next let's look at:  g,  

the first derivative Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(gTypesetting:-mrow(Typesetting:-mo(of g, and  

the second derivative Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(gTypesetting:-mrow(Typesetting:-mo(of g.  

Let's first graph on the domain [-a1, +a1]  

and then zoom in on zero and  

graph on domain [-a2, a2] with  

a restricted output [-b2, +b2] for viewing purposes. 

> restart;  
a1 := 10;
a2 := 1 ;
b2 := 0.00001;
g := x -> exp(-x^(-2));
D1g := simplify(diff(g(x), x$1)) ;
D2g := simplify(diff(g(x), x$2)) ;
plot( {g(x), D1g(x), D2g(x) }  ,
      x= -a1 .. a1);
plot( {g(x), D1g(x), D2g(x) }  ,
      x= -a2 .. a2, y=-b2 .. b2);
 

 

 

 

 

 

 

 

10
1
0.1e-4
proc (x) options operator, arrow; exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))) end proc
`+`(`/`(`*`(2, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))))), `*`(`^`(x, 3))))
`+`(`-`(`/`(`*`(2, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(3, `*`(`^`(x, 2))), `-`(2))))), `*`(`^`(x, 6)))))
Plot_2d
Plot_2d
 

 

Below you can investigate  the derivatives of g:  

Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(g,     Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(g,  Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(g,   ....     Typesetting:-mrow(Typesetting:-msup(Typesetting:-mi(g,      

for your choice of "k" and "enough" .   

There is:  

1)  DerOFg = sequence of the functions:  

kth derivative of g,  (k+1)st derivative of g, ....,  

(k+ enough)th derivative of g 

3) The (enough + 1) functions above,  

all ploted on the same grid with domain [-a, a]  
and resticted output range [-b, b] .
 

 

> restart;  
k:= 17;
enough := 3;
a := .5;
b := 1;
g := x -> exp(-x^(-2));
DerOFg := [seq(simplify(diff(g(x), x$n)),
             n=k .. k+enough)];
plot(DerOFg , x= -a .. a, y=-b .. b);
 

>
 

 

 

 

 

 

 

17
3
.5
1
proc (x) options operator, arrow; exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))) end proc
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
[`+`(`/`(`*`(512, `*`(exp(`+`(`-`(`/`(1, `*`(`^`(x, 2)))))), `*`(`+`(`*`(12504636144000, `*`(`^`(x, 32))), `-`(`*`(383475508416000, `*`(`^`(x, 30)))), `*`(2659319286624000, `*`(`^`(x, 28))), `-`(`*`(7...
Plot_2d
 

>
 

 

That's all